পাঠ ৩: ডিস্ক তোলার জন্য সেন্সর এবং তড়িৎচুম্বক ব্যবহার করা
ইলেক্ট্রোম্যাগনেটের সাথে ডাউন আই সেন্সর ব্যবহার করা
এই পাঠে পাঠ ২-এর মতো একই চ্যালেঞ্জ সমাধানের জন্য রিপোর্ট করা সেন্সর প্রতিক্রিয়া ব্যবহার করা হবে। ভিআর রোবটটি প্রথম নীল ডিস্কটি তুলে নীল গোলকটিতে স্থানান্তর করবে।
- একটি নতুন প্রকল্প শুরু করুন এবং অনুরোধ করা হলে ডিস্ক মুভার প্লেগ্রাউন্ড নির্বাচন করুন।

-
প্রকল্পটির নাম দিন Unit8 Lesson3।

-
প্রকল্পটিতে চারটি মন্তব্য যোগ করুন। VR রোবট প্রথম ডিস্কে ড্রাইভ করার জন্য প্রয়োজনীয় প্রতিটি পদক্ষেপের জন্য মন্তব্য যোগ করুন, এটি তুলে নিন এবং এটিকে নীল লক্ষ্যে ফিরিয়ে দিন।
ডিফল্ট মেইন(): # ১। প্রথম ডিস্ক # ২-এ ড্রাইভ করুন। প্রথম ডিস্ক # ৩ তুলে নাও। লক্ষ্য # ৪-এ যান। গোলের মধ্যে ডিস্কটি ফেলে দাও। -
প্রথম মন্তব্যের নীচের ওয়ার্কস্পেসেনয় শর্ত সহ একটি while লুপ টেনে আনুন বা টাইপ করুন, যাতে আপনার প্রকল্পটি এইরকম দেখায়:
ডিফল্ট মেইন(): #১. প্রথম ডিস্কে ড্রাইভ করুন while not condition: wait(5, MSEC) # 2। প্রথম ডিস্ক # ৩ তুলে নাও। লক্ষ্য # ৪-এ যান। গোলের মধ্যে ডিস্কটি ফেলে দাও। -
down_eye.near_objectকমান্ডটি True রিপোর্ট করে যখন VR রোবটের ডাউন আই সেন্সর Disk Mover Playgroundএ একটি রঙিন ডিস্ক সনাক্ত করে। ডিস্কগুলি খেলার মাঠের মেঝেতে থাকে এবং ফ্রন্ট আই সেন্সর দ্বারা সনাক্ত করা যায় না, তাই ডাউন আই সেন্সর ডিস্কগুলি সনাক্ত করবে। while লুপের অবস্থায় down_eye.near_object কমান্ডটি টেনে আনুন অথবা টাইপ করুন, যাতে আপনার প্রকল্পের প্রথম অংশটি এরকম দেখায়:
ডিফল্ট মেইন(): #১. প্রথম ডিস্কে ড্রাইভ করুন while not down_eye.near_object(): wait(5, MSEC) -
যখন VR রোবট কোনও বস্তু সনাক্ত করতে পারে না, তখন whileলুপের ভিতরের কমান্ডগুলি চলবে। ডিস্কগুলির একটিতে পৌঁছানোর জন্য, ডিস্কটি সনাক্ত না হওয়া পর্যন্ত ভিআর রোবটটিকে এগিয়ে যেতে হবে।

-
while লুপের ভিতরে ড্রাইভ কমান্ড টেনে আনুন অথবা টাইপ করুন, যাতে প্রকল্পের প্রথম মন্তব্য বিভাগটি এইরকম দেখায়:
#1. প্রথম ডিস্কে ড্রাইভ করুন যখন down_eye.near_object(): drivetrain.drive(FORWARD) wait(5, MSEC) -
যখন একটি ডিস্ক সনাক্ত করা হয়, VR রোবটটিকে এটি বাছাই করার জন্য গাড়ি চালানো বন্ধ করতে হবে। whileলুপের বাইরে stop কমান্ড টেনে আনুন অথবা টাইপ করুন, যাতে প্রকল্পের প্রথম মন্তব্য অংশটি এরকম দেখায়:
#1. প্রথম ডিস্কে ড্রাইভ করুন যখন down_eye.near_object() নয়: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - লক্ষ্য করুন যে ড্রাইভ এবং wait কমান্ডগুলি নীচে ইন্ডেন্ট করা হয়েছে যখনলুপ হেডার, অর্থাৎ কমান্ডগুলি লুপের ভিতরে রয়েছে। ধূসর রেখাটি নির্দেশ করতে সাহায্য করতে পারে কোন কমান্ডগুলি সঠিকভাবে ইন্ডেন্ট করা হয়েছে এবং একটি লুপের ভিতরে। stop কমান্ডটি লুপ হেডারের সাথে সঙ্গতিপূর্ণ, অর্থাৎ stop কমান্ডটি লুপের বাইরে। কমান্ড সঠিকভাবে ইন্ডেন্ট করা হয়েছে তা নিশ্চিত করুন, অথবা প্রজেক্টটি আশানুরূপ নাও চলতে পারে।
-
এখন, VR রোবটকে দ্বিতীয় মন্তব্যের পরে energizeকমান্ড টেনে বা টাইপ করে ইলেক্ট্রোম্যাগনেট দিয়ে ডিস্কটি তুলতে নির্দেশ দিন, যাতে প্রকল্পের দ্বিতীয় অংশটি এইরকম দেখায়:
# 2। প্রথম ডিস্ক magnet.energize(BOOST) তুলে নাও। - খেলার মাঠের জানালাটি যদি ইতিমধ্যে খোলা না থাকে তবে তা খুলুন। নিশ্চিত করুন যেডিস্ক মুভার প্লেগ্রাউন্ডখোলে, এবং প্রকল্পটি চালান।
-
ডাউন আই সেন্সর দ্বারা প্রথম নীল ডিস্ক সনাক্ত না হওয়া পর্যন্ত ভিআর রোবট এগিয়ে যায়, গাড়ি চালানো বন্ধ করে এবং ডিস্কটি তোলার জন্য ইলেক্ট্রোম্যাগনেটকে শক্তি দেয়।

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

এই পাঠের বাকি অংশটি চালিয়ে যেতে পরবর্তী বোতামটি নির্বাচন করুন।