LEGO MINDSTORMS Education EV3 + MicroPython: programimi i një grupi ndërtimi për fëmijë në gjuhën e të rriturve

Përshëndetje, Habr! Ne tashmë tha në lidhje me platformën LEGO MINDSTORMS Education EV3. Objektivat kryesore të kësaj platforme janë të mësuarit përmes shembujve praktikë, zhvillimi i aftësive STEAM dhe zhvillimi i një mendësie inxhinierike. Mund të përdoret për punë laboratorike për të studiuar mekanikën dhe dinamikën. Stolat e laboratorit të bërë nga tulla LEGO dhe pajisjet për regjistrimin dhe përpunimin e të dhënave i bëjnë eksperimentet edhe më interesante dhe vizuale dhe i ndihmojnë fëmijët të kuptojnë më mirë fizikën. Për shembull, studentët mund të mbledhin të dhëna për pikën e shkrirjes dhe të përdorin aplikacionin për t'i organizuar dhe paraqitur në një grafik. Por ky është vetëm fillimi: sot do t'ju tregojmë se si ta plotësoni këtë grup me mjedisin e programimit MicroPython dhe ta përdorni atë për të mësuar robotikën.

LEGO MINDSTORMS Education EV3 + MicroPython: programimi i një grupi ndërtimi për fëmijë në gjuhën e të rriturve

Mësoni programimin duke përdorur EV3

Nxënësit modernë duan të shohin rezultate shumëngjyrëshe. Po, ata janë të mërzitur nëse programi printon numra në tastierë dhe duan të shikojnë grafikët me ngjyra, diagramet dhe të krijojnë robotë të vërtetë që lëvizin dhe ndjekin komandat. Kodi i rregullt gjithashtu duket shumë i ndërlikuar për fëmijët, kështu që është më mirë të filloni të mësoni me diçka më të lehtë.

Mjedisi bazë i programimit EV3 bazohet në gjuhën grafike LabVIEW dhe ju lejon të specifikoni algoritme për robotin vizualisht: komandat paraqiten në formën e blloqeve që mund të tërhiqen dhe lidhen.

LEGO MINDSTORMS Education EV3 + MicroPython: programimi i një grupi ndërtimi për fëmijë në gjuhën e të rriturve

Kjo metodë funksionon mirë kur duhet të tregoni se si ndërtohen algoritmet, por nuk është e përshtatshme për programe me një numër të madh blloqesh. Ndërsa skenarët bëhen më të ndërlikuar, është e nevojshme të kalohet në programim me kod, por ky hap është i vështirë për fëmijët. 

Këtu ka disa truke, njëra prej të cilave është të tregosh se kodi bën të njëjtën gjë si blloqet. Në mjedisin EV3, kjo është e mundur përmes integrimit të MicroPython, kështu që fëmijët mund të krijojnë të njëjtin program si në mjedisin bazë të programimit të bllokut ashtu edhe në Python në Kodin Visual Studio të Microsoft. Ata shohin që të dyja metodat funksionojnë njësoj, por zgjidhja e problemeve komplekse duke përdorur kodin është më e përshtatshme.

Kalimi në MicroPython

Mjedisi EV3 është ndërtuar në një procesor ARM9 dhe zhvilluesit e kanë lënë qëllimisht të hapur arkitekturën. Kjo zgjidhje bëri të mundur nxjerrjen e firmware alternativ, njëri prej të cilëve ishte një imazh për të punuar me MicroPython. Kjo ju lejon të përdorni Python për të programuar EV3 tuaj, duke e sjellë kompletin edhe më afër detyrave të jetës reale. 

Për të filluar, duhet të shkarkoni Imazhi EV3 MicroPython në çdo kartë microSD, instalojeni në mikrokompjuterin EV3 dhe ndizni. Pastaj ju duhet të instaloni zgjatje falas për Visual Studio. Dhe mund të filloni të punoni. 

Programimi i robotit të parë në MycroPython

LEGO MINDSTORMS Education EV3 + MicroPython: programimi i një grupi ndërtimi për fëmijë në gjuhën e të rriturve

Në tonën Online Ka disa mësime për zotërimin e koncepteve bazë të robotikës. Modelet EV3 i njohin fëmijët me bazat që përdoren në makinat që drejtojnë vetë, robotët e montimit të fabrikës dhe makinat CNC. 

Ne do të marrim shembullin e një makine vizatimi, e cila mund të mësohet të vizatojë modele dhe forma gjeometrike. Ky rast është një version i thjeshtuar i robotëve të saldimit ose bluarjes për të rritur dhe tregon se si EV3 mund të përdoret në lidhje me MicroPython për të mësuar nxënësit e shkollave. Dhe një makinë vizatimi mund të shënojë vrima në një tabelë të qarkut të printuar për babin, por ky është një nivel tjetër që kërkon matematikë.

Për punë do të na duhen:

  • Set Core LEGO MINDSTORMS Education EV3; 
  • fletë e madhe letre me kuadrate;
  • shënues me ngjyra. 

Vetë montimi i robotit është brenda udhëzime, dhe do të shikojmë një shembull programimi.

Së pari ne inicializojmë bibliotekën e modulit 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

Ne vendosëm një platformë që rrotullon dorezën si një motor në portën B. Ne vendosëm raportin e marsheve të një treni me ingranazhe me dy faza me një numër dhëmbësh përkatësisht 20-12-28.

turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])

Ne konfigurojmë mekanizmin e ngritjes për dorezën si një motor në portën C:

seesaw_motor = Motor(Port.C)

Ne konfigurojmë xhiroskopin, i cili mat këndin e prirjes së dorezës, në portën 2:

gyro_sensor = GyroSensor(Port.S2)

Ne konfigurojmë sensorin e ngjyrave në portën 3. Sensori përdoret për të zbuluar letrën e bardhë nën makinën e vizatimit:

color_sensor = ColorSensor(Port.S3)

Ne konfigurojmë sensorin e prekjes në portën 4. Roboti fillon të vizatojë kur sensori shtypet:

touch_sensor = TouchSensor(Port.S4)

Ne përcaktojmë funksionet që ngrenë dhe ulin dorezën:

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)

Ne përcaktojmë një funksion për të rrotulluar dorezën në një kënd të caktuar ose në një kënd të caktuar:

def pen_holder_turn_to(target_angle):
  if target_angle > gyro_sensor.angle():

Nëse këndi i synuar është më i madh se këndi aktual i sensorit të xhiros, vazhdoni në drejtim të akrepave të orës me një shpejtësi pozitive:

    turntable_motor.run(70)
	
while gyro_sensor.angle() < target_angle:
  	
pass
  elif target_angle < gyro_sensor.angle():

Nëse këndi i synuar është më i vogël se sensori aktual i xhiros, atëherë lëvizni në drejtim të kundërt të akrepave të orës:

    turntable_motor.run(-70)
	
while gyro_sensor.angle() > target_angle:
  	
pass

Ndaloni platformën rrotulluese kur të arrihet këndi i synuar:

  turntable_motor.stop(Stop.BRAKE)

Vendosni pozicionin fillestar të dorezës në pozicionin e sipërm:

pen_holder_raise()

Tani vjen pjesa kryesore e programit - një lak i pafund. EV3 fillimisht pret që sensori i ngjyrave të zbulojë një letër të bardhë ose katrore të fillimit blu dhe që sensori i prekjes të shtypet. Pastaj ai vizaton një model, kthehet në pozicionin e fillimit dhe përsërit gjithçka përsëri.

Kur pajisja nuk është gati, LED-et në komandues kthehen në të kuqe dhe një imazh "gishti i madh poshtë" shfaqet në ekranin LCD:

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

Ne presim derisa sensori i ngjyrave të numërojë blu ose të bardhë, vendosim ngjyrën LED në jeshile, shfaqim një imazh "bravo" në ekranin LCD dhe raportojmë që pajisja është gati për përdorim:

  while color_sensor.color() not in (Color.BLUE, Color.WHITE):
	
wait(10)
  brick.light(Color.GREEN)
  brick.display.image(ImageFile.THUMBS_UP)

Ne presim që sensori i prekjes të shtypet, caktojmë vlerën e këndit 0 në sensorin xhiroskopik dhe fillojmë të vizatojmë:

  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)

Ngrini mbajtësen e stilolapsit dhe kthejeni atë në pozicionin e tij origjinal:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

Ky është programi i thjeshtë që kemi krijuar. Dhe tani ne e nisim atë dhe shikojmë robotin hartues në veprim. 

Çfarë japin shembuj të tillë?

LEGO MINDSTORMS Education EV3 + MicroPython: programimi i një grupi ndërtimi për fëmijë në gjuhën e të rriturve

EV3 është një mjet udhëzues karriere për karrierat STEM dhe një pikë hyrëse në karrierat inxhinierike. Meqenëse mund të përdoret për të zgjidhur probleme praktike, fëmijët fitojnë përvojë në zhvillimin teknik dhe krijimin e robotëve industrialë, mësojnë të simulojnë situata reale, të kuptojnë programet dhe të analizojnë algoritmet dhe të zotërojnë konstruktet bazë të programimit.

Mbështetja e MicroPython e bën platformën EV3 të përshtatshme për mësimdhënie në shkollat ​​e mesme. Studentët mund të provojnë veten si programues në një nga gjuhët moderne më të njohura dhe të njihen me profesionet që lidhen me programimin dhe dizajnin inxhinierik. Kompletet EV3 tregojnë se kodimi nuk është i frikshëm, ju përgatit për sfida serioze inxhinierike dhe ju ndihmojnë të bëni hapin e parë drejt zotërimit të aftësive teknike. Dhe për ata që punojnë në shkolla dhe janë të lidhur me arsimin, ne kemi përgatitur programet e mësimit dhe materiale edukative. Ato përshkruajnë në detaje se çfarë aftësish zhvillohen gjatë kryerjes së detyrave të caktuara dhe si lidhen aftësitë e fituara me standardet e trajnimit.

Burimi: www.habr.com

Bleni një host të besueshëm për faqet me mbrojtje DDoS, serverë VPS VDS 🔥 Bleni hosting të besueshëm të faqeve të internetit me mbrojtje DDoS, servera VPS VDS | ProHoster