LEGO MINDSTORMS Education EV3 + MicroPython: بالغوں کی زبان میں بچوں کی تعمیر کا پروگرام بنانا

ہیلو، حبر! ہم پہلے ہی کہا LEGO MINDSTORMS Education EV3 پلیٹ فارم کے بارے میں۔ اس پلیٹ فارم کے بنیادی مقاصد عملی مثالوں کے ذریعے سیکھنا، STEAM کی مہارتوں کو فروغ دینا اور انجینئرنگ کی ذہنیت تیار کرنا ہے۔ اسے لیبارٹری کے کام کے لیے میکانکس اور ڈائنامکس کا مطالعہ کرنے کے لیے استعمال کیا جا سکتا ہے۔ LEGO اینٹوں سے بنے لیبارٹری بینچز اور ڈیٹا کو ریکارڈ کرنے اور پروسیسنگ کے لیے استعمال کی جانے والی سہولیات تجربات کو مزید دلچسپ اور بصری بناتے ہیں اور بچوں کو فزکس کو بہتر طور پر سمجھنے میں مدد دیتے ہیں۔ مثال کے طور پر، طالب علم پگھلنے کے نقطہ ڈیٹا کو جمع کر سکتے ہیں اور اسے منظم کرنے اور گراف میں پیش کرنے کے لیے ایپ کا استعمال کر سکتے ہیں۔ لیکن یہ صرف شروعات ہے: آج ہم آپ کو بتائیں گے کہ اس سیٹ کو مائیکرو پائتھون پروگرامنگ ماحول کے ساتھ کیسے پورا کیا جائے اور اسے روبوٹکس سکھانے کے لیے استعمال کیا جائے۔

LEGO MINDSTORMS Education EV3 + MicroPython: بالغوں کی زبان میں بچوں کی تعمیر کا پروگرام بنانا

EV3 کا استعمال کرتے ہوئے پروگرامنگ سیکھیں۔

جدید اسکول کے بچے رنگین نتائج دیکھنا چاہتے ہیں۔ ہاں، وہ بور ہو جاتے ہیں اگر پروگرام کنسول پر نمبر پرنٹ کرتا ہے، اور وہ رنگین گراف، خاکے دیکھنا چاہتے ہیں اور حقیقی روبوٹ بنانا چاہتے ہیں جو حرکت کرتے ہیں اور حکموں کی پیروی کرتے ہیں۔ بچوں کے لیے باقاعدہ کوڈ بھی بہت پیچیدہ لگتا ہے، اس لیے بہتر ہے کہ کچھ آسان سے سیکھنا شروع کریں۔

بنیادی EV3 پروگرامنگ ماحول LabVIEW گرافیکل زبان پر مبنی ہے اور آپ کو روبوٹ کے لیے بصری طور پر الگورتھم کی وضاحت کرنے کی اجازت دیتا ہے: کمانڈز بلاکس کی شکل میں پیش کیے جاتے ہیں جنہیں گھسیٹ کر منسلک کیا جا سکتا ہے۔

LEGO MINDSTORMS Education EV3 + MicroPython: بالغوں کی زبان میں بچوں کی تعمیر کا پروگرام بنانا

یہ طریقہ اچھی طرح سے کام کرتا ہے جب آپ کو یہ بتانے کی ضرورت ہوتی ہے کہ الگورتھم کیسے بنائے جاتے ہیں، لیکن یہ ان پروگراموں کے لیے موزوں نہیں ہے جن کے بلاکس کی ایک بڑی تعداد ہے۔ جیسے جیسے منظرنامے زیادہ پیچیدہ ہوتے جاتے ہیں، کوڈ کے ساتھ پروگرامنگ میں جانا ضروری ہوتا ہے، لیکن بچوں کے لیے یہ قدم اٹھانا مشکل ہوتا ہے۔ 

یہاں چند چالیں ہیں، جن میں سے ایک یہ ظاہر کرنا ہے کہ کوڈ وہی کام کرتا ہے جو بلاکس کرتا ہے۔ EV3 ماحول میں، یہ MicroPython انٹیگریشن کے ذریعے ممکن ہے، لہذا بچے بنیادی بلاک پروگرامنگ ماحول اور Microsoft کے Visual Studio Code میں Python دونوں میں ایک ہی پروگرام بنا سکتے ہیں۔ وہ دیکھتے ہیں کہ دونوں طریقے ایک جیسے کام کرتے ہیں، لیکن کوڈ کا استعمال کرتے ہوئے پیچیدہ مسائل کو حل کرنا زیادہ آسان ہے۔

مائیکرو پیتھون پر سوئچ کرنا

EV3 ماحول ARM9 پروسیسر پر بنایا گیا ہے، اور ڈویلپرز نے جان بوجھ کر فن تعمیر کو کھلا چھوڑ دیا۔ اس حل نے متبادل فرم ویئر کو رول آؤٹ کرنا ممکن بنایا، جن میں سے ایک MicroPython کے ساتھ کام کرنے کی تصویر تھی۔ یہ آپ کو اپنے EV3 کو پروگرام کرنے کے لیے Python کا استعمال کرنے کی اجازت دیتا ہے، اور کٹ کو حقیقی زندگی کے کاموں کے قریب لاتا ہے۔ 

شروع کرنے کے لیے، آپ کو ڈاؤن لوڈ کرنے کی ضرورت ہے۔ EV3 MicroPython تصویر کسی بھی مائیکرو ایس ڈی کارڈ پر، اسے EV3 مائیکرو کمپیوٹر میں انسٹال کریں اور اسے آن کریں۔ پھر آپ کو انسٹال کرنے کی ضرورت ہے۔ مفت توسیع بصری اسٹوڈیو کے لیے۔ اور آپ کام شروع کر سکتے ہیں۔ 

MycroPython میں پہلا روبوٹ پروگرام کرنا

LEGO MINDSTORMS Education EV3 + MicroPython: بالغوں کی زبان میں بچوں کی تعمیر کا پروگرام بنانا

ہم پر ڈاؤن لوڈ، اتارنا روبوٹکس کے بنیادی تصورات پر عبور حاصل کرنے کے لیے کئی اسباق ہیں۔ EV3 ماڈل بچوں کو ان بنیادی باتوں سے متعارف کراتے ہیں جو خود ڈرائیونگ کاروں، فیکٹری اسمبلی روبوٹ، اور CNC مشینوں میں استعمال ہوتی ہیں۔ 

ہم ایک ڈرائنگ مشین کی مثال لیں گے، جسے پیٹرن اور جیومیٹرک شکلیں بنانا سکھایا جا سکتا ہے۔ یہ کیس بالغوں کی ویلڈنگ یا گھسائی کرنے والے روبوٹس کا ایک آسان ورژن ہے اور یہ دکھاتا ہے کہ کس طرح EV3 کو مائیکرو پائتھون کے ساتھ مل کر اسکول کے بچوں کو پڑھانے کے لیے استعمال کیا جا سکتا ہے۔ اور ایک ڈرائنگ مشین والد کے لیے پرنٹ شدہ سرکٹ بورڈ میں سوراخوں کو نشان زد کر سکتی ہے، لیکن یہ ایک اور سطح ہے جس کے لیے ریاضی کی ضرورت ہوتی ہے۔

کام کے ل، ، ہمیں ضرورت ہے:

  • 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])

ہم ہینڈل کے لیے لفٹنگ میکانزم کو پورٹ C میں بطور موٹر تشکیل دیتے ہیں:

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 سب سے پہلے کلر سینسر کے سفید کاغذ یا نیلے رنگ کے اسٹارٹ اسکوائر کا پتہ لگانے اور ٹچ سینسر کو دبانے کا انتظار کرتا ہے۔ پھر وہ ایک پیٹرن کھینچتا ہے، ابتدائی پوزیشن پر واپس آتا ہے اور ہر چیز کو دوبارہ دہراتا ہے۔

جب آلہ تیار نہیں ہوتا ہے، کنٹرولر پر موجود ایل ای ڈی سرخ ہو جاتی ہیں اور ایل سی ڈی اسکرین پر ایک "تھمبس ڈاؤن" تصویر ظاہر ہوتی ہے:

while True:
  brick.light(Color.RED)
  brick.display.image(ImageFile.THUMBS_DOWN)

ہم اس وقت تک انتظار کرتے ہیں جب تک کہ رنگین سینسر نیلے یا سفید کو شمار نہ کرے، ایل ای ڈی کا رنگ سبز پر سیٹ کریں، 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>

یہ سادہ پروگرام ہے جو ہم نے بنایا ہے۔ اور اب ہم اسے لانچ کرتے ہیں اور ڈرافٹنگ روبوٹ کو کارروائی میں دیکھتے ہیں۔ 

ایسی مثالیں کیا فراہم کرتی ہیں؟

LEGO MINDSTORMS Education EV3 + MicroPython: بالغوں کی زبان میں بچوں کی تعمیر کا پروگرام بنانا

EV3 STEM کیرئیر کے لیے کیریئر گائیڈنس ٹول ہے اور انجینئرنگ کیرئیر میں داخلے کا ایک نقطہ ہے۔ چونکہ اس کا استعمال عملی مسائل کو حل کرنے کے لیے کیا جا سکتا ہے، اس لیے بچے تکنیکی ترقی اور صنعتی روبوٹس کی تخلیق میں تجربہ حاصل کرتے ہیں، حقیقی حالات کی نقالی سیکھتے ہیں، پروگراموں کو سمجھتے ہیں اور الگورتھم کا تجزیہ کرتے ہیں، اور بنیادی پروگرامنگ کنسٹرکٹس میں مہارت حاصل کرتے ہیں۔

MicroPython سپورٹ EV3 پلیٹ فارم کو ہائی اسکول کی تعلیم کے لیے موزوں بناتا ہے۔ طلباء خود کو ایک مشہور جدید زبان میں پروگرامر کے طور پر آزما سکتے ہیں، اور پروگرامنگ اور انجینئرنگ ڈیزائن سے متعلق پیشوں سے واقف ہو سکتے ہیں۔ EV3 کٹس ظاہر کرتی ہیں کہ کوڈنگ خوفناک نہیں ہے، آپ کو انجینئرنگ کے سنگین چیلنجوں کے لیے تیار کرتی ہے، اور تکنیکی مہارتوں میں مہارت حاصل کرنے کی طرف پہلا قدم اٹھانے میں آپ کی مدد کرتی ہے۔ اور جو لوگ سکولوں میں کام کرتے ہیں اور تعلیم سے وابستہ ہیں ان کے لیے ہم نے تیار کیا ہے۔ سبق کے پروگرام اور تعلیمی مواد۔ وہ تفصیل سے بیان کرتے ہیں کہ بعض کاموں کو انجام دیتے وقت کون سی مہارتیں تیار کی جاتی ہیں، اور حاصل کردہ مہارتوں کا تربیتی معیارات سے کیا تعلق ہے۔

ماخذ: www.habr.com

DDoS تحفظ، VPS VDS سرورز والی سائٹوں کے لیے قابل اعتماد ہوسٹنگ خریدیں۔ DDoS تحفظ، VPS VDS سرورز کے ساتھ قابل اعتماد ویب سائٹ ہوسٹنگ خریدیں۔ ProHoster