LEGO MINDSTORMS Education EV3 + MicroPython: kukonza zomanga za ana muchilankhulo cha akulu

Moni, Habr! Ife kale anauza za LEGO MINDSTORMS Education EV3 nsanja. Zolinga zazikulu za nsanjayi ndikuphunzira kudzera mu zitsanzo zothandiza, kukulitsa luso la STEAM ndikukulitsa malingaliro aukadaulo. Itha kugwiritsidwa ntchito ku labotale pophunzira zimango ndi mphamvu. Mabenchi a labotale opangidwa kuchokera ku njerwa za LEGO ndi zida zojambulira ndikukonza deta zimapangitsa kuti zoyeserera zikhale zosangalatsa komanso zowoneka bwino komanso zimathandiza ana kumvetsetsa bwino sayansi. Mwachitsanzo, ophunzira akhoza kusonkhanitsa deta yosungunuka ndikugwiritsa ntchito pulogalamuyo kuti ayikonze ndikuyiwonetsa mu graph. Koma ichi ndi chiyambi chabe: lero tikuwuzani momwe mungathandizire seti iyi ndi malo opangira mapulogalamu a MicroPython ndikuigwiritsa ntchito pophunzitsa ma robotiki.

LEGO MINDSTORMS Education EV3 + MicroPython: kukonza zomanga za ana muchilankhulo cha akulu

Phunzirani mapulogalamu pogwiritsa ntchito EV3

Ana asukulu amakono amafuna kuwona zotsatira zokongola. Inde, amatopa ngati pulogalamuyo isindikiza manambala ku console, ndipo amafuna kuyang'ana ma graph amitundu, zojambula ndikupanga ma robot enieni omwe amasuntha ndikutsatira malamulo. Ma code okhazikika amawonekanso ovuta kwambiri kwa ana, choncho ndi bwino kuyamba kuphunzira ndi chinthu chosavuta.

Malo oyambira mapulogalamu a EV3 amachokera ku chilankhulo chojambula cha LabVIEW ndipo amakulolani kuti mutchule ma algorithms a robot mowoneka: malamulo amaperekedwa ngati midadada yomwe imatha kukokedwa ndikulumikizidwa.

LEGO MINDSTORMS Education EV3 + MicroPython: kukonza zomanga za ana muchilankhulo cha akulu

Njirayi imagwira ntchito bwino mukamafunika kuwonetsa momwe ma aligorivimu amapangidwira, koma sizoyenera mapulogalamu okhala ndi midadada yambiri. Pamene zochitika zimakhala zovuta kwambiri, m'pofunika kusamukira ku mapulogalamu ndi code, koma sitepe iyi ndi yovuta kuti ana atenge. 

Pali zidule zochepa pano, imodzi mwazomwe ndikuwonetsa kuti code imachita zomwezo ngati midadada. M'malo a EV3, izi ndizotheka kudzera mu kuphatikiza kwa MicroPython, kotero ana amatha kupanga pulogalamu yomweyo m'malo onse oyambira mapulogalamu a block block ndi Python mu Visual Studio Code ya Microsoft. Amawona kuti njira zonsezi zimagwira ntchito mofanana, koma kuthetsa mavuto ovuta pogwiritsa ntchito code ndikosavuta.

Kusintha kwa MicroPython

Chilengedwe cha EV3 chimamangidwa pa purosesa ya ARM9, ndipo opanga mwadala adasiya zomangazo zotseguka. Yankholi lidapangitsa kuti zitheke kutulutsa firmware ina, imodzi yomwe inali chithunzi chogwirira ntchito ndi MicroPython. Zimakupatsani mwayi wogwiritsa ntchito Python kukonza EV3 yanu, ndikubweretsa chidacho pafupi kwambiri ndi ntchito zenizeni. 

Kuti muyambe, muyenera kukopera Chithunzi cha EV3 MicroPython pa microSD khadi iliyonse, ikani mu EV3 microcomputer ndikuyatsa. Ndiye muyenera kukhazikitsa zowonjezera zaulere kwa Visual Studio. Ndipo mukhoza kuyamba ntchito. 

Kukonza loboti yoyamba ku MycroPython

LEGO MINDSTORMS Education EV3 + MicroPython: kukonza zomanga za ana muchilankhulo cha akulu

Pa wathu malo Pali maphunziro angapo odziwa mfundo zoyambira zama robotiki. Mitundu ya EV3 imadziwitsa ana zoyambira zomwe zimagwiritsidwa ntchito pamagalimoto odziyendetsa okha, maloboti ophatikizira fakitale, ndi makina a CNC. 

Titenga chitsanzo cha makina ojambulira, omwe angaphunzitsidwe jambulani mawonekedwe ndi mawonekedwe a geometric. Mlanduwu ndi mtundu wosavuta wa maloboti akuluakulu owotcherera kapena mphero ndipo ukuwonetsa momwe EV3 ingagwiritsire ntchito limodzi ndi MicroPython pophunzitsa ana asukulu. Ndipo makina ojambulira amatha kuyika mabowo pa bolodi losindikizidwa la abambo, koma ndi gawo lina lomwe limafunikira masamu.

Kuntchito timafunikira:

  • LEGO MINDSTORMS Education EV3 Core Set; 
  • pepala lalikulu la checkered;
  • zolembera zamitundu. 

