প্রোগ্রামিং ড্রাইভ ফরোয়ার্ড এবং রিভার্স - C++
শিক্ষক টুলবক্স
-
কার্যকলাপের রূপরেখা
এই অন্বেষণ শিক্ষার্থীদের মৌলিক ড্রাইভ ফরোয়ার্ড, রিভার্স এবং ওয়েটিং প্রোগ্রামিং আচরণের সাথে পরিচয় করিয়ে দেবে। এই মৌলিক দক্ষতাগুলি তাদের পরবর্তী কার্যকলাপে এবং এই STEM ল্যাবের শেষে স্ট্রাইক চ্যালেঞ্জে সফল হতে সাহায্য করবে, যখন তারা স্পিডবট ব্যবহার করে বোলিংয়ে প্রতিযোগিতা করবে।
V5 স্পিডবট (ড্রাইভট্রেন 2-মোটর, নো গাইরো) টেমপ্লেট প্রকল্প ব্যবহার করে শিক্ষার্থীরা কেবল একটি নির্দেশ ব্যবহার করে স্পিডবটকে প্রোগ্রাম করে এগিয়ে যেতে সক্ষম হয়।
স্পিডবোটটি সরানোর জন্য প্রস্তুত!
এই অন্বেষণ আপনাকে সহজ চলাফেরার জন্য আপনার স্পিডবোট প্রোগ্রাম করতে সক্ষম হওয়ার সরঞ্জাম দেবে । এই ক্রিয়াকলাপের শেষে, আপনি এগিয়ে, বিপরীত এবং অপেক্ষার আচরণ ব্যবহার করে বাস্কেটবল ড্রিলস চ্যালেঞ্জে অংশ নেবেন ।
শিক্ষক টুলবক্স
এখানে VEXcode V5 এর ইউজার ইন্টারফেসের একটি সারসংক্ষেপ দেওয়া হল। এই মোমেন্টাম অ্যালি স্টেম ল্যাবের কার্যকলাপের সময় শিক্ষার্থীদের এই ট্যাব/বোতামগুলির সাথে পরিচয় করিয়ে দেওয়া হবে। এই ট্যাব/বোতামগুলি সম্পর্কে আরও তথ্য প্রদানের জন্য STEM ল্যাব জুড়ে লিঙ্কগুলিও সরবরাহ করা হয়েছে।

- VEXcode V5 নির্দেশাবলী যা এই অন্বেষণে ব্যবহার করা হবে:
- Drivetrain.driveFor(1, ইঞ্চি);
- অপেক্ষা করুন(1, সেকেন্ড);
-
নির্দেশ সম্পর্কে আরও তথ্য জানতে, সহায়তা নির্বাচন করুন এবং তারপরে আরও তথ্য দেখতে একটি কমান্ডের পাশে প্রশ্ন চিহ্ন আইকনটি নির্বাচন করুন ।

- আপনার প্রয়োজনীয় হার্ডওয়্যার, আপনার ইঞ্জিনিয়ারিং নোটবুক এবং VEXcode V5 ডাউনলোড এবং প্রস্তুত রয়েছে তা নিশ্চিত করুন ।
শিক্ষকদের টিপস
যদি শিক্ষার্থীরা প্রথমবারের মতো VEXcode V5 ব্যবহার করে, তাহলে তারা এই অন্বেষণের সময় যেকোনো সময় টিউটোরিয়ালগুলি উল্লেখ করতে পারে।

| পরিমাণ | প্রয়োজনীয় উপকরণ |
|---|---|
| 1 |
স্পিডবোট রোবট |
| 1 |
চার্জ করা রোবট ব্যাটারি |
| 1 |
VEXcode V5 |
| 1 |
ইউএসবি কেবল (যদি কম্পিউটার ব্যবহার করেন) |
| 1 |
ইঞ্জিনিয়ারিং নোটবুক |
শিক্ষকদের টিপস
শিক্ষার্থীদের জন্য প্রতিটি সমস্যা সমাধানের ধাপ মডেল করুন।
ধাপ ১: অনুসন্ধানের জন্য প্রস্তুতি
আপনি ক্রিয়াকলাপ শুরু করার আগে, আপনার কাছে কি এই আইটেমগুলির প্রতিটি প্রস্তুত আছে? নিম্নলিখিতগুলির প্রতিটি পরীক্ষা করুন:
-
মোটরগুলো কি সঠিকপোর্টএ লাগানো আছে?
-
স্মার্ট কেবলকি সমস্ত মোটরেসম্পূর্ণরূপে ঢোকানো আছে?
-
মস্তিষ্ককিচালু আছে?
ধাপ ২: একটি নতুন প্রকল্প শুরু করুন
প্রকল্পটি শুরু করতে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:
-
ফাইল মেনু খুলুন এবং ওপেন উদাহরণ নির্বাচন করুন ।

-
Speedbot (Drivetrain 2-motor, No Gyro) টেমপ্লেট প্রকল্প নির্বাচন করুন এবং খুলুন । টেমপ্লেট প্রকল্পটিতে স্পিডবটেরমোটর কনফিগারেশনরয়েছে। যদি টেমপ্লেটটি ব্যবহার না করা হয়, তাহলে আপনার রোবট প্রকল্পটি সঠিকভাবে চালাবে না ।

- যেহেতু আপনি স্পিডবটকে সামনে এবং বিপরীত দিকে সরানোর কাজ করবেন, তাই আপনি আপনার প্রকল্পের নাম দেবেনড্রাইভ। প্রকল্পের নাম নির্বাচন করুন, 'ড্রাইভ'টাইপ করুন এবং তারপর 'সংরক্ষণ করুন' নির্বাচন করুন।

শিক্ষকদের টিপস
-
প্রকল্পের নামগুলিতে শব্দের মধ্যে বা পরে ফাঁকা স্থান থাকতে পারে।

- আপনি শিক্ষার্থীদের প্রকল্পের নামের সাথে তাদের নামের আদ্যক্ষর অথবা তাদের দলের নাম যোগ করতে বলতে পারেন। আপনি যদি শিক্ষার্থীদের প্রকল্পগুলি জমা দিতে বলেন, তাহলে এটি প্রকল্পগুলিকে আলাদা করতে সাহায্য করবে।
- যেহেতু এটি আপনার শিক্ষার্থীরা প্রোগ্রামিং-এর প্রথম অ্যাক্টিভিটি চেষ্টা করতে পারে, তাই আপনার পদক্ষেপগুলি মডেল করা উচিত এবং তারপরে শিক্ষার্থীদের একই অ্যাক্টিভিটিগুলি সম্পূর্ণ করতে বলা উচিত। এরপর শিক্ষকের উচিত শিক্ষার্থীদের উপর নজর রাখা যাতে তারা সঠিকভাবে পদক্ষেপগুলি অনুসরণ করছে কিনা তা নিশ্চিত করা যায়।
- নিশ্চিত করুন যে শিক্ষার্থীরা ফাইল মেনু থেকে "Open Examples" নির্বাচন করেছে।
- নিশ্চিত করুন যে শিক্ষার্থীরা স্পিডবট (ড্রাইভট্রেন ২-মোটর, নো গাইরো) টেমপ্লেট প্রকল্পটি নির্বাচন করেছে।
- আপনি শিক্ষার্থীদের বলতে পারেন যে উদাহরণ পৃষ্ঠা থেকে বেছে নেওয়ার জন্য বেশ কয়েকটি বিকল্প রয়েছে। তারা যখন অন্যান্য রোবট তৈরি এবং ব্যবহার করবে, তখন তারা বিভিন্ন টেমপ্লেট ব্যবহার করার সুযোগ পাবে।
-
টুলবারের মাঝখানে উইন্ডোতে প্রোজেক্টের নামড্রাইভআছে কিনা তা পরীক্ষা করে দেখুন।

শিক্ষক টুলবক্স
-
সংরক্ষণ প্রকল্প
-
উল্লেখ করুন যে যখন তারা প্রথম VEXcode V5 খোলে, তখন উইন্ডোটির নাম ছিল VEXcode Project। VEXcode V5 প্রথম খোলার সময় VEXcode Project হল ডিফল্ট প্রোজেক্টের নাম। একবার প্রকল্পটির নাম পরিবর্তন করে ড্রাইভ রাখা হলে এবং সংরক্ষণ করা হলে, নতুন প্রকল্পের নাম দেখানোর জন্য ডিসপ্লেটি আপডেট করা হয়েছিল। টুলবারের এই উইন্ডোটি ব্যবহার করে, শিক্ষার্থীরা সঠিক প্রকল্পটি ব্যবহার করছে কিনা তা পরীক্ষা করা সহজ।
-
শিক্ষার্থীদের বলুন যে তারা এখন তাদের প্রথম প্রকল্প শুরু করার জন্য প্রস্তুত। শিক্ষার্থীদের বুঝিয়ে বলুন যে কয়েকটি সহজ ধাপ অনুসরণ করে তারা এমন একটি প্রকল্প তৈরি এবং চালাতে সক্ষম হবে যা স্পিডবটকে এগিয়ে নিয়ে যাবে।
-
শিক্ষার্থীদের মনে করিয়ে দিন যে তারা কাজ করার সময় তাদের প্রকল্পগুলি সংরক্ষণ করে রাখে। VEX লাইব্রেরির C++ বিভাগগুলি VEXcode V5-এ সঞ্চয় অনুশীলনগুলি ব্যাখ্যা করে।
শিক্ষক টুলবক্স
-
থামুন এবং আলোচনা করুন
VEXcode V5-এ একটি নতুন প্রকল্প শুরু করার জন্য শিক্ষার্থীদের এককভাবে বা দলগতভাবে সম্পন্ন পদক্ষেপগুলি পর্যালোচনা করার জন্য এটি একটি ভাল বিষয়। শিক্ষার্থীদের তাদের দলের মধ্যে বা পুরো ক্লাসে ভাগ করে নেওয়ার আগে পৃথকভাবে চিন্তা করতে বলুন।
ধাপ ৩: এগিয়ে যান
আপনি এখন এগিয়ে যাওয়ার জন্য রোবটটি প্রোগ্রামিং শুরু করার জন্য প্রস্তুত!
-
প্রোগ্রামিং শুরু করার আগে, আমাদের একটি নির্দেশনা কী তা বুঝতে হবে । একটি নির্দেশের তিনটি অংশ রয়েছে । নির্দেশনা কী সে সম্পর্কে আরও তথ্যের জন্য, এই নিবন্ধটি দেখুন।

-
প্রকল্পে নির্দেশ যোগ করুন, যাতে আপনার প্রকল্পটি দেখতে এরকম হয়:
int main() { //রোবট কনফিগারেশন শুরু করা । মুছে ফেলবেন না! vexcodeInit(); //প্রজেক্ট কোড শুরু করুন Drivetrain.driveFor(ফরোয়ার্ড, 100, মিমি);
শিক্ষকদের টিপস
আপনি যখন নির্দেশনা টাইপ করা শুরু করবেন তখন একটি স্বয়ংক্রিয় সম্পূর্ণ ফাংশন লক্ষ্য করতে পারেন। আপনার পছন্দের নামটি নির্বাচন করতে "Up" এবং "Down" কী ব্যবহার করুন, তারপর নির্বাচন করতে আপনার কীবোর্ডে "Tab" অথবা (Enter/Return) টিপুন। এই বৈশিষ্ট্য সম্পর্কে আরও তথ্যের জন্য C++ নিবন্ধটি দেখুন।

-
রোবট ব্রেইনের আটটি উপলভ্য স্লটের মধ্যে একটি বেছে নিতে স্লট আইকনটি নির্বাচন করুন এবং স্লট 1 নির্বাচন করুন ।

-
V5 Robot Brain-এ একটি মাইক্রো USB ক্যাবল এবং পাওয়ার ব্যবহার করে কম্পিউটারে V5 Robot Brain সংযুক্ত করুন । সফল সংযোগ তৈরি হয়ে গেলে টুলবারএর ব্রেন আইকনটি সবুজহয়ে যায়।

-
মস্তিষ্কে প্রকল্পটি ডাউনলোড করতেডাউনলোডনির্বাচন করুন।

শিক্ষক টুলবক্স
-
শিক্ষার্থীদের রোবট ব্রেন থেকে USB কেবল সংযোগ বিচ্ছিন্ন করতে মনে করিয়ে দিন। কোনও প্রকল্প চালানোর সময় রোবটটিকে কম্পিউটারের সাথে সংযুক্ত রাখার ফলে রোবটটি সংযোগ কেবলটি টেনে ধরতে পারে।
শিক্ষক টুলবক্স
-
থামুন এবং আলোচনা করুন
এই প্রকল্পটি ডাউনলোড করে স্পিডবটে চালানো হলে কী ঘটবে বলে তারা মনে করে, শিক্ষার্থীদের ভবিষ্যদ্বাণী করতে বলুন। শিক্ষার্থীদের তাদের ভবিষ্যদ্বাণীগুলি তাদের ইঞ্জিনিয়ারিং নোটবুকে লিপিবদ্ধ করতে বলুন। যদি সময় থাকে, তাহলে প্রতিটি দলকে তাদের ভবিষ্যদ্বাণী ভাগ করে নিতে বলুন।
-
রোবট ব্রেনের স্ক্রিন দেখে নিশ্চিত করুন যে আপনার প্রোজেক্টেডাউনলোড হয়েছে। প্রকল্পের নাম ড্রাইভটি স্লট 1 এ তালিকাভুক্ত করা উচিত ।

শিক্ষক টুলবক্স
-
মডেল ফার্স্ট
-
সকল শিক্ষার্থীকে একসাথে চেষ্টা করার আগে ক্লাসের সামনে প্রকল্পটি মডেল করে দেখান। শিক্ষার্থীদের একটি জায়গায় জড়ো করুন এবং স্পিডবটটি মেঝেতে রাখলে নড়াচড়া করার জন্য পর্যাপ্ত জায়গা রাখুন।
-
শিক্ষার্থীদের বলুন এখন তাদের প্রকল্পটি চালানোর পালা। নিশ্চিত করুন যে তাদের একটি পরিষ্কার পথ আছে এবং কোনও স্পিডবট যেন একে অপরের সাথে ধাক্কা না খায়।
-
রোবটে প্রোজেক্টটি (C++) চালান, নিশ্চিত করুন যে প্রোজেক্টটি নির্বাচিত হয়েছে এবং তারপর রোবট ব্রেনেররানবোতাম টিপুন। আপনার প্রথম প্রকল্প তৈরির জন্য অভিনন্দন!

ধাপ ৪: বিপরীত দিকে ড্রাইভ করুন
এখন আপনি আপনার রোবটকে এগিয়ে যাওয়ার জন্য প্রোগ্রাম করেছেন, আসুন এটিকে এখন বিপরীত দিকে চালানোর জন্য প্রোগ্রাম করি ।
-
ড্রাইভ নির্দেশের প্যারামিটারটি বিপরীত দিকে পরিবর্তন করুন, তাই আপনার প্রকল্পটি দেখতে এরকম:
int main() { //রোবট কনফিগারেশন শুরু করা । মুছে ফেলবেন না! vexcodeInit(); //প্রজেক্ট কোড শুরু করুন Drivetrain.driveFor(ফরোয়ার্ড, 100, মিমি); } -
প্রকল্পের নামথেকে পরিবর্তন করে ড্রাইভথেকেএ পরিবর্তন করুন। বিপরীত।

-
একটি নতুন স্লট বেছে নিতে স্লট আইকনটি নির্বাচন করুন । স্লট নির্বাচন করুন ২.

-
প্রকল্পটি (C++এ) ডাউনলোড করুন।

-
রোবট ব্রেনের স্ক্রিন দেখে নিশ্চিত করুন যে আপনার প্রোজেক্টটি ডাউনলোড হয়েছে (C++তে)। প্রকল্পের নামবিপরীতস্লট 2-এ তালিকাভুক্ত করা উচিত।

-
রোবটে প্রোজেক্টটি (C++তে) চালান, নিশ্চিত করুন যে প্রোজেক্টটি নির্বাচিত হয়েছে এবং তারপর রোবট ব্রেনেররানবোতাম টিপুন।

শিক্ষক টুলবক্স
-
ধাপ ৪ সমাপ্তি
-
driveForকমান্ডটিforwardথেকেreverseএ পরিবর্তন করতে, কেবল প্রথম প্যারামিটারটি -100 এ পরিবর্তন করুন। এর ফলে ড্রাইভট্রেনের মোটরগুলি বিপরীত দিকে চলে যাবে।
-
মিমি সংখ্যা পরিবর্তন করা যেতে পারে, তবে এই উদাহরণের জন্য আমরা পূর্ববর্তী ধাপে সেট করা 100 মিমি রেখে দেব।
-
প্রকল্পটি চালানোর আগে তাদের রোবট ব্রেন থেকে USB কেবলটি সংযোগ বিচ্ছিন্ন করতে মনে করিয়ে দিন।
-
শিক্ষার্থীদের মনে করিয়ে দিন যে তারা কাজ করার সময় তাদের প্রকল্পগুলি সংরক্ষণ করে রাখে। VEX লাইব্রেরিতে C++ জন্য বিভাগ রয়েছে যা VEXcode V5-এ সঞ্চয় অনুশীলনগুলি ব্যাখ্যা করে।
ধাপ ৫: অপেক্ষা করুন তারপর উল্টো দিকে গাড়ি চালান
এখন যেহেতু আমরা রোবটটিকে এগিয়ে নিয়ে যাওয়ার জন্য প্রোগ্রাম করেছি এবং তারপরে বিপরীত দিকে, আমরা এখন একটি অপেক্ষার নির্দেশনা যুক্ত করতে পারি যাতে বিপরীত দিকে গাড়ি চালানোর আগে রোবটটি একটি নির্দিষ্ট পরিমাণ সময় অপেক্ষা করে ।
-
ড্রাইভ ফর কমান্ডের আগে একটি অপেক্ষার নির্দেশ যোগ করুন । নিশ্চিত করুন যে অপেক্ষাটি কমান্ডের জন্য ড্রাইভের সাথে মেলে এবং সমস্ত কমান্ডগুলি কোঁকড়ানো ব্রেসের মধ্যে রয়েছে । এটি রোবটকে বিপরীত দিকে গাড়ি চালানোর আগে তিন সেকেন্ড অপেক্ষা করতে বলে ।
অপেক্ষা করুন(3, সেকেন্ড); Drivetrain.driveFor(ফরোয়ার্ড, 100, মিমি); -
রিভার্স থেকে ওয়েট রিভার্সে পরিবর্তন করতে প্রকল্পের নাম নির্বাচন করুন।

-
একটি নতুন স্লট বেছে নিতে স্লট আইকনটি নির্বাচন করুন । স্লট নির্বাচন করুন ৩.

-
প্রকল্পটি (C++এ) ডাউনলোড করুন।

-
রোবট ব্রেনের স্ক্রিন দেখে নিশ্চিত করুন যে আপনার প্রোজেক্টটি ডাউনলোড হয়েছে (C++তে)। প্রকল্পের নাম WaitReverse স্লট 3 এ তালিকাভুক্ত করা উচিত ।

-
রোবটে প্রোজেক্টটি (C++তে) চালান, নিশ্চিত করুন যে প্রোজেক্টটি নির্বাচিত হয়েছে এবং তারপররানবোতাম টিপুন।

শিক্ষক টুলবক্স
-
ধাপ ৫ সমাপ্তি
-
অপেক্ষা কমান্ড ব্যবহার করলে প্রকল্পটি শেষ হবে না, এটি কেবল রোবোটিক চলাচলকে থামিয়ে দেবে।
-
যদি শিক্ষার্থীরা কম্পিউটার ব্যবহার করে, তাহলে প্রকল্পটি চালানোর আগে তাদের রোবট ব্রেইন থেকে USB কেবলটি সংযোগ বিচ্ছিন্ন করতে মনে করিয়ে দিন।
-
শিক্ষার্থীদের মনে করিয়ে দিন যে তারা কাজ করার সময় তাদের প্রকল্পগুলি সংরক্ষণ করে রাখে। VEX লাইব্রেরিতে C++ জন্য বিভাগ রয়েছে যা VEXcode V5-এ সঞ্চয় অনুশীলনগুলি ব্যাখ্যা করে।
ধাপ ৬: বাস্কেটবল ড্রিলস চ্যালেঞ্জ সম্পূর্ণ করুন!

বাস্কেটবল ড্রিলস চ্যালেঞ্জ লেআউট
বাস্কেটবল ড্রিলস চ্যালেঞ্জে, রোবটকে অবশ্যই বিভিন্ন দূরত্বে একাধিক লাইন নেভিগেট করতে সক্ষম হতে হবে । রোবটটি প্রারম্ভিক অবস্থান থেকে 10 সেন্টিমিটার দূরে প্রথম লাইনে এগিয়ে যাবে, 1 সেকেন্ড অপেক্ষা করবে এবং তারপরে একই লাইনে ফিরে আসবে । তারপরে রোবটটি 20 সেন্টিমিটার এগিয়ে দ্বিতীয় লাইনে গাড়ি চালিয়ে, 1 সেকেন্ড অপেক্ষা করে ক্রিয়াটি পুনরাবৃত্তি করবে এবং তারপরে মূল প্রারম্ভিক লাইনে ফিরে যাবে । রোবটটি 40 সেন্টিমিটার দূরত্বে তৃতীয় লাইনে এগিয়ে যাবে, 1 সেকেন্ড অপেক্ষা করবে এবং অবশেষে চ্যালেঞ্জটি শেষ করতে প্রারম্ভিক লাইনে ফিরে আসবে ।
রোবটটি প্রোগ্রাম করার আগে, আপনার ইঞ্জিনিয়ারিং নোটবুকে রোবটের পথ এবং আচরণের পরিকল্পনা করুন ।
বাস্কেটবল চ্যালেঞ্জ সম্পন্ন করার পর, আপনি আরও উন্নত চ্যালেঞ্জ সম্পন্ন করার জন্য অতিরিক্ত রোবট আচরণের সাথে সামনের এবং বিপরীত গতিবিধি একত্রিত করতে সক্ষম হবেন।
প্রোগ্রামিং করার সময় মনে রাখবেন যে 1 সেমি = 10 মিমি।
শিক্ষক টুলবক্স
-
থামুন এবং আলোচনা করুন
পুরো ক্লাসে আলোচনা করার আগে শিক্ষার্থীদের তাদের সমাধানগুলি জোড়ায় জোড়ায় ভাগ করে নিতে বলুন। আলোচনাটি সহজতর করার জন্য জিজ্ঞাসা করুন:
-
এই চ্যালেঞ্জটি প্রোগ্রাম করার সময় আপনি কি কোনও সমস্যার সম্মুখীন হয়েছেন?
-
তোমার প্রকল্পের উপর ভিত্তি করে তোমার রোবট কি তোমার প্রত্যাশা অনুযায়ী আচরণ করেছে? কেন অথবা কেন নয়?
-
যদি তুমি চ্যালেঞ্জটি শেষ করতে পারতে, তাহলে কি এমন কিছু ছিল যা তুমি ভিন্নভাবে করতে?
শিক্ষক টুলবক্স
-
সমাধান
int main() {
// রোবট কনফিগারেশন শুরু করা হচ্ছে। সরাবেন না!
vexcodeInit();
// প্রকল্প কোড শুরু করুন
// এগিয়ে যান 10cm
Drivetrain.driveFor(forward, 100, mm);
// অপেক্ষা করুন 1 সেকেন্ড
অপেক্ষা করুন (1, সেকেন্ড);
// শুরুর লাইনে ফিরে যান
Drivetrain.driveFor(reverse, 100, mm);
// এগিয়ে যান 20cm
Drivetrain.driveFor(forward, 200, mm);
// অপেক্ষা করুন 1 সেকেন্ড
অপেক্ষা করুন (1, সেকেন্ড);
// শুরুর লাইনে ফিরে যান
Drivetrain.driveFor(reverse, 200, mm);
// এগিয়ে যান 40cm
Drivetrain.driveFor(forward, 400, mm);
// অপেক্ষা করুন 1 সেকেন্ড
অপেক্ষা করুন (1, সেকেন্ড);
// শুরুর লাইনে ফিরে যান
Drivetrain.driveFor(reverse, 400, mm);
}