LEGO MINDSTORMS Education EV3 + MicroPython: forrita smíðasett fyrir börn á tungumáli fullorðinna

Halló, Habr! Við nú þegar sagt um LEGO MINDSTORMS Education EV3 vettvang. Meginmarkmið þessa vettvangs eru að læra með hagnýtum dæmum, þróa STEAM færni og þróa verkfræðilegt hugarfar. Það er hægt að nota fyrir rannsóknarstofuvinnu til að læra vélfræði og gangverki. Rannsóknarstofubekkir úr LEGO kubbum og tól til að skrá og vinna úr gögnum gera tilraunir enn áhugaverðari og sjónrænni og hjálpa börnum að skilja eðlisfræði betur. Nemendur geta til dæmis safnað bræðslumarksgögnum og notað appið til að skipuleggja þau og setja fram á línuriti. En þetta er bara byrjunin: í dag munum við segja þér hvernig á að bæta við þetta sett með MicroPython forritunarumhverfinu og nota það til að kenna vélfærafræði.

LEGO MINDSTORMS Education EV3 + MicroPython: forrita smíðasett fyrir börn á tungumáli fullorðinna

Lærðu forritun með EV3

Nútíma skólabörn vilja sjá litríkar niðurstöður. Já, þeim leiðist ef forritið prentar tölur á stjórnborðið og þeir vilja skoða litagröf, skýringarmyndir og búa til alvöru vélmenni sem hreyfa sig og fylgja skipunum. Venjulegur kóða virðist líka of flókinn fyrir börn, svo það er betra að byrja að læra með eitthvað auðveldara.

Grunn EV3 forritunarumhverfið er byggt á LabVIEW grafísku tungumáli og gerir þér kleift að tilgreina reiknirit fyrir vélmennið sjónrænt: skipanir eru settar fram í formi kubba sem hægt er að draga og tengja.

LEGO MINDSTORMS Education EV3 + MicroPython: forrita smíðasett fyrir börn á tungumáli fullorðinna

Þessi aðferð virkar vel þegar þú þarft að sýna hvernig reiknirit eru byggð upp, en hún hentar ekki forritum með fjölda kubba. Eftir því sem aðstæður verða flóknari er nauðsynlegt að fara yfir í forritun með kóða, en þetta skref er erfitt fyrir börn að taka. 

Það eru nokkur brögð hér, eitt þeirra er að sýna að kóðinn gerir það sama og kubbarnir. Í EV3 umhverfinu er þetta mögulegt með MicroPython samþættingu, þannig að krakkar geta búið til sama forritið bæði í grunnforritunarumhverfinu og Python í Visual Studio Code frá Microsoft. Þeir sjá að báðar aðferðirnar virka eins, en að leysa flókin vandamál með kóða er þægilegra.

Skiptir yfir í MicroPython

EV3 umhverfið er byggt á ARM9 örgjörva og verktaki skildu vísvitandi eftir arkitektúrnum opnum. Þessi lausn gerði það mögulegt að setja út annan fastbúnað, ein þeirra var mynd til að vinna með MicroPython. Það gerir þér kleift að nota Python til að forrita EV3 þinn og færa settið enn nær raunverulegum verkefnum. 

Til að byrja þarftu að hlaða niður EV3 MicroPython mynd á hvaða microSD kort sem er, settu það upp í EV3 örtölvunni og kveiktu á henni. Þá þarftu að setja upp ókeypis framlenging fyrir Visual Studio. Og þú getur byrjað að vinna. 

Að forrita fyrsta vélmennið í MycroPython

LEGO MINDSTORMS Education EV3 + MicroPython: forrita smíðasett fyrir börn á tungumáli fullorðinna

Á okkar Online Það eru nokkrir lexíur til að ná tökum á grunnhugtökum vélfærafræði. EV3 módel kynna börnum grunnatriðin sem notuð eru í sjálfkeyrandi bílum, verksmiðjusamsetningarvélmennum og CNC vélum. 

Við tökum dæmi um teiknivél sem hægt er að kenna að teikna mynstur og rúmfræðileg form. Þetta tilfelli er einfölduð útgáfa af vélmenni fyrir suðu eða fræsun fyrir fullorðna og sýnir hvernig EV3 er hægt að nota í tengslum við MicroPython til að kenna skólabörnum. Og teiknivél getur merkt göt á prentplötu fyrir pabba, en það er annað stig sem krefst stærðfræði.

Til vinnu þurfum við:

  • LEGO MINDSTORMS Education EV3 kjarnasett; 
  • stórt blað af köflóttum pappír;
  • lituð merki. 

Samsetning vélmennisins sjálfs er í leiðbeiningar, og við munum skoða forritunardæmi.

Fyrst frumstillum við EV3 einingasafnið:

#!/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

Við setjum upp pall sem snýr handfanginu eins og mótor í port B. Við stillum gírhlutfall tveggja þrepa gírlestar með fjölda tanna 20-12-28, í sömu röð.

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

Við stillum lyftibúnaðinn fyrir handfangið sem mótor í port C:

seesaw_motor = Motor(Port.C)

Við stillum gyroscope, sem mælir hallahorn handfangsins, í port 2:

gyro_sensor = GyroSensor(Port.S2)

Við stillum litskynjarann ​​í port 3. Skynjarinn er notaður til að greina hvítan pappír undir teiknivélinni:

color_sensor = ColorSensor(Port.S3)

Við stillum snertiskynjarann ​​í port 4. Vélmennið byrjar að teikna þegar ýtt er á skynjarann:

touch_sensor = TouchSensor(Port.S4)

Við skilgreinum aðgerðirnar sem hækka og lækka handfangið:

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)

Við skilgreinum fall til að snúa handfanginu í ákveðið horn eða í ákveðið horn:

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

Ef markhornið er stærra en núverandi gíróskynjarahorn skaltu halda áfram réttsælis með jákvæðum hraða:

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

Ef markhornið er minna en núverandi gíróskynjari, færið þá rangsælis:

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

Stöðvaðu snúningspallinn þegar markhorninu er náð:

  turntable_motor.stop(Stop.BRAKE)

Stilltu upphafsstöðu handfangsins í efri stöðu:

pen_holder_raise()

Nú kemur aðalhluti forritsins - endalaus lykkja. EV3 bíður fyrst eftir því að litskynjarinn greini hvítan pappír eða bláan upphafsferning og að ýtt sé á snertiskynjarann. Svo teiknar hann mynstur, fer aftur í upphafsstöðu og endurtekur allt aftur.

Þegar tækið er ekki tilbúið verða ljósdídurnar á stýrisbúnaðinum rauðar og „thumbs down“ mynd birtist á LCD skjánum:

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

Við bíðum þar til litskynjarinn telur blátt eða hvítt, stillum LED litinn á grænan, birtum „thumbs up“ mynd á LCD skjánum og tilkynnum að tækið sé tilbúið til notkunar:

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

Við bíðum eftir því að ýtt sé á snertiskynjarann, úthlutum horngildinu 0 á snúningsskynjarann ​​og byrjum að teikna:

  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)

Lyftu pennahaldaranum og farðu aftur í upprunalega stöðu:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

Þetta er einfalda forritið sem við höfum búið til. Og nú ræsum við það og skoðum teiknivélmennið í aðgerð. 

Hvað gefa slík dæmi?

LEGO MINDSTORMS Education EV3 + MicroPython: forrita smíðasett fyrir börn á tungumáli fullorðinna

EV3 er starfsleiðsögn fyrir STEM störf og inngangspunktur í verkfræðiferil. Þar sem það er hægt að nota til að leysa hagnýt vandamál, öðlast börn reynslu í tækniþróun og gerð iðnaðarvélmenna, læra að líkja eftir raunverulegum aðstæðum, skilja forrit og greina reiknirit og ná tökum á grunnforritunarsmíðum.

MicroPython stuðningur gerir EV3 vettvanginn hentugan fyrir framhaldsskólakennslu. Nemendur geta reynt sig sem forritarar á einu vinsælasta nútímamáli og kynnst starfsgreinum sem tengjast forritun og verkfræðihönnun. EV3-sett sýna að kóðun er ekki skelfileg, undirbúa þig fyrir alvarlegar verkfræðilegar áskoranir og hjálpa þér að taka fyrsta skrefið í átt að því að ná tökum á tæknikunnáttu. Og fyrir þá sem starfa í skólum og tengjast menntun, höfum við undirbúið kennsluforrit og fræðsluefni. Þær lýsa í smáatriðum hvaða færni er þróuð þegar ákveðin verkefni eru unnin og hvernig áunnin færni tengist þjálfunarstöðlum.

Heimild: www.habr.com

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster