Hello, Habr! Aħna diġà dwar il-pjattaforma LEGO MINDSTORMS Education EV3. L-għanijiet ewlenin ta’ din il-pjattaforma huma t-tagħlim permezz ta’ eżempji prattiċi, l-iżvilupp ta’ ħiliet STEAM u l-iżvilupp ta’ mentalità tal-inġinerija. Jista 'jintuża għal xogħol fil-laboratorju biex tistudja l-mekkanika u d-dinamika. Bankijiet tal-laboratorju magħmulin minn briks LEGO u utilitajiet għar-reġistrazzjoni u l-ipproċessar tad-dejta jagħmlu l-esperimenti saħansitra aktar interessanti u viżwali u jgħinu lit-tfal jifhmu aħjar il-fiżika. Pereżempju, l-istudenti jistgħu jiġbru data tal-punt tat-tidwib u jużaw l-app biex jorganizzawha u jippreżentawha fi grafika. Iżda dan huwa biss il-bidu: illum se ngħidulek kif tikkumplimenta dan is-sett bl-ambjent ta 'programmar MicroPython u tużah biex tgħallem ir-robotika.

Tgħallem l-ipprogrammar billi tuża EV3
It-tfal tal-iskola moderni jridu jaraw riżultati ikkuluriti. Iva, huma bored jekk il-programm jistampa numri fuq il-console, u jridu jħarsu lejn graffs tal-kulur, dijagrammi u joħolqu robots reali li jimxu u jsegwu l-kmandi. Kodiċi regolari wkoll jidher ikkumplikat wisq għat-tfal, għalhekk huwa aħjar li tibda titgħallem b'xi ħaġa aktar faċli.
L-ambjent bażiku ta 'programmar EV3 huwa bbażat fuq il-lingwa grafika LabVIEW u jippermettilek li tispeċifika algoritmi għar-robot viżwalment: il-kmandi huma ppreżentati fil-forma ta' blokki li jistgħu jiġu mkaxkra u konnessi.

Dan il-metodu jaħdem tajjeb meta jkollok bżonn turi kif jinbnew l-algoritmi, iżda mhuwiex adattat għal programmi b'numru kbir ta 'blokki. Hekk kif ix-xenarji jsiru aktar kumplessi, huwa meħtieġ li nimxu għall-ipprogrammar bil-kodiċi, iżda dan il-pass huwa diffiċli biex it-tfal jieħdu.
Hemm ftit tricks hawn, li wieħed minnhom huwa li juri li l-kodiċi jagħmel l-istess ħaġa bħall-blokki. Fl-ambjent EV3, dan huwa possibbli permezz tal-integrazzjoni MicroPython, sabiex it-tfal jistgħu joħolqu l-istess programm kemm fl-ambjent bażiku tal-ipprogrammar tal-blokki kif ukoll Python fil-Visual Studio Code ta' Microsoft. Huma jaraw li ż-żewġ metodi jaħdmu l-istess, iżda s-soluzzjoni ta 'problemi kumplessi bl-użu tal-kodiċi hija aktar konvenjenti.
Qlib għal MicroPython
L-ambjent EV3 huwa mibni fuq proċessur ARM9, u l-iżviluppaturi deliberatament ħallew l-arkitettura miftuħa. Din is-soluzzjoni għamlitha possibbli li jitħaddem firmware alternattiv, li waħda minnhom kienet immaġni biex taħdem ma 'MicroPython. Jippermettilek tuża Python biex tipprogramma l-EV3 tiegħek, u tressaq il-kit saħansitra eqreb lejn kompiti tal-ħajja reali.
Biex tibda, trid tniżżel fuq kwalunkwe karta microSD, installaha fil-mikrokompjuter EV3 u ixgħelha. Imbagħad għandek bżonn tinstalla għal Visual Studio. U tista 'tibda taħdem.
L-ipprogrammar tal-ewwel robot f'MycroPython

Fuq tagħna Hemm diversi lezzjonijiet biex nikkontrollaw il-kunċetti bażiċi tar-robotika. Mudelli EV3 jintroduċu lit-tfal għall-affarijiet bażiċi li jintużaw f'karozzi li jsuqu waħedhom, robots tal-assemblaġġ tal-fabbrika, u magni CNC.
Aħna nieħdu l-eżempju ta 'magna tat-tpinġija, li tista' tiġi mgħallma biex tiġbed mudelli u forom ġeometriċi. Dan il-każ huwa verżjoni simplifikata ta 'robots adulti tal-iwweldjar jew tat-tħin u juri kif EV3 jista' jintuża flimkien ma 'MicroPython biex jgħallmu lit-tfal tal-iskola. U magna tat-tpinġija tista 'timmarka toqob f'bord ta' ċirkwit stampat għall-papà, iżda dak huwa livell ieħor li jeħtieġ matematika.
Għax-xogħol, għandna bżonn:
- LEGO MINDSTORMS Edukazzjoni EV3 Core Set;
- folja kbira ta' karta iċċekkjata;
- Markers ikkuluriti.
L-assemblaġġ tar-robot innifsu jinsab fih , u se nħarsu lejn eżempju ta 'programmazzjoni.
L-ewwel inizjalizzaw il-librerija tal-modulu 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
Aħna waqqafna pjattaforma li ddawwar il-manku bħal mutur fil-port B. Aħna waqqafna l-proporzjon tal-ger ta 'ferrovija tal-ger f'żewġ stadji b'numru ta' snien ta '20-12-28, rispettivament.
turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])
Aħna kkonfiguraw il-mekkaniżmu ta 'rfigħ għall-manku bħala mutur fil-port C:
seesaw_motor = Motor(Port.C)
Aħna kkonfigurat il-ġiroskopju, li jkejjel l-angolu tal-inklinazzjoni tal-manku, fil-port 2:
gyro_sensor = GyroSensor(Port.S2)
Aħna kkonfigurat is-sensor tal-kulur fil-port 3. Is-sensorju jintuża biex jiskopri karta bajda taħt il-magna tat-tpinġija:
color_sensor = ColorSensor(Port.S3)
Aħna kkonfiguraw is-sensor tal-mess fil-port 4. Ir-robot jibda jpinġi meta s-sensor jiġi ppressat:
touch_sensor = TouchSensor(Port.S4)
Aħna niddefinixxu l-funzjonijiet li jgħollu u jbaxxu l-manku:
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)
Aħna niddefinixxu funzjoni biex iddawwar il-manku għal angolu partikolari jew għal ċertu angolu:
def pen_holder_turn_to(target_angle):
if target_angle > gyro_sensor.angle():
Jekk l-angolu fil-mira huwa akbar mill-angolu attwali tas-sensorju tal-ġiroskopju, kompli lejn l-arloġġ b'veloċità pożittiva:
turntable_motor.run(70)
while gyro_sensor.angle() < target_angle:
pass
elif target_angle < gyro_sensor.angle():
Jekk l-angolu fil-mira huwa inqas mis-sensorju tal-ġiroskopji kurrenti, imbagħad ċċaqlaq kontra l-arloġġ:
turntable_motor.run(-70)
while gyro_sensor.angle() > target_angle:
pass
Waqqaf il-pjattaforma li ddur meta jintlaħaq l-angolu fil-mira:
turntable_motor.stop(Stop.BRAKE)
Issettja l-pożizzjoni inizjali tal-manku fil-pożizzjoni ta 'fuq:
pen_holder_raise()
Issa ġejja l-parti prinċipali tal-programm - linja bla tarf. EV3 l-ewwel jistenna li s-sensor tal-kulur jiskopri karta bajda jew kwadru tal-bidu blu u li s-sensor tat-touch jiġi ppressat. Imbagħad ifassal mudell, jerġa 'lura għall-pożizzjoni tal-bidu u jerġa' jirrepeti kollox.
Meta l-apparat ma jkunx lest, l-LEDs fuq il-kontrollur isiru ħomor u immaġni ta '"thumbs down" tidher fuq l-iskrin LCD:
while True:
brick.light(Color.RED)
brick.display.image(ImageFile.THUMBS_DOWN)
Nistennew sakemm is-sensorju tal-kulur jgħodd blu jew abjad, issettja l-kulur tal-LED għal aħdar, uri immaġni ta '"thumbs up" fuq l-iskrin LCD u nirrapportaw li l-apparat huwa lest għall-użu:
while color_sensor.color() not in (Color.BLUE, Color.WHITE):
wait(10)
brick.light(Color.GREEN)
brick.display.image(ImageFile.THUMBS_UP)
Nistennew li s-sensor tat-touch jiġi ppressat, jassenja l-valur tal-angolu 0 lis-sensor ġiroskopiku u nibda tpinġi:
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)
Għolli l-kontenitur tal-pinna u erġa' lura fil-pożizzjoni oriġinali tiegħu:
pen_holder_raise()
pen_holder_turn_to(0)</i>
Dan huwa l-programm sempliċi li ħloqna. U issa nnieduha u nħarsu lejn ir-robot tal-abbozzar fl-azzjoni.
X'jipprovdu eżempji bħal dawn?

EV3 hija għodda ta' gwida għall-karriera għall-karrieri STEM u punt ta' dħul fil-karrieri tal-inġinerija. Peress li jista 'jintuża biex isolvi problemi prattiċi, it-tfal jiksbu esperjenza fl-iżvilupp tekniku u l-ħolqien ta' robots industrijali, jitgħallmu jissimulaw sitwazzjonijiet reali, jifhmu programmi u janalizzaw algoritmi, u jegħlbu kostruzzjonijiet ta 'programmar bażiku.
L-appoġġ tal-MicroPython jagħmel il-pjattaforma EV3 adattata għat-tagħlim tal-iskola sekondarja. L-istudenti jistgħu jippruvaw lilhom infushom bħala programmaturi f'waħda mill-lingwi moderni l-aktar popolari, u jiffamiljarizzaw ruħhom mal-professjonijiet relatati mal-ipprogrammar u d-disinn tal-inġinerija. Il-kits EV3 juru li l-kodifikazzjoni mhix tal-biża’, iħejjuk għal sfidi serji tal-inġinerija, u jgħinuk tieħu l-ewwel pass lejn il-ħakma tal-ħiliet tekniċi. U għal dawk li jaħdmu fl-iskejjel u huma assoċjati mal-edukazzjoni, ħejjejna u materjali edukattivi. Jiddeskrivu fid-dettall liema ħiliet jiġu żviluppati meta jitwettqu ċerti kompiti, u kif il-ħiliet miksuba huma relatati mal-istandards tat-taħriġ.
Sors: www.habr.com
