LEGO MINDSTORMS Education EV3 + MicroPython: වැඩිහිටි භාෂාවෙන් ළමා ඉදිකිරීම් කට්ටලයක් වැඩසටහන්ගත කිරීම

හෙලෝ, හබ්ර්! අපි දැනටමත් කිව්වා LEGO MINDSTORMS Education EV3 වේදිකාව ගැන. මෙම වේදිකාවේ ප්‍රධාන අරමුණු වන්නේ ප්‍රායෝගික උදාහරණ හරහා ඉගෙනීම, STEAM කුසලතා වර්ධනය කිරීම සහ ඉංජිනේරු මානසිකත්වයක් වර්ධනය කිරීමයි. එය යාන්ත්‍ර විද්‍යාව සහ ගතික විද්‍යාව හැදෑරීම සඳහා රසායනාගාර කටයුතු සඳහා භාවිතා කළ හැකිය. LEGO ගඩොල්වලින් සාදන ලද රසායනාගාර බංකු සහ දත්ත පටිගත කිරීම සහ සැකසීම සඳහා උපයෝගිතා අත්හදා බැලීම් වඩාත් සිත්ගන්නාසුළු සහ දෘශ්‍ය කරන අතර දරුවන්ට භෞතික විද්‍යාව වඩා හොඳින් අවබෝධ කර ගැනීමට උපකාරී වේ. උදාහරණයක් ලෙස, සිසුන්ට ද්‍රවාංක දත්ත එකතු කර එය සංවිධානය කිරීමට සහ ප්‍රස්ථාරයක ඉදිරිපත් කිරීමට යෙදුම භාවිතා කළ හැක. නමුත් මෙය ආරම්භය පමණි: අද අපි ඔබට මෙම කට්ටලය MicroPython ක්‍රමලේඛන පරිසරය සමඟ සම්පුර්ණ කර එය රොබෝ තාක්ෂණය ඉගැන්වීමට භාවිතා කරන්නේ කෙසේදැයි කියන්නෙමු.

LEGO MINDSTORMS Education EV3 + MicroPython: වැඩිහිටි භාෂාවෙන් ළමා ඉදිකිරීම් කට්ටලයක් වැඩසටහන්ගත කිරීම

EV3 භාවිතයෙන් ක්‍රමලේඛනය ඉගෙන ගන්න

නූතන පාසල් දරුවන්ට වර්ණවත් ප්රතිඵල දැකීමට අවශ්යයි. ඔව්, වැඩසටහන කොන්සෝලයට අංක මුද්‍රණය කරන්නේ නම් ඔවුන් කම්මැලි වන අතර, ඔවුන්ට වර්ණ ප්‍රස්ථාර, රූප සටහන් දෙස බැලීමට අවශ්‍ය වන අතර විධාන චලනය කරන සහ අනුගමනය කරන සැබෑ රොබෝවරු නිර්මාණය කිරීමට අවශ්‍ය වේ. සාමාන්‍ය කේතය ළමයින්ට ඉතා සංකීර්ණ බව පෙනේ, එබැවින් පහසු දෙයක් සමඟ ඉගෙනීම ආරම්භ කිරීම වඩා හොඳය.

මූලික EV3 ක්‍රමලේඛන පරිසරය LabVIEW චිත්‍රක භාෂාව මත පදනම් වී ඇති අතර රොබෝවරයා සඳහා ඇල්ගොරිතම දෘෂ්‍යව නියම කිරීමට ඔබට ඉඩ සලසයි: විධානයන් ඇදගෙන යා හැකි සහ සම්බන්ධ කළ හැකි බ්ලොක් ආකාරයෙන් ඉදිරිපත් කෙරේ.

LEGO MINDSTORMS Education EV3 + MicroPython: වැඩිහිටි භාෂාවෙන් ළමා ඉදිකිරීම් කට්ටලයක් වැඩසටහන්ගත කිරීම

ඇල්ගොරිතම ගොඩනඟා ඇති ආකාරය පෙන්වීමට අවශ්ය විට මෙම ක්රමය හොඳින් ක්රියා කරයි, නමුත් එය බ්ලොක් විශාල සංඛ්යාවක් සහිත වැඩසටහන් සඳහා සුදුසු නොවේ. අවස්ථා වඩාත් සංකීර්ණ වන විට, කේතය සමඟ ක්‍රමලේඛනයට යාම අවශ්‍ය වේ, නමුත් මෙම පියවර දරුවන්ට ගැනීමට අපහසුය. 

මෙහි උපක්‍රම කිහිපයක් ඇත, එයින් එකක් වන්නේ කේතය බ්ලොක් කරන දේම කරන බව පෙන්වීමයි. EV3 පරිසරය තුළ, මෙය MicroPython අනුකලනය හරහා සිදු කළ හැක, එබැවින් දරුවන්ට මූලික බ්ලොක් ක්‍රමලේඛන පරිසරය සහ Microsoft හි Visual Studio Code හි Python යන දෙකෙහිම එකම වැඩසටහනක් නිර්මාණය කළ හැක. ක්‍රම දෙකම එක හා සමානව ක්‍රියා කරන බව ඔවුන් දකින නමුත් කේතය භාවිතයෙන් සංකීර්ණ ගැටළු විසඳීම වඩාත් පහසු වේ.

MicroPython වෙත මාරු වීම

EV3 පරිසරය ARM9 ප්‍රොසෙසරයක් මත ගොඩනගා ඇති අතර, සංවර්ධකයින් හිතාමතාම ගෘහ නිර්මාණ ශිල්පය විවෘත කර ඇත. මෙම විසඳුම විකල්ප ස්ථිරාංග පෙරළීමට හැකි විය, ඉන් එකක් MicroPython සමඟ වැඩ කිරීම සඳහා රූපයක් විය. ඔබේ EV3 ක්‍රමලේඛනය කිරීමට Python භාවිතා කිරීමට එය ඔබට ඉඩ සලසයි, කට්ටලය සැබෑ ජීවිතයේ කාර්යයන්ට වඩාත් සමීප කරයි. 

ආරම්භ කිරීමට, ඔබ බාගත කළ යුතුය EV3 MicroPython රූපය ඕනෑම microSD කාඩ්පතක, එය EV3 මයික්‍රොකොම්පියුටරයේ ස්ථාපනය කර එය ක්‍රියාත්මක කරන්න. එවිට ඔබට ස්ථාපනය කිරීමට අවශ්ය වේ නිදහස් දිගුව Visual Studio සඳහා. තවද ඔබට වැඩ ආරම්භ කළ හැකිය. 

MycroPython හි පළමු රොබෝවරයා ක්‍රමලේඛනය කිරීම

LEGO MINDSTORMS Education EV3 + MicroPython: වැඩිහිටි භාෂාවෙන් ළමා ඉදිකිරීම් කට්ටලයක් වැඩසටහන්ගත කිරීම

අප මත වෙබ් අඩවිය රොබෝ තාක්ෂණයේ මූලික සංකල්ප ප්‍රගුණ කිරීම සඳහා පාඩම් කිහිපයක් තිබේ. 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])

අපි හසුරුව සඳහා එසවුම් යාන්ත්‍රණය C වරායේ මෝටරයක් ​​ලෙස වින්‍යාස කරමු:

seesaw_motor = Motor(Port.C)

අපි 2 වරායේ හසුරුවෙහි ආනතියේ කෝණය මනින ගයිරොස්කෝප් වින්‍යාස කරමු:

gyro_sensor = GyroSensor(Port.S2)

අපි port 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 පළමුව වර්ණ සංවේදකය සුදු කඩදාසි හෝ නිල් ආරම්භක චතුරස්‍රයක් හඳුනා ගැනීමට සහ ස්පර්ශ සංවේදකය එබීම සඳහා බලා සිටී. ඉන්පසු ඔහු රටාවක් අඳින්න, ආරම්භක ස්ථානයට ආපසු ගොස් නැවත සියල්ල පුනරුච්චාරණය කරයි.

උපාංගය සුදානම් නැති විට, පාලකයේ LED රතු පැහැයට හැරෙන අතර 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>

මෙය අප විසින් නිර්මාණය කරන ලද සරල වැඩසටහනකි. දැන් අපි එය දියත් කර ක්‍රියාත්මක වන කෙටුම්පත් රොබෝව දෙස බලමු. 

එවැනි උදාහරණ සපයන්නේ කුමක්ද?

LEGO MINDSTORMS Education EV3 + MicroPython: වැඩිහිටි භාෂාවෙන් ළමා ඉදිකිරීම් කට්ටලයක් වැඩසටහන්ගත කිරීම

EV3 යනු STEM වෘත්තීන් සඳහා වෘත්තීය මාර්ගෝපදේශක මෙවලමක් වන අතර ඉංජිනේරු වෘත්තීන් සඳහා පිවිසුම් ස්ථානයකි. ප්‍රායෝගික ගැටළු විසඳීමට එය භාවිතා කළ හැකි බැවින්, ළමයින් තාක්ෂණික සංවර්ධනය සහ කාර්මික රොබෝවරුන් නිර්මාණය කිරීම පිළිබඳ අත්දැකීම් ලබා ගනී, සැබෑ තත්වයන් අනුකරණය කිරීමට, වැඩසටහන් තේරුම් ගැනීමට සහ ඇල්ගොරිතම විශ්ලේෂණය කිරීමට සහ මූලික ක්‍රමලේඛන ඉදිකිරීම් ප්‍රගුණ කිරීමට ඉගෙන ගනී.

MicroPython සහාය EV3 වේදිකාව උසස් පාසල් ඉගැන්වීම සඳහා සුදුසු කරයි. සිසුන්ට වඩාත් ජනප්‍රිය නවීන භාෂාවකින් ක්‍රමලේඛකයින් ලෙස උත්සාහ කළ හැකි අතර ක්‍රමලේඛනය සහ ඉංජිනේරු නිර්මාණකරණයට අදාළ වෘත්තීන් පිළිබඳව දැන හඳුනා ගත හැකිය. EV3 කට්ටල මඟින් කේතීකරණය බියජනක නොවන බව පෙන්නුම් කරයි, බරපතල ඉංජිනේරු අභියෝග සඳහා ඔබව සූදානම් කරයි, සහ තාක්ෂණික කුසලතා ප්‍රගුණ කිරීම සඳහා පළමු පියවර ගැනීමට ඔබට උපකාර කරයි. පාසල්වල සේවය කරන සහ අධ්‍යාපනයට සම්බන්ධ අය සඳහා, අපි සූදානම් කර ඇත පාඩම් වැඩසටහන් සහ අධ්යාපනික ද්රව්ය. ඇතැම් කාර්යයන් ඉටු කිරීමේදී වර්ධනය වන කුසලතා මොනවාද සහ අත්පත් කරගත් කුසලතා පුහුණු ප්රමිතීන්ට සම්බන්ධ වන ආකාරය විස්තරාත්මකව විස්තර කරයි.

මූලාශ්රය: www.habr.com

DDoS ආරක්ෂාව, VPS VDS සේවාදායකයන් සහිත අඩවි සඳහා විශ්වාසදායක සත්කාරකත්වය මිලදී ගන්න 🔥 DDoS ආරක්ෂාව, VPS VDS සේවාදායකයන් සහිත විශ්වාසදායක වෙබ් අඩවි සත්කාරකත්වය මිලදී ගන්න | ProHoster