Kukonzekera kwa robot komweko kuli mkati malangizo, ndipo tiwona chitsanzo cha mapulogalamu.

Choyamba timayambitsa laibulale ya module ya 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

Timakhazikitsa nsanja yomwe imazungulira chogwirira ngati galimoto mu doko B. Timayika chiŵerengero cha gear cha sitima yamagetsi yamagulu awiri ndi mano angapo a 20-12-28, motero.

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

Timakonza njira yonyamulira chogwirira ngati mota padoko C:

seesaw_motor = Motor(Port.C)

Timakonza gyroscope, yomwe imayesa kupendekera kwa chogwirira, padoko 2:

gyro_sensor = GyroSensor(Port.S2)

Timakonza sensa yamtundu mu doko 3. Sensa imagwiritsidwa ntchito kuti izindikire pepala loyera pansi pa makina ojambulira:

color_sensor = ColorSensor(Port.S3)

Timakonza sensor yogwira padoko 4. Loboti imayamba kujambula sensor ikakanizidwa:

touch_sensor = TouchSensor(Port.S4)

Timatanthauzira ntchito zomwe zimakweza ndi kutsitsa chogwirira:

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)

Timatanthawuza ntchito yozungulira chogwirira ku ngodya yoperekedwa kapena kukona inayake:

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

Ngati ngodya yomwe chandamale ndi yayikulu kuposa momwe gyro sensor iliri pano, pitilizani kutsata wotchi ndi liwiro labwino:

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

Ngati mbali yomwe mukufunayo ndi yocheperapo kuposa sensa ya gyro, ndiye yendani motsata wotchi:

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

Imitsani nsanja yozungulira pomwe mbali yomwe mukufuna yafika:

  turntable_motor.stop(Stop.BRAKE)

Khazikitsani malo oyamba a chogwiriracho pamalo apamwamba:

pen_holder_raise()

Tsopano pakubwera gawo lalikulu la pulogalamuyi - kuzungulira kosatha. EV3 imadikirira kaye sensa yamtundu kuti izindikire pepala loyera kapena bwalo loyambira labuluu ndi kuti sensor yogwira ikanikizidwe. Kenaka amajambula chitsanzo, amabwerera kumalo oyambira ndikubwereza chirichonse kachiwiri.

Chidacho sichinakonzekere, ma LED omwe ali pa chowongolera amakhala ofiira ndipo chithunzi cha "thumbs pansi" chikuwonetsedwa pazenera la LCD:

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

Timadikirira mpaka sensa yamtundu iwerenge buluu kapena yoyera, ikani mtundu wa LED kukhala wobiriwira, kuwonetsa chithunzi cha "thumbs up" pazithunzi za LCD ndikunena kuti chipangizocho chakonzeka kugwiritsidwa ntchito:

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

Timadikirira kuti sensor yokhudza ikanikizidwe, perekani mtengo wa 0 ku sensa ya gyroscopic ndikuyamba kujambula:

  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)

Kwezani cholembera cholembera ndikuchibwezera pamalo pomwe chinali:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

Iyi ndi pulogalamu yosavuta yomwe tapanga. Ndipo tsopano tikuyiyambitsa ndikuyang'ana robot yojambula ikugwira ntchito. 

Kodi zitsanzo zoterezi zikupereka chiyani?

LEGO MINDSTORMS Education EV3 + MicroPython: kukonza zomanga za ana muchilankhulo cha akulu

EV3 ndi chida chowongolera ntchito pantchito za STEM komanso malo olowera pantchito zauinjiniya. Popeza angagwiritsidwe ntchito kuthetsa mavuto othandiza, ana amapeza luso lachitukuko chaumisiri ndi kupanga maloboti a mafakitale, amaphunzira kutengera zochitika zenizeni, kumvetsetsa mapulogalamu ndi kusanthula ma aligorivimu, ndikuchita bwino pomanga mapulogalamu oyambira.

Thandizo la MicroPython limapangitsa nsanja ya EV3 kukhala yoyenera kuphunzitsa kusukulu yasekondale. Ophunzira atha kudziyesa okha ngati okonza mapulogalamu m'chinenero chimodzi chodziwika bwino chamakono, ndikudziwana ndi ntchito zokhudzana ndi kupanga mapulogalamu ndi zomangamanga. Zida za EV3 zikuwonetsa kuti kukopera sikowopsa, kumakukonzekeretsani ku zovuta zauinjiniya, ndikukuthandizani kuti mutengepo gawo loyamba lodziwa luso laukadaulo. Ndipo kwa iwo omwe amagwira ntchito kusukulu ndipo amagwirizana ndi maphunziro, takonzekera mapulogalamu a maphunziro ndi zipangizo zamaphunziro. Amalongosola mwatsatanetsatane maluso omwe amapangidwa pochita ntchito zina, komanso momwe luso lomwe mwapeza likukhudzana ndi miyezo yophunzitsira.

Source: www.habr.com

Gulani kuchititsa kodalirika kwamasamba okhala ndi chitetezo cha DDoS, ma seva a VPS VDS Gulani malo odalirika osungira mawebusayiti okhala ndi chitetezo cha DDoS, ma seva a VPS VDS | ProHoster