ক্ল প্রোগ্রামিং - সি++
শিক্ষক টুলবক্স
-
কার্যকলাপের রূপরেখা
-
এই অন্বেষণ শিক্ষার্থীদের V5 Clawbot এর Claw Motor এর মৌলিক প্রোগ্রামিংয়ের সাথে পরিচয় করিয়ে দেবে।
-
ক্ল মোটর প্রোগ্রামিং শেখার মাধ্যমে শিক্ষার্থীরা V5 ক্লবট কীভাবে তার পরিবেশে বস্তুগুলিকে আঁকড়ে ধরে তা সঠিকভাবে নিয়ন্ত্রণ করতে সক্ষম হয়।
V5 Clawbot উপলব্ধি করার জন্য প্রস্তুত!
এই অন্বেষণ আপনাকে কিছু দুর্দান্ত প্রকল্প তৈরি করা শুরু করতে দেবে যা বস্তুগুলিকে ধরতে V5 Clawbot-এর নখর ব্যবহার করে।
- এই অনুসন্ধানে ব্যবহৃত VEXcode V5 নির্দেশাবলীর মধ্যে রয়েছে:
- ClawMotor.setPosition(0, ডিগ্রি);
- ClawMotor.spinFor(ফরোয়ার্ড, 90, ডিগ্রী);
- ClawMotor.setTimeout (2, সেকেন্ড);
-
নির্দেশ সম্পর্কে আরও তথ্য জানতে, সহায়তা নির্বাচন করুন এবং তারপরে আরও তথ্য দেখতে একটি কমান্ডের পাশে প্রশ্ন চিহ্ন আইকনটি নির্বাচন করুন।

- আপনার প্রয়োজনীয় হার্ডওয়্যার, আপনার ইঞ্জিনিয়ারিং নোটবুক এবং VEXcode V5 ডাউনলোড করা এবং প্রস্তুত আছে তা নিশ্চিত করুন৷
| পরিমাণ | উপকরণ প্রয়োজন |
|---|---|
| 1 |
VEX V5 ক্লাসরুম স্টার্টার কিট (আপ-টু-ডেট ফার্মওয়্যার সহ) |
| 1 |
VEXcode V5 |
| ১ |
ইঞ্জিনিয়ারিং নোটবুক |
| ১ |
ক্লবট এবং অ্যাডভান্সড ট্রেনিংবট (ড্রাইভট্রেন ২-মোটর, গাইরো নেই) উদাহরণ প্রকল্প |
| ১ |
অ্যালুমিনিয়াম ক্যান |
ধাপ 1: অনুসন্ধানের জন্য প্রস্তুতি
আপনি কার্যকলাপ শুরু করার আগে, আপনি এই আইটেম প্রতিটি প্রস্তুত আছে? নিম্নলিখিত প্রতিটি পরীক্ষা করুন:
-
মোটরগুলি কি সঠিক পোর্টগুলিতে প্লাগ করা হয়েছে?
-
স্মার্ট কেবলকি সমস্ত মোটরেসম্পূর্ণরূপে ঢোকানো আছে?
-
মস্তিষ্ককিচালু আছে?
শিক্ষকদের টিপস
শিক্ষার্থীদের জন্য প্রতিটি সমস্যা সমাধানের ধাপ মডেল করুন।
ধাপ 2: একটি নতুন প্রকল্প শুরু করুন
আপনি আপনার প্রকল্প শুরু করার আগে, সঠিক টেমপ্লেট প্রকল্প নির্বাচন করুন. ক্লবট এবং অ্যাডভান্সড ট্রেনিংবট (ড্রাইভট্রেন ২-মোটর, নো গাইরো) উদাহরণ প্রকল্পটিতে ক্লবটের মোটর কনফিগারেশন রয়েছে। টেমপ্লেট ব্যবহার না করা হলে, আপনার রোবট সঠিকভাবে প্রকল্প চালাবে না।
নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
- ফাইল মেনু খুলুন।
- নির্বাচন করুনখুলুনউদাহরণ।
- Clawbot এবং Advanced TrainingBot (Drivetrain 2-motor, No Gyro) উদাহরণ প্রকল্পটি নির্বাচন করুন এবং খুলুন।
- যেহেতু আমরা ক্ল নিয়ন্ত্রণের জন্য প্রোগ্রামিং করব, তাই আপনার প্রকল্পের নাম পরিবর্তন করুনClawControl।
- আপনার প্রকল্পসংরক্ষণ করুন।
- প্রকল্পের নাম ClawControl এখন টুলবারের কেন্দ্রে উইন্ডোতে আছে তা নিশ্চিত করতে পরীক্ষা করুন।
শিক্ষকদের টিপস
- যেহেতু এটি প্রোগ্রামিং-এর সাথে একটি প্রাথমিক কার্যকলাপ, তাই শিক্ষকের পদক্ষেপগুলি মডেল করা উচিত এবং তারপর শিক্ষার্থীদের একই কার্যকলাপগুলি সম্পূর্ণ করতে বলা উচিত। এরপর শিক্ষকের উচিত শিক্ষার্থীদের উপর নজর রাখা যাতে তারা সঠিকভাবে পদক্ষেপগুলি অনুসরণ করছে কিনা তা নিশ্চিত করা যায়।
- নিশ্চিত করুন যে শিক্ষার্থীরা ফাইল মেনু থেকে "Open Examples" নির্বাচন করেছে।
- নিশ্চিত করুন যে শিক্ষার্থীরা Clawbot এবং Advanced TrainingBot (Drivetrain 2-motor, No Gyro) উদাহরণ প্রকল্পটি নির্বাচন করেছে।
আপনি শিক্ষার্থীদের বলতে পারেন যেউদাহরণপৃষ্ঠা থেকে বেছে নেওয়ার জন্য বেশ কয়েকটি নির্বাচন রয়েছে। তারা যখন অন্যান্য রোবট তৈরি এবং ব্যবহার করবে, তখন তারা বিভিন্ন টেমপ্লেট ব্যবহার করার সুযোগ পাবে। - আপনি শিক্ষার্থীদের প্রকল্পের নামের সাথে তাদের নামের আদ্যক্ষর অথবা তাদের দলের নাম যোগ করতে বলতে পারেন। আপনি যদি শিক্ষার্থীদের প্রকল্পগুলি জমা দিতে বলেন, তাহলে এটি প্রকল্পগুলিকে আলাদা করতে সাহায্য করবে।
শিক্ষক টুলবক্স
-
থামুন এবং আলোচনা করুন
VEXcode V5-এ একটি নতুন প্রকল্প শুরু করার জন্য ছাত্র দলগুলিকে যে পদক্ষেপগুলি সম্পন্ন করা হয়েছে তা পর্যালোচনা করার জন্য এটি একটি ভাল বিষয়।
ধাপ ৩: V5 ক্ল খোলার জন্য প্রোগ্রাম করুন
আমরা এখন নখর খোলার জন্য প্রোগ্রামিং শুরু করতে যাচ্ছি!
int main() {
// রোবট কনফিগারেশন শুরু করা হচ্ছে। সরান না!
vexcodeInit();
ClawMotor.setPosition(0, ডিগ্রি);
}- ক্লোর শুরুর অবস্থান নির্ধারণের জন্য প্রোগ্রামিং এরিয়ায় উপরে দেখানোClawMotor.setPosition();নির্দেশটি লিখুন।
ClawMotor.setPosition(0, ডিগ্রি);
ClawMotor.setTimeout(2, সেকেন্ড);- উপরে দেখানোClawMotor.setTimeout();নির্দেশ যোগ করুন।
- লক্ষ্য করুন যে এই নির্দেশটিClawMotor.spinFor();নির্দেশের আগে উপস্থিত হয়। এর উদ্দেশ্য হল ক্লো মোটর কতক্ষণ চলতে পারে এবং সেই সময়ের পরে এটি বন্ধ করে দেয়। সুতরাং মোটরটি পূর্ণ 60 ডিগ্রি না সরে গেলেও, প্রকল্পটি দুই সেকেন্ড পার হওয়ার পরে ক্ল মোটরটিকে বন্ধ করে দেয়।
- নিশ্চিত করুন যে সেট টাইমআউট সেট পজিশন কমান্ডের সাথে মেলে এবং সমস্ত কমান্ড কোঁকড়া বন্ধনীর মধ্যে রয়েছে।
ClawMotor.setPosition(0, ডিগ্রি);
ClawMotor.setTimeout(2, সেকেন্ড);
ClawMotor.spinFor(বিপরীত, 60, ডিগ্রী);- উপরে দেখানোClawMotor.spinFor();নির্দেশটি লিখুন যাতে নখরটি 60 ডিগ্রি খোলা যায়।
- সমস্ত উপলব্ধ প্রকল্প স্লট খুলতে বাক্সযুক্ত 1 আইকনে ক্লিক করে V5 রোবট ব্রেইনে প্রকল্পটি ডাউনলোড করা হবে এমন স্লট নির্বাচন করুন এবং পছন্দসই স্লট নির্বাচন করুন।
- আপনার কম্পিউটার বা ট্যাবলেটে রোবটটি সংযুক্ত করুন। সফল সংযোগ তৈরি হওয়ার পর টুলবারএর ব্রেন আইকনটি সবুজপরিণত হয়।
- V5 রোবট ব্রেইনে প্রকল্পটি ডাউনলোড করতে ডিভাইস তথ্য আইকনের পাশে ডাউনলোড আইকনে ক্লিক করুন।

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

এখন আপনি নখর খুলতে পারেন, আপনি এটি বন্ধ করতে চাইবেন।
- আপনার ClawControl প্রজেক্টে ফিরে যান এবং Claw Motor স্পিন 30 ডিগ্রি বন্ধ করার জন্য অতিরিক্তClawMotor.spinFor();insট্রাকশন যোগ করুন। নখরটি পথের অর্ধেক বন্ধ করা উচিত কারণ এটি মূলত 60 ডিগ্রির জন্য খোলা থাকে।
- পরীক্ষা করুন যে আপনার সংশোধিত প্রকল্পটি 60 ডিগ্রির জন্য খোলা রয়েছে এবং তারপরে আপনার ক্লা কন্ট্রোল প্রকল্পটি ডাউনলোড এবং চালানোর মাধ্যমে 30 ডিগ্রির জন্য বন্ধ হয়ে গেছে।
শিক্ষক টুলবক্স
-
সমাধান
পূর্বে, নখরটি ৬০ ডিগ্রি পর্যন্ত খোলা থাকত। সেই প্রকল্পে একটি নির্দিষ্ট মোটর টাইমআউট নির্দেশ অন্তর্ভুক্ত ছিল কারণ একটি ম্যানিপুলেটরকে পাওয়ার দেওয়ার সময় একটি টাইমআউট সেট করা একটি গুরুত্বপূর্ণ অনুশীলন যা কোনওভাবে এর চলাচলকে সীমাবদ্ধ করতে পারে। টাইমআউট সেট করলে মোটরের অপ্রয়োজনীয় ক্ষয় রোধ হয়।
এই ধাপের সমাধান নিম্নরূপ:
int main() {
// রোবট কনফিগারেশন শুরু করা হচ্ছে। সরাবেন না!
vexcodeInit();
ClawMotor.setPosition(0, degrees);
ClawMotor.setTimeout(2, seconds);
ClawMotor.spinFor(reverse, 60, degrees);
ClawMotor.spinFor(forward, 30, degrees);
}
ধাপ 5: এটি চেষ্টা করুন: একাধিক আন্দোলনের সিকোয়েন্সিং

আপনি নখর দিয়ে যা তুলেছেন তার সবই একই আকারের হবে না। গতির পরিসীমা বরাবর বিভিন্ন অবস্থানে নখর খোলার চেষ্টা করুন।
- মোটর স্পিন করুন যাতে:
- 70 ডিগ্রির জন্য খুলুন
- 20 ডিগ্রির জন্য বন্ধ করুন
- 10 ডিগ্রির জন্য খুলুন
- 30 ডিগ্রির জন্য বন্ধ করুন
- 25 ডিগ্রির জন্য বন্ধ করুন
- যদি ক্লা মোটর 0 ডিগ্রিতে শুরু হয়, তাহলে প্রকল্পের শেষে ক্ল মোটর কত ডিগ্রি খোলা থাকে?
- ক্লা মোটর বন্ধ দিয়ে শুরু করুন।
শিক্ষক টুলবক্স
-
সমাধান
এই ধাপের সমাধান নিচে উপস্থাপন করা হল।
প্রকল্পের শেষে ক্ল মোটরটি এখনও 5 ডিগ্রিতে খোলা থাকে: 70 - 20 = 50 --> 50 + 10 = 60 --> 60 - 30 => 30 - 25 = 5 ডিগ্রি।
int main() {
// রোবট কনফিগারেশন শুরু করা হচ্ছে। সরাবেন না!
vexcodeInit();
// ক্লোর বর্তমান অবস্থান শূন্য হিসেবে ধরুন
ClawMotor.setPosition(0, degrees);
// ক্লোর টাইমআউট সেট করুন
ClawMotor.setTimeout(2, seconds);
ClawMotor.spinFor(reverse, 70, degrees);
ClawMotor.spinFor(forward, 20, degrees);
ClawMotor.spinFor(reverse, 10, degrees);
ClawMotor.spinFor(forward, 30, degrees);
ClawMotor.spinFor(forward, 25, degrees);
}
ধাপ ৬: লক টাইট চ্যালেঞ্জ সম্পন্ন করা

লক টাইট চ্যালেঞ্জ
- একটি খালি 12-আউন্স অ্যালুমিনিয়াম ক্যানের পাশগুলিকে পিষে না দিয়ে ক্লোবটটিকে নিরাপদে বন্ধ করার জন্য প্রোগ্রাম করুন।
- ক্লোবটকে ক্যানের উপর ধরে রাখুন যখন এটি 45 ডিগ্রির জন্য তার হাত বাড়ায় এবং নামায়।
- ক্লবটকে তখন ক্যানটি ছেড়ে দেওয়া উচিত এবং এটি থেকে দূরে সরে যাওয়া উচিত।
- একটি খোলা নখর এবং এর মধ্যে একটি খালি ক্যান দিয়ে চ্যালেঞ্জটি শুরু করুন।
শিক্ষকদের টিপস
-
শিক্ষার্থীদের একটি খোলা নখর এবং তার ভেতরে একটি খালি ক্যান দিয়ে চ্যালেঞ্জটি শুরু করতে বলুন।
-
যদি ক্যানটি ভেঙে যায় বা নখর থেকে পড়ে যায়, তাহলে প্রকল্পটি সামঞ্জস্য করার পরে চ্যালেঞ্জটি পুনরায় শুরু করতে হবে।
শিক্ষক টুলবক্স
-
সমাধান
এখানে একটি উদাহরণ সমাধান দেওয়া হল:
int main() {
// রোবট কনফিগারেশন শুরু করা হচ্ছে। সরাবেন না!
vexcodeInit();
// ক্লের বর্তমান অবস্থান শূন্য হিসেবে ধরুন
ClawMotor.setPosition(0, degrees);
// ক্লের টাইমআউট সেট করুন
ClawMotor.setTimeout(2, seconds);
ClawMotor.spinFor(forward, 170, degrees);
ArmMotor.spinFor(forward, 45, degrees);
ArmMotor.spinFor(reverse, 45, degrees);
ClawMotor.spinFor(reverse, 150, degrees);
Drivetrain.driveFor(reverse, 150, mm);
}