LEGO MINDSTORMS Dzidzo EV3 + MicroPython: kuronga kuvaka kwevana kwakaiswa mumutauro wevakuru.

Mhoro, Habr! Isu tatova kuudzwa nezve LEGO MINDSTORMS Dzidzo EV3 papuratifomu. Zvinangwa zvikuru zvepuratifomu iyi kudzidza kuburikidza nemienzaniso inoshanda, kuvandudza hunyanzvi hweSTEAM uye kugadzira kufunga kweinjiniya. Inogona kushandiswa kuita basa rerabhoritari pakudzidza mechanics uye dynamics. Marabhoritari anomira akagadzirwa ne LEGO zvidhinha uye zvekushandisa zvekurekodha nekugadzirisa data zvinoita kuti zviedzo zvinyanye kunakidza uye zvinoonekwa uye zvinobatsira vana kunzwisisa zviri nani fizikisi. Semuyenzaniso, vana vechikoro vanogona kuunganidza dhata pamusoro penzvimbo yakanyungudika voshandisa iyo application kuigadzirisa uye kuiratidza segirafu. Asi ichi chingori mavambo: nhasi tichakuudza nzira yekuwedzera iyi seti neiyo MicroPython programming nharaunda uye kuishandisa kudzidzisa marobhoti.

LEGO MINDSTORMS Dzidzo EV3 + MicroPython: kuronga kuvaka kwevana kwakaiswa mumutauro wevakuru.

Dzidza kuronga neEV3

Vana vechikoro vemazuva ano vanoda kuona mhedzisiro ine mavara. Ehe, vanobhoikana kana chirongwa chikaburitsa manhamba kune koni, uye ivo vanoda kutarisa mavara ane mavara magirafu, madhayagiramu uye kugadzira marobhoti chaiwo anofambisa uye anoita mirairo. Kodhi yakajairika zvakare inoita seyakaomesesa kuvana, saka zviri nani kutanga kudzidza nechimwe chinhu chiri nyore.

Iyo EV3 basic programming nharaunda yakavakirwa paLabVIEW graphical mutauro uye inobvumidza iwe kuseta algorithms yerobhoti nemeso: mirairo inounzwa semabhuraki anogona kudhonzwa uye kubatana.

LEGO MINDSTORMS Dzidzo EV3 + MicroPython: kuronga kuvaka kwevana kwakaiswa mumutauro wevakuru.

Iyi nzira inoshanda zvakanaka kana iwe uchida kuratidza kuti algorithms inovakwa sei, asi haina kukodzera mapurogiramu ane nhamba huru yezvivharo. Sezvo mamiriro acho achiwedzera kuoma, iwe unofanirwa kuenderera kune chirongwa nekodhi, asi vana vanoona danho iri rakaoma. 

Pane mashoma mashoma kune izvi, imwe yacho ndeye kuratidza kuti kodhi inoita zvakafanana nemabhuroko. Iyo EV3 nharaunda inoita izvi kuburikidza nekubatanidzwa neMicroPython: vana vanogadzira chirongwa chimwe chete munzvimbo yekutanga hurongwa vachishandisa zvidhinha uye muPython muMicrosoft Visual Studio Code. Vanoona kuti nzira mbiri dzinoshanda nenzira imwechete, asi kodhi iri nani pakugadzirisa matambudziko akaoma.

Kuchinjira kuMicroPython

Iyo EV3 nharaunda yakavakirwa pane iyo ARM9 processor, uye vanogadzira vakasiya nemaune chivakwa chakavhurika. Iyi sarudzo yakabvumira kuiswa kweimwe firmware, imwe yaive mufananidzo wekushanda neMicroPython. Inobvumira kushandisa Python yekuronga EV3, iyo inoita kuti kushanda nekiti kuve pedyo nemabasa chaiwo ehupenyu. 

Kuti utange kushanda, unofanirwa kudhawunirodha EV3 MicroPython mufananidzo kune chero microSD kadhi, isa muEV3 zvidhinha uye woibatidza. Zvadaro unofanira kuisa free extension yeVisual Studio. Uye iwe unogona kutanga kushanda. 

Kugadzira iyo yekutanga robhoti muMycroPython

LEGO MINDSTORMS Dzidzo EV3 + MicroPython: kuronga kuvaka kwevana kwakaiswa mumutauro wevakuru.

Pane yedu site Pane zvidzidzo zvakati wandei zvekugona iwo ekutanga pfungwa dzemarobhoti. Mienzaniso paEV3 inosuma vana kune izvo zvekutanga zvinoshandiswa mumotokari dzinozvityaira, marobhoti ekugadzira fekitori, CNC michina. 

Tichatora semuenzaniso muchina wekudhirowa unogona kudzidziswa kudhirowa mapatani uye maumbirwo ejometri. Nyaya iyi ishanduro yakapfava yemarobhoti evakuru ekuwelda kana anogaya uye inoratidza kuti EV3 inogona kushandiswa sei pamwe neMicroPython kudzidzisa vana vechikoro. Muchina wekudhirowa unogona zvakare kumaka maburi mubhodhi redunhu rakadhindwa rababa, asi ndiyo imwe nhanho inoda masvomhu.

Zvebasa tichada:

  • LEGO MINDSTORMS Dzidzo EV3 Basic Set; 
  • pepa guru repepa rakapetwa;
  • mavara mavara. 

Kuungana kwerobhoti pachayo kuri mukati mirayiridzo, uye isu tichatarisa muenzaniso wepurogiramu.

Kutanga, ngatitangei EV3 Brick Library:

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

Isu tinogadzirisa chikuva chinotenderera chibatiso semotokari muchiteshi chengarava B. Isu tinoisa chiyero chegiya rematanho maviri-matanho ekufambisa nenhamba yemeno 20-12-28 maererano.

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

Isu tinomisa nzira yekusimudza yemubato semota muchiteshi C:

seesaw_motor = Motor(Port.C)

Isu tinomisa gyroscope iyo inoyera kurereka kona yedanda muchiteshi chechipiri:

gyro_sensor = GyroSensor(Port.S2)

Isu tinomisa sensor yemavara muchiteshi 3. Iyo sensor inoshandiswa kuona bepa jena pasi pemuchina wekudhirowa:

color_sensor = ColorSensor(Port.S3)

Isu tinoisa iyo yekubata sensor muchiteshi 4. Robhoti inotanga kudhirowa kana sensor ichidzvanywa:

touch_sensor = TouchSensor(Port.S4)

Isu tinotsanangura mabasa anosimudza nekudzikisa mubato:

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)

Isu tinotsanangura basa rekutenderedza mubato nekona yakapihwa kana kune imwe kona:

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

Kana iyo kona yakanangwa yakakura kupfuura yazvino gyro sensor angle, ramba uchifamba uchitevera wachi nekumhanya kwakanaka:

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

Kana iyo kona yakanangwa iri shoma pane yazvino gyro sensor angle, tobva tafamba tichipikisa:

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

Misa puratifomu inotenderera kana iyo kona yechinangwa yasvika:

  turntable_motor.stop(Stop.BRAKE)

Isu tinoisa nzvimbo yekutanga yekubata kunzvimbo yepamusoro:

pen_holder_raise()

Ikozvino kunouya chikamu chikuru chechirongwa - chisingaperi loop. Kutanga, iyo EV3 inomirira iyo sensor yemavara kuti ione chena bepa kana yebhuruu yekutanga sikweya, uye iyo yekubata sensor inotsikirirwa. Zvadaro inotora muenzaniso, inodzokera kunzvimbo yekutanga uye inodzokorora zvakare zvakare.

Kana mudziyo usati wagadzirira, maLED ari pa controller anotsvuka uye chiratidzo che "chigunwe pasi" chinoratidzwa paLCD skrini:

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

Isu tinomirira kudzamara sensor yeruvara yaona bhuruu kana chena, isa ruvara rwema LED kune girini, ratidza "chigunwe kumusoro" mufananidzo paLCD skrini uye taura kuti mudziyo wagadzirira kushanda:

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

Isu takamirira iyo yekubata sensor kuti itsindirwe, ipa iyo gyroscopic sensor kukosha kwe0 uye tanga kudhirowa:

  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)

Isu tinosimudza chibatiso chepeni tochidzosera kunzvimbo yayo yepakutanga:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

Ichi ndicho chirongwa chiri nyore chatakawana. Zvino ngatitangei uye titarise iro robhoti dhizaini ichiita. 

Mienzaniso yakadaro inopa chii?

LEGO MINDSTORMS Dzidzo EV3 + MicroPython: kuronga kuvaka kwevana kwakaiswa mumutauro wevakuru.

EV3 chishandiso chekutungamira basa kune STEM hunyanzvi uye nzvimbo yekupinda muhunyanzvi hweinjiniya. Sezvo ichigona kugadzirisa matambudziko anoshanda, vana vanowana ruzivo mukuvandudza kwehunyanzvi uye kugadzira marobhoti emaindasitiri, dzidza kuenzanisira mamiriro chaiwo, kunzwisisa zvirongwa uye kuongorora algorithms, uye hunyanzvi hwekutanga hurongwa hwekuvaka.

Tsigiro yeMicroPython inoita kuti EV3 chikuva chakakodzera dzidzo yechikoro chesekondari. Vadzidzi vanogona kuzviedza pachavo mubasa revagadziri vepurogiramu mune imwe yemitauro inonyanya kufarirwa yemazuva ano, zivana nemabasa ane chokuita nekugadzira uye engineering dhizaini. EV3 seti dzinoratidza kuti kunyora kodhi hakutyisi, gadzirira akakura einjiniya mabasa uye batsira kutora nhanho yekutanga kuenda kuhunyanzvi hwehunyanzvi. Uye kune avo vanoshanda muzvikoro uye vanobatanidzwa nedzidzo, takagadzirira mapurogiramu ezvidzidzo uye zvekudzidzisa. Vanotsanangura zvakadzama kuti ndeupi hunyanzvi hunogadzirwa pakuita mamwe mabasa, uye kuti hunyanzvi hwakawanikwa hunoenderana sei nemiyero yekudzidziswa.

Source: www.habr.com

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva 🔥 Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster