মস্তিষ্কের পর্দায় দ্বিতীয় বোতাম যুক্ত করা হচ্ছে - পাইথন
শিক্ষক টুলবক্স
-
এই কার্যকলাপের উদ্দেশ্য
এখন যেহেতু শিক্ষার্থীদের মস্তিষ্কের পর্দাকে একটি বড় বোতামের মতো ব্যবহার করার অভিজ্ঞতা আছে, তাই তারা পর্দাটিকে দুটি বোতামে পরিণত করতে পারে। এই কার্যকলাপটি শিক্ষার্থীদের শর্তসাপেক্ষ বিবৃতি এবং এর অন্তর্নিহিত যুক্তি আরও ভালভাবে পরিচালনা করার জন্য নেস্টেড if-else বিবৃতি ব্যবহারের সাথে পরিচয় করিয়ে দেবে। স্ক্রিন প্রেসের মাধ্যমে রোবটটিকে বাম বা ডানে ঘোরানোর জন্য প্রথমে শিক্ষার্থীদের প্রকল্প তৈরির নির্দেশনা দেওয়া হয়। কিন্তু, তারপর তাদের বোতামগুলি স্যুইচ করতে বলা হয় যাতে রোবটটি এখন যা বামে ঘুরিয়েছে তা ডানে ঘুরিয়ে দেয়, এবং বিপরীতভাবে।
এই কার্যকলাপে ব্যবহৃত if এবং if-else বিবৃতি বা অন্যান্য সম্পর্কে আরও তথ্যের জন্য, VEXcode V5 এর মধ্যে সহায়তা তথ্য দেখুন। এই বিল্ট-ইন সহায়তা টুল সম্পর্কে আরও তথ্যের জন্য, এই নিবন্ধটি দেখুন।
এই কার্যকলাপে আপনার শিক্ষার্থীরা কী করবে তার একটি রূপরেখা নিচে দেওয়া হল:
- StopOrDrive প্রকল্প এবং মস্তিষ্কের স্ক্রিনের লেআউট পিক্সেল আকারে পর্যালোচনা করা হচ্ছে।
- প্রোগ্রামিং এর যুক্তির মাধ্যমে পরিচালিত হয়ে একটি নতুন LeftOrRight প্রকল্প তৈরি করা।
- প্রকল্পটি এমনভাবে সংশোধন করা যাতে স্ক্রিনের বোতামগুলি বিপরীতভাবে কাজ করে।
- আপনার শেখার পরিধি বাড়ান: স্ক্রিনটিকে দুটি বোতামে বিভক্ত করুন যা টিপলে রোবটটি বাম বা ডানে ঘুরবে।
আপনার প্রয়োজনীয় হার্ডওয়্যার, আপনার ইঞ্জিনিয়ারিং নোটবুক এবং VEXcode V5 প্রস্তুত আছে তা নিশ্চিত করুন ।
| পরিমাণ | প্রয়োজনীয় উপকরণ |
|---|---|
| 1 |
VEX V5 ক্লাসরুম স্টার্টার কিট (আপ-টু-ডেট ফার্মওয়্যার সহ) |
| 1 |
VEXcode V5 (সর্বশেষ সংস্করণ, উইন্ডোজ, ম্যাকওএস) |
| 1 |
ইঞ্জিনিয়ারিং নোটবুক |
| 1 |
পূর্ববর্তী Play পৃষ্ঠা থেকে StopOrDrive প্রকল্প |
মস্তিষ্কের পর্দায় একাধিক বোতাম থাকতে পারে।
এই কার্যকলাপটি আপনাকে রোবটটিকে সামনের দিকে চালানোর এবং বাম বা ডানে ঘুরতে প্রোগ্রাম করার সুযোগ দেবে, যা মস্তিষ্কের পর্দার কোন দিকে চাপ দেওয়া হয়েছে তার উপর নির্ভর করে।
এই কার্যকলাপ চলাকালীন আপনার যে তিনটি অতিরিক্ত ধরণের কমান্ডের প্রয়োজন হবে তা হল:
- drivetrain.turn(ডান)
- সংখ্যা < 50
- brain.screen.x_position()
নির্দেশাবলী সম্পর্কে জানতে আপনি VEXcode V5 এর ভিতরে থাকা সহায়তা তথ্য ব্যবহার করতে পারেন।

ধাপ 1: স্টপঅরড্রাইভ প্রকল্পটি পর্যালোচনা করে শুরু করা যাক ।
স্টপঅরড্রাইভ প্রকল্পটি পর্যালোচনা করে শুরু করা যাক ।
StopOrDrive প্রকল্পে স্ক্রিনটি চাপলে Clawbot বন্ধ হয়ে যেত, অন্যথায় এটি সামনের দিকে এগিয়ে যেত।
পুরো স্ক্রিনটি একটি বড় বোতাম ছিল, কিন্তু এই পরবর্তী প্রকল্পে, আমরা চাই অর্ধেক স্ক্রিন একটি বোতামে এবং বাকি অর্ধেকটি অন্য বোতামে থাকবে।
# প্রজেক্ট কোড শুরু করুন
যখন সত্য:
যদি brain.screen.pressing ()
: drivetrain.stop ()
যখন brain.screen.pressing ():
wait(5, MSEC)
else:
drivetrain.drive (FORWARD)
wait(5, MSEC)স্ক্রীনকে দুটি বোতামে বিভক্ত করার জন্য, আমাদের স্ক্রিনের লেআউট সম্পর্কে আরও বুঝতে হবে ।

- লক্ষ্য করুন যে কলামের সংখ্যা বাম থেকে ডানে বৃদ্ধি পায় । কলামের সংখ্যা 48 এবং স্ক্রিনটি 480 পিক্সেল প্রশস্ত ।
- আপনার ইঞ্জিনিয়ারিং নোটবুকে লিখুন যে পর্দায় x-মান বাম থেকে ডানে পরিমাপ করা পিক্সেলের সংখ্যার সমান ।
- স্ক্রিনের কেন্দ্রের x-মান কত? এই ক্রিয়াকলাপের জন্য, আপনি কেবল এক্স-অক্ষের উপর ফোকাস করতে পারেন কারণ আপনার কেবল একটি বাম এবং ডান বোতামের প্রয়োজন ।
শিক্ষক টুলবক্স
-
উত্তর
স্ক্রিনের কেন্দ্রে x-মান পিক্সেলে স্ক্রিনের প্রস্থের অর্ধেকের সমান। তাহলে কেন্দ্রবিন্দুর x-মান হল 240। স্ক্রিনটি বাম দিকে চাপা হবে নাকি ডান দিকে, তার শর্তসাপেক্ষ প্রোগ্রাম করার জন্য শিক্ষার্থীদের এই নম্বরটির প্রয়োজন হবে। তাই নিশ্চিত করুন যে তাদের সকলের মান সঠিক কিনা।
ভবিষ্যতের দিকে তাকালে, রিথিঙ্ক বিভাগে ইউজার ইন্টারফেস চ্যালেঞ্জের জন্য শিক্ষার্থীদের স্ক্রিনে চারটি বোতাম তৈরি করার জন্য তারা যা শিখেছে তা প্রয়োগ করতে হবে। তাই এর জন্য, তাদের x- এবং y-উভয় মানই প্রয়োজন হবে।
শিক্ষকদের টিপস
আরও সহায়তার জন্য, সম্পূরক সহায়তা নিবন্ধগুলির জন্যVEX লাইব্রেরিদেখুন।
ধাপ 2: দুটি বোতামের জন্য প্রোগ্রামিং ।
- StopOrDriveLeftOrRightপ্রকল্প হিসেবে সংরক্ষণ করুন।
- নিচের প্রকল্পটি তৈরি করুন । স্ক্রীনটি চাপলে এর বাম বা ডানদিকে ক্লবট টার্ন থাকবে, এটি যে দিকে চাপানো হয় তার উপর নির্ভর করে ।
# প্রজেক্ট কোড শুরু করুন
যখন True:
if brain.screen.x_position ()
< 240: drivetrain.turn (বাম)
যখন
brain.screen.pressing ():
wait (5, MSEC)
else: drivetrain.turn (ডান)
যখন
brain.screen.pressing ():
wait (5, MSEC)
else: drivetrain.drive (এগিয়ে) wait (
5, msec)
wait(5, MSEC)- এই প্রকল্পটি কী করে তা পর্যালোচনা করা যাক।
এটি স্ক্রিনটি চাপা আছে কিনা তা পরীক্ষা করে। যদি স্ক্রিনটি না চাপা হয় তবে এটি সামনের দিকে এগিয়ে যায়, কিন্তু যদি থাকে তবে এটি স্ক্রিনটি কোথায় চাপা হয়েছে তা পরীক্ষা করে।
যদি প্রেসটি বাম দিকে থাকে (240 এর কম), তবে এটি বাম দিকে ঘুরবে। অন্যথায়, এটি সঠিক হয়ে যায় । যখন x-মান 240 এর চেয়ে বেশি হয় তখন আমাদের অন্য কোনও শর্তের প্রয়োজন হয় না কারণ এটি যদি 240 এর চেয়ে কম না হয় (বাঁদিকে ঘুরুন), তবে এটি অবশ্যই বড় হতে হবে (ডানদিকে ঘুরুন) । আমাদের চিন্তা করার জন্য কেবল দুটি বোতাম আছে।
while and waitপ্রতিটি টার্নের পরে কন্ট্রোল কমান্ডগুলি প্রকল্পটিকে অপেক্ষা করতে বাধ্য করে যতক্ষণ না স্ক্রিনটি আর চাপা না হয় এবং চালিয়ে যেতে হয়।

- এখন প্রকল্পটি সম্পন্ন হয়েছে, এটি কীভাবে কাজ করে তা পরীক্ষা করতে ডাউনলোড করুন এবং চালান ।

- কীভাবে বোতামগুলি Clawbot এর চলাচল নিয়ন্ত্রণ করে সে সম্পর্কে আপনার ইঞ্জিনিয়ারিং নোটবুকে নোট নিন ।
শিক্ষকদের টিপস
পরীক্ষা দেওয়ার সময়, শিক্ষার্থীদের বুঝতে হবে যে Clawbot-এর পিছন থেকে ব্যবহার করা হলে, ব্যবহারকারী ইন্টারফেসটি বিপরীত দিকে কাজ করে বলে মনে হয়। ব্যবহারকারীর দৃষ্টিকোণ থেকে, ক্লবটটি ব্যবহারকারীর দ্বারা চাপানো দিক থেকে মুখ ফিরিয়ে নেয়। এটি সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা নয়।
ধাপ 3: আরও ভাল ইউজার এক্সপেরিয়েন্সের জন্য প্রজেক্টটি অ্যাডজাস্ট করুন ।
এগিয়ে যাওয়ার সময় ক্লবটের পিছন থেকে স্ক্রিনের বোতামগুলি টিপুন, আপনি স্ক্রিনের ডান দিকে বাম দিকে এবং স্ক্রিনের বাম দিকে ডানদিকে ঘুরানোর জন্য টিপুন । এটি একটি ভাল ব্যবহারকারীর অভিজ্ঞতা নয় । একটি ইউজার এক্সপেরিয়েন্স হল একটি কম্পিউটার সিস্টেম নিয়ন্ত্রণ করতে একজন ব্যবহারকারী একটি ইউজার ইন্টারফেসের সাথে কতটা ভালভাবে ইন্টারঅ্যাক্ট করতে পারে । এই ল্যাবের প্রয়োগ বিভাগে ব্যবহারকারী ইন্টারফেস সম্পর্কে আরও তথ্য রয়েছে।
এই ক্ষেত্রে, ব্যবহারকারীর অভিজ্ঞতা উন্নত করার জন্য আমাদের ব্যবহারকারী ইন্টারফেস উন্নত করতে হবে।
- LeftOrRight প্রকল্পটি পর্যালোচনা করুন এবং এটি সংশোধন করুন যাতে ব্যবহারকারী ক্লবটের পিছনে থেকে বোতামগুলি টিপলে, ব্যবহারকারী স্ক্রিনের বাম দিকে টিপলে রোবটটি ডানদিকে ঘুরবে । অথবা অন্যথায়, Clawbot বাম দিকে ঘুরবে ।
# প্রজেক্ট কোড শুরু করুন
যখন True:
if brain.screen.x_position ()
< 240: drivetrain.turn (বাম)
যখন
brain.screen.pressing ():
wait (5, MSEC)
else: drivetrain.turn (ডান)
যখন
brain.screen.pressing ():
wait (5, MSEC)
else: drivetrain.drive (এগিয়ে) wait (
5, msec)
wait(5, MSEC)- আপনার ইঞ্জিনিয়ারিং নোটবুকে এই প্রকল্প এবং নথির পরিকল্পনা, পরীক্ষা এবং পুনরাবৃত্তি করুন যাতে প্রকল্পটি ক্লবোটকে স্ক্রিনের পাশে পরিণত করে যা ব্যবহারকারী ক্লবটের পিছনে থেকে টিপছে ।
শিক্ষক টুলবক্স
শিক্ষার্থীদের তাদের ইঞ্জিনিয়ারিং নোটবুকের মধ্যে প্রকল্পের এই পরিবর্তনগুলি পরিকল্পনা, পরীক্ষা এবং পরিমার্জন করা উচিত। পৃথক ইঞ্জিনিয়ারিং নোটবুক রুব্রিকের জন্য, নিম্নলিখিত লিঙ্কগুলির মধ্যে একটিতে ক্লিক করুন (Google Doc / .docx / .pdf), অথবা টিম নোটবুকের জন্য নিম্নলিখিত লিঙ্কগুলির মধ্যে একটিতে ক্লিক করুন (Google Doc / .docx / .pdf)। শিক্ষার্থীরা কাজ শুরু করার আগে তাদের স্কোরিং ব্যাখ্যা করতে ভুলবেন না।
শিক্ষক টুলবক্স
-
সমাধান
উপরে উত্থাপিত সমস্যাটি সমাধানের দুটি সম্ভাব্য উপায় রয়েছে। প্রথম উপায়টি হল নির্দেশে লেখা: LeftOrRight প্রকল্পটি পর্যালোচনা করুন এবং এটিকে সংশোধন করুন যাতে ব্যবহারকারী যখন Clawbot এর পিছনের বোতামগুলি টিপে, ব্যবহারকারী যখন স্ক্রিনের বাম দিকে টিপে তখন রোবটটি ডানদিকে ঘুরতে পারে। অন্যথায়, ক্লবটটি বাম দিকে ঘুরবে।
# প্রজেক্ট কোড শুরু করুন
while True:
যদি brain.screen.pressing():
যদি brain.screen.x_position() < 240:
drivetrain.turn(RIGHT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.turn(LEFT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)অন্য সমাধান হল অপারেটরের নির্দেশ পরিবর্তন করা যাতে x-মান 240-এর বেশি হলে, Clawbot বাম দিকে ঘুরতে পারে।
# প্রজেক্ট কোড শুরু করুন
while True:
যদি brain.screen.pressing():
যদি brain.screen.x_position() < 240:
drivetrain.turn(LEFT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.turn(RIGHT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)
আলোচনা প্রেরণা দিন
যখন x-মান 240 এর কম ছিল (স্ক্রিনের বাম দিকে) তখন শর্তসাপেক্ষ বিবৃতিটি প্রোগ্রাম করার সময় আপনাকে একটি স্থানাঙ্ক সমতল থেকে স্থানাঙ্ক ব্যবহার করতে হয়েছিল। ব্রেইন স্ক্রিনে ভিজ্যুয়াল বোতাম আঁকার জন্য, আপনাকে স্থানাঙ্ক ব্যবহার করতে হবে।
ধাপ 2 এ ফিরে যান যেখানে আপনাকে V5 রোবট ব্রেইন স্ক্রিনের স্থানাঙ্ক দেখানো হয়েছিল।

প্রশ্ন:পর্দার ডান প্রান্তে x-মান কত?
উত্তর:বাম প্রান্তে x-মান ০ থেকে ডান প্রান্তে ৪৮০ পর্যন্ত বৃদ্ধি পায়।
প্রশ্ন:তাহলে x-মানের পরিসর ৪৮০ (০ থেকে ৪৮০)। y-মানের পরিসর কত?
A:y-মানের পরিসর হল 240 (0 থেকে 240)।
প্রশ্ন:এই স্থানাঙ্ক সমতলের উৎপত্তিস্থল (0, 0) কোথায়?
A:উৎপত্তিস্থলটি উপরের বাম দিকে অবস্থিত।
প্রশ্ন:যখন y-মান 0 এর সমান হয় তখন আপনি পর্দার শীর্ষে থাকেন। এটা অস্বাভাবিক কেন?
A:সাধারণত, উপরের দিকে যাওয়ার সাথে সাথে y-মান বৃদ্ধি পায় কিন্তু V5 স্ক্রিনে, নীচের দিকে যাওয়ার সাথে সাথে y-মান বৃদ্ধি পায়। কিন্তু আপনি এটিকে পর্দার উপরের বাম দিকের উৎপত্তি (0, 0) থেকে দূরে সরে যাওয়ার সাথে সাথে y-মান বৃদ্ধি পাওয়ার কথা ভাবতে পারেন।
তোমার শেখার পরিধি বাড়াও
রিথিঙ্ক বিভাগের ইউজার ইন্টারফেস চ্যালেঞ্জে, শিক্ষার্থীদের এমন একটি প্রকল্প তৈরি করতে বলা হবে যা ক্লবটের নখর এবং বাহু নিয়ন্ত্রণ করার জন্য স্ক্রিনে চারটি বোতাম তৈরি করে। সেই চ্যালেঞ্জের জন্য, তাদের স্ক্রিনে সেই চারটি বোতাম দেখাতে বলা হয়। এই "Extend Your Learning", আগের পৃষ্ঠার মতো, তাদের সেই চ্যালেঞ্জের জন্য প্রস্তুত করতে সাহায্য করবে কারণ চ্যালেঞ্জটিতে প্রোগ্রাম করার জন্য চারটি বোতাম রয়েছে, এবং এতে মাত্র দুটি রয়েছে।
শিক্ষার্থীদের প্রোগ্রামে একটি ইভেন্ট যোগ করতে বলুন যাতে প্রকল্পটি চলাকালীন স্ক্রিনে দুটি দৃশ্যমান বোতাম দেখা যায়। ইভেন্ট সম্পর্কে তথ্যের জন্য, বিশেষ করেdraw rectangleকমান্ডের তথ্যের জন্য শিক্ষার্থীদের VEXcode V5-এর সাহায্য বৈশিষ্ট্যটি ব্যবহার করার পরামর্শ দিন। draw rectangle কমান্ড ব্যবহার করার সময় পিক্সেলের সংখ্যার উপর ভিত্তি করে মস্তিষ্কের পর্দা কীভাবে একটি স্থানাঙ্ক ব্যবস্থায় সংগঠিত হয় তা পর্যালোচনা করতে শিক্ষার্থীদের নির্দেশ দিন। সেই কমান্ডের মধ্যে প্যারামিটার সেট করার জন্য তাদের এটি বুঝতে হবে। উপরন্তু, তাদের বুঝতে হবে কিভাবে ইভেন্ট সম্প্রচার করতে হয়। এই ক্ষেত্রে, ইভেন্টটি হল বোতাম আঁকা।
শিক্ষার্থীদের তাদের ইঞ্জিনিয়ারিং নোটবুকের মধ্যে প্রকল্পের এই পরিবর্তনগুলি পরিকল্পনা, পরীক্ষা এবং পরিমার্জন করা উচিত। পৃথক ইঞ্জিনিয়ারিং নোটবুক রুব্রিকের জন্য, নিম্নলিখিত লিঙ্কগুলির মধ্যে একটিতে ক্লিক করুন (Google Doc / .docx / .pdf), অথবা টিম নোটবুকের জন্য নিম্নলিখিত লিঙ্কগুলির মধ্যে একটিতে ক্লিক করুন (Google Doc / .docx / .pdf)।
এখানে একটি উদাহরণ সমাধান দেওয়া হল:
# প্রকল্প কোড শুরু করুন
screen_buttons = Event()
def has_screen_buttons():
brain.screen.set_fill_color(Color.GREEN)
brain.screen.draw_rectangle(0, 0, 240, 120)
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(240, 0, 480, 120)
brain.screen.set_fill_color(Color.ORANGE)
brain.screen.draw_rectangle(0, 120, 240, 240)
brain.screen.set_fill_color(Color.CYAN)
brain.screen.draw_rectangle(240, 120, 480, 240)
wait(1, SECONDS)
screen_buttons(has_screen_buttons)
while সত্য:
screen_buttons.broadcast()
যদি brain.screen.pressing():
যদি brain.screen.x_position() <
যদি brain.screen.y_position() ১৬টি যদি brain.screen.y_position() <
brain.screen.y_position()
টি যদি
টি যদি claw_motor.spin(FORWARD) ২০টি যখন brain.screen.pressing(): ২১টি অপেক্ষা(5, MSEC)
যদি else:
claw_motor.spin(REVERSE)
যদি brain.screen.y_position() < যদি 120
arm_motor.spin(FORWARD)
যখন brain.screen.pressing():
wait(5, MSEC)
যদি
arm_motor.spin(REVERSE)
যখন brain.screen.pressing():
অপেক্ষা করুন (৫, এমএসইসি)
ক্লো_মোটর.স্টপ()
আর্ম_মোটর.স্টপ()
অপেক্ষা করুন (৫, এমএসইসি)অতিরিক্ত পেশাগত বাস্তবসম্মত অভিজ্ঞতার জন্য, শিক্ষার্থীদের তাদের সহপাঠীদের কাছ থেকে তাদের দুটি রঙের পছন্দ সম্পর্কে প্রতিক্রিয়া জানতে বলুন।
নির্বাচিত রঙগুলি কি আপনাকে ইন্টারফেসটি ব্যবহার করতে আগ্রহী করে তোলে, অথবা ব্যবহারকারী হিসেবে তারা কোন রঙগুলি পছন্দ করবে?
একটি দুর্দান্ত ইউজার ইন্টারফেস তৈরির অংশ হল ব্যবহারকারীর অভিজ্ঞতা সম্পর্কে তথ্য সংগ্রহ করা, এমনকি নান্দনিক পছন্দগুলিও।