هيلو، حبر! اسان اڳ ۾ ئي LEGO MINDSTORMS Education EV3 پليٽ فارم بابت. هن پليٽ فارم جا بنيادي مقصد عملي مثالن ذريعي سکيا آهن، STEAM صلاحيتن کي ترقي ڪرڻ ۽ هڪ انجنيئرنگ ذهنيت کي ترقي ڪندي. اهو ليبارٽري جي ڪم لاءِ استعمال ڪري سگهجي ٿو ميڪنڪس ۽ متحرڪات جو مطالعو ڪرڻ لاءِ. ليبارٽري بينچن مان ٺهيل LEGO برڪس ۽ ڊيٽا جي رڪارڊنگ ۽ پروسيسنگ لاءِ يوٽيلٽيز تجربن کي اڃا به وڌيڪ دلچسپ ۽ بصري بڻائين ٿيون ۽ ٻارن کي فزڪس کي بهتر سمجهڻ ۾ مدد ڏين ٿيون. مثال طور، شاگرد پگھلڻ واري نقطي جي ڊيٽا گڏ ڪري سگھن ٿا ۽ ان کي منظم ڪرڻ لاءِ ايپ استعمال ڪري سگھن ٿا ۽ ان کي گراف ۾ پيش ڪري سگھن ٿا. پر هي صرف شروعات آهي: اڄ اسين توهان کي ٻڌائينداسين ته ڪيئن هن سيٽ کي MicroPython پروگرامنگ ماحول سان پورو ڪجي ۽ ان کي روبوٽڪس سيکارڻ لاءِ استعمال ڪجي.

EV3 استعمال ڪندي پروگرامنگ سکو
جديد اسڪول جا ٻار رنگين نتيجا ڏسڻ چاهين ٿا. ها، اهي بور ٿي ويا آهن جيڪڏهن پروگرام ڪنسول تي نمبرن کي پرنٽ ڪري، ۽ اهي ڏسڻ چاهين ٿا رنگ گرافڪس، ڊاگرام ۽ حقيقي روبوٽ ٺاهڻ جيڪي حڪمن کي منتقل ڪن ۽ پيروي ڪن. باقاعده ڪوڊ پڻ ٻارن لاء تمام پيچيده لڳي ٿو، تنهنڪري اهو بهتر آهي ته ڪجهه آسانيء سان سکڻ شروع ڪيو وڃي.
بنيادي EV3 پروگرامنگ ماحول LabVIEW گرافڪ ٻولي تي ٻڌل آهي ۽ توهان کي روبوٽ لاءِ بصري طور تي الگورتھم بيان ڪرڻ جي اجازت ڏئي ٿي: ڪمانڊ بلاڪ جي صورت ۾ پيش ڪيا ويا آهن جن کي ڇڪي سگھجي ٿو ۽ ڳنڍجي سگھجي ٿو.

اهو طريقو سٺو ڪم ڪري ٿو جڏهن توهان کي اهو ڏيکارڻ جي ضرورت آهي ته الورورٿم ڪيئن ٺهيل آهن، پر اهو پروگرامن لاء مناسب ناهي بلاڪ جي وڏي تعداد سان. جيئن ته منظرنامو وڌيڪ پيچيده ٿي ويندو آهي، اهو ضروري آهي ته ڪوڊ سان پروگرامنگ ڏانهن وڃو، پر ٻارن لاء اهو قدم کڻڻ ڏکيو آهي.
هتي ڪجھ چالون آهن، جن مان هڪ اهو آهي ته ڪوڊ ساڳيو ڪم ڪري ٿو بلاڪ وانگر. EV3 ماحول ۾، اهو MicroPython انٽيگريشن ذريعي ممڪن آهي، تنهنڪري ٻار هڪ ئي پروگرام ٺاهي سگهن ٿا ٻنهي بنيادي بلاڪ پروگرامنگ ماحول ۾ ۽ Python Microsoft جي Visual Studio Code ۾. اهي ڏسندا آهن ته ٻئي طريقا ساڳيا ڪم ڪن ٿا، پر ڪوڊ استعمال ڪندي پيچيده مسئلا حل ڪرڻ وڌيڪ آسان آهي.
مٽائيندي MicroPython ڏانهن
EV3 ماحول هڪ ARM9 پروسيسر تي ٺهيل آهي، ۽ ڊولپرز ڄاڻي واڻي فن تعمير کي کليل ڇڏي ڏنو. اهو حل اهو ممڪن ڪيو ته متبادل firmware کي رول ڪرڻ، جن مان هڪ MicroPython سان ڪم ڪرڻ لاء هڪ تصوير هئي. اهو توهان کي توهان جي EV3 کي پروگرام ڪرڻ لاءِ پٿون استعمال ڪرڻ جي اجازت ڏئي ٿو، کٽ کي حقيقي زندگيءَ جي ڪمن جي به ويجهو آڻي ٿو.
شروع ڪرڻ لاء، توهان کي ڊائون لوڊ ڪرڻ جي ضرورت آهي ڪنهن به microSD ڪارڊ تي، ان کي EV3 مائڪرو ڪمپيوٽر ۾ انسٽال ڪريو ۽ ان کي آن ڪريو. پوء توهان کي انسٽال ڪرڻ جي ضرورت آهي بصري اسٽوڊيو لاء. ۽ توهان ڪم شروع ڪري سگهو ٿا.
MycroPython ۾ پهريون روبوٽ پروگرامنگ

اسان تي روبوٽڪس جي بنيادي تصورن تي عبور حاصل ڪرڻ لاءِ ڪيترائي سبق آهن. EV3 ماڊل ٻارن کي بنيادي طور تي متعارف ڪرايون ٿا جيڪي خود ڊرائيونگ ڪارن، فيڪٽري اسيمبلي روبوٽس، ۽ CNC مشينن ۾ استعمال ٿين ٿيون.
اسان هڪ ڊرائنگ مشين جو مثال ڏينداسين، جنهن ۾ نمونن ۽ جاميٽري شڪلون ٺاهڻ سيکاريون وينديون. هي ڪيس بالغن جي ويلڊنگ يا ملنگ روبوٽس جو هڪ آسان نسخو آهي ۽ ڏيکاري ٿو ته ڪيئن EV3 کي MicroPython سان گڏ اسڪول جي ٻارن کي سيکارڻ لاءِ استعمال ڪري سگهجي ٿو. ۽ هڪ ڊرائنگ مشين پيءُ لاءِ پرنٽ ٿيل سرڪٽ بورڊ ۾ سوراخ نشان لڳائي سگهي ٿي، پر اها هڪ ٻي سطح آهي جيڪا رياضي جي ضرورت آهي.
ڪم لاءِ ، اسان کي گهرجي:
- LEGO MINDSTORMS تعليم EV3 ڪور سيٽ؛
- چيڪ ٿيل ڪاغذ جي وڏي شيٽ؛
- رنگن جا نشان.
روبوٽ جي اسيمبلي پاڻ ۾ آهي ، ۽ اسان هڪ پروگرامنگ مثال تي نظر ڪنداسين.
پهرين اسان EV3 ماڊل لائبريري کي شروع ڪريون ٿا:
#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, GyroSensor)
from pybricks.parameters import Port, Stop, Direction, Color, ImageFile
from pybricks.tools import wait
اسان هڪ پليٽ فارم قائم ڪيو جيڪو بندرگاهن B ۾ موٽر وانگر هينڊل کي گھمائي ٿو. اسان هڪ ٻن اسٽيج گيئر ٽرين جي گيئر تناسب کي ترتيب ڏيون ٿا 20-12-28 جي ڏندن سان.
turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])
اسان بندرگاهه سي ۾ موٽر جي طور تي هينڊل لاءِ کڻڻ واري ميڪانيزم کي ترتيب ڏيون ٿا:
seesaw_motor = Motor(Port.C)
اسان گريروسڪوپ کي ترتيب ڏيو ٿا، جيڪو 2 ۾ بندرگاهن جي ٿلهي جي زاوي کي ماپ ڪري ٿو:
gyro_sensor = GyroSensor(Port.S2)
اسان پورٽ 3 ۾ رنگ سينسر ترتيب ڏيو ٿا. سينسر ڊرائنگ مشين جي هيٺان اڇو پيپر ڳولڻ لاء استعمال ڪيو ويندو آهي:
color_sensor = ColorSensor(Port.S3)
اسان ٽچ سينسر کي پورٽ 4 ۾ ترتيب ڏيون ٿا. جڏهن سينسر کي دٻايو ويندو آهي ته روبوٽ ڊرائنگ شروع ڪندو آهي:
touch_sensor = TouchSensor(Port.S4)
اسان انهن ڪمن کي بيان ڪريون ٿا جيڪي هينڊل کي بلند ۽ گهٽ ڪن ٿا:
def pen_holder_raise():
seesaw_motor.run_target(50, 25, Stop.HOLD)
wait(1000)
def pen_holder_lower():
seesaw_motor.run_target(50, 0, Stop.HOLD)
wait(1000)
اسان هينڊل کي هڪ ڏنل زاويه يا ڪنهن خاص زاوي ڏانهن گھمڻ لاءِ هڪ فنڪشن جي وضاحت ڪريون ٿا:
def pen_holder_turn_to(target_angle):
if target_angle > gyro_sensor.angle():
جيڪڏهن ٽارگيٽ زاويه موجوده گيرو سينسر زاوي کان وڌيڪ آهي، مثبت رفتار سان ڪلاڪ جي طرف جاري رکو:
turntable_motor.run(70)
while gyro_sensor.angle() < target_angle:
pass
elif target_angle < gyro_sensor.angle():
جيڪڏھن ھدف جو زاويو موجوده گيرو سينسر کان گھٽ آھي، ته پوءِ گھڙيءَ جي وار وار ھلايو:
turntable_motor.run(-70)
while gyro_sensor.angle() > target_angle:
pass
گھمڻ واري پليٽ فارم کي روڪيو جڏهن ٽارگيٽ زاويه پهچي وڃي:
turntable_motor.stop(Stop.BRAKE)
مٿئين پوزيشن ۾ هينڊل جي شروعاتي پوزيشن مقرر ڪريو:
pen_holder_raise()
هاڻي اچي ٿو پروگرام جو مکيه حصو - هڪ لامحدود لوپ. EV3 پهريون انتظار ڪري ٿو رنگ سينسر کي معلوم ڪرڻ لاءِ هڪ اڇو پيپر يا نيري اسٽارٽ اسڪوائر ۽ ٽچ سينسر کي دٻائڻ لاءِ. پوء اھو ھڪڙو نمونو ٺاھيو، شروعاتي پوزيشن ڏانھن موٽيو ۽ ھر شيء کي ٻيهر ورجائي ٿو.
جڏهن ڊوائيس تيار نه آهي، ڪنٽرولر تي LEDs ڳاڙهو ٿي ويندا آهن ۽ LCD اسڪرين تي "ٿمبس ڊائون" تصوير ڏيکاري ويندي آهي:
while True:
brick.light(Color.RED)
brick.display.image(ImageFile.THUMBS_DOWN)
اسان انتظار ڪريون ٿا جيستائين رنگ سينسر ڳڻيو نيري يا اڇو، LED رنگ کي سائي تي سيٽ ڪريو، LCD اسڪرين تي "ٿمبس اپ" تصوير ڏيکاري ۽ رپورٽ ڪريو ته ڊوائيس استعمال لاء تيار آهي:
while color_sensor.color() not in (Color.BLUE, Color.WHITE):
wait(10)
brick.light(Color.GREEN)
brick.display.image(ImageFile.THUMBS_UP)
اسان انتظار ڪريون ٿا ٽچ سينسر کي دٻائڻ لاءِ، تفويض ڪريو زاويه قدر 0 کي گيروڪوپيڪ سينسر ۽ ڊرائنگ شروع ڪريو:
while not touch_sensor.pressed():
wait(10)
gyro_sensor.reset_angle(0)
pen_holder_turn_to(15)
pen_holder_lower()
pen_holder_turn_to(30)
pen_holder_raise()
pen_holder_turn_to(45)
pen_holder_lower()
pen_holder_turn_to(60)
قلم هولڊر کي وڌايو ۽ ان کي ان جي اصلي پوزيشن ڏانھن واپس آڻيو:
pen_holder_raise()
pen_holder_turn_to(0)</i>
ھي آھي سادو پروگرام جيڪو اسان ٺاھيو آھي. ۽ ھاڻي اسان ان کي لانچ ڪيو ۽ عمل ۾ ڊرافنگ روبوٽ کي ڏسو.
اهڙا مثال ڇا ٿا ڏين؟

EV3 STEM ڪيريئر لاءِ ڪيريئر ھدايت وارو اوزار ۽ انجنيئرنگ ڪيريئر ۾ داخلا پوائنٽ آھي. جيئن ته اهو عملي مسئلن کي حل ڪرڻ لاءِ استعمال ٿي سگهي ٿو، ٻار ٽيڪنيڪل ترقي ۽ صنعتي روبوٽس جي تخليق ۾ تجربو حاصل ڪن ٿا، حقيقي حالتن کي سمجهڻ، پروگرامن کي سمجهڻ ۽ الگورتھم جو تجزيو ڪرڻ، ۽ بنيادي پروگرامنگ جي تعميرات ۾ مهارت حاصل ڪن ٿا.
MicroPython سپورٽ EV3 پليٽ فارم کي هاءِ اسڪول جي تدريس لاءِ موزون بڻائي ٿي. شاگرد پاڻ کي سڀ کان وڌيڪ مشهور جديد ٻولين مان هڪ پروگرامر جي حيثيت سان ڪوشش ڪري سگهن ٿا، ۽ پروگرامنگ ۽ انجنيئرنگ ڊيزائن سان لاڳاپيل پيشن سان واقف ٿي سگهن ٿا. EV3 ڪِٽس ڏيکارين ٿا ته ڪوڊنگ خوفناڪ نه آهي، توهان کي انجنيئرنگ جي سنگين چئلينجن لاءِ تيار ڪن ٿا، ۽ ٽيڪنيڪل صلاحيتن ۾ مهارت حاصل ڪرڻ طرف پهريون قدم کڻڻ ۾ توهان جي مدد ڪن ٿا. ۽ انهن لاءِ جيڪي اسڪولن ۾ ڪم ڪن ٿا ۽ تعليم سان وابسته آهن، اسان تيار ڪيو آهي ۽ تعليمي مواد. اهي تفصيل سان بيان ڪن ٿا ته ڪهڙيون صلاحيتون ترقي ڪيون وينديون آهن جڏهن ڪجهه ڪمن کي انجام ڏين ٿا، ۽ ڪيئن حاصل ڪيل صلاحيتن جو تعلق تربيتي معيار سان آهي.
جو ذريعو: www.habr.com
