LEGO MINDSTORMS Education EV3 + MicroPython: fa'apolokalameina se fauga a tamaiti i le gagana matutua.

Talofa, Habr! Ua uma ona tatou taʻu e uiga i le LEGO MINDSTORMS Education EV3 platform. O sini autu o lenei tulaga o le aʻoaʻoina e ala i faʻataʻitaʻiga faʻatino, atinaʻeina o tomai STEAM ma atinaʻe se mafaufau faʻainisinia. E mafai ona faʻaaogaina mo galuega suʻesuʻe e suʻesuʻe ai masini ma faʻamalosi. O nofoa su'esu'e e fai mai piliki LEGO ma mea aoga mo le pu'eina ma le fa'agaioia o fa'amaumauga e sili atu ona manaia ma va'aia ma fesoasoani i tamaiti ia malamalama atili i le fisiki. Mo se faʻataʻitaʻiga, e mafai e tamaiti aʻoga ona aoina faʻamaumauga o mea faʻafefe ma faʻaoga le app e faʻatulaga ai ma tuʻuina atu i se kalafi. Ae na o le amataga lenei: o le asō o le a matou taʻu atu ia te oe pe faʻafefea ona faʻapipiʻi lenei seti ma le MicroPython polokalame siosiomaga ma faʻaaogaina e aʻoaʻo ai robotics.

LEGO MINDSTORMS Education EV3 + MicroPython: fa'apolokalameina se fauga a tamaiti i le gagana matutua.

A'oa'o polokalame fa'aoga EV3

O tamaiti a'oga i aso nei e fia va'ai i'uga felanulanua'i. Ioe, latou te le fiafia pe a lolomi e le polokalame numera i le faʻamafanafanaga, ma latou te manaʻo e vaʻai i lanu lanu, ata ma fatuina robots moni e gaoioi ma mulimuli i poloaiga. O tulafono masani e foliga mai e faigata tele mo tamaiti, o lea e sili ai le amata aʻoaʻoina i se mea faigofie.

O le siosiomaga faʻavae polokalame EV3 e faʻavae i luga o le gagana faʻataʻitaʻi LabVIEW ma faʻatagaina oe e faʻamaonia algorithms mo le robot vaʻaia: o poloaiga o loʻo tuʻuina atu i foliga o poloka e mafai ona toso ma fesoʻotaʻi.

LEGO MINDSTORMS Education EV3 + MicroPython: fa'apolokalameina se fauga a tamaiti i le gagana matutua.

O lenei metotia e aoga lelei pe a manaʻomia ona e faʻaalia pe faʻafefea ona fausia algorithms, ae e le talafeagai mo polokalame ma se numera tele o poloka. A'o fa'asolosolo lavelave fa'ata'ita'iga, e mana'omia le aga'i atu i polokalame fa'atasi ai ma fa'ailoga, ae o lenei la'asaga e faigata mo tamaiti ona fai. 

O loʻo i ai nai togafiti iinei, o se tasi o ia mea e faʻaalia ai o loʻo faia e le code le mea lava e tasi e pei o poloka. I le si'osi'omaga EV3, e mafaia lenei mea e ala i le tu'ufa'atasia o MicroPython, ina ia mafai e tamaiti ona fatuina le polokalame lava e tasi i totonu o le si'osi'omaga poloka poloka ma le Python i le Visual Studio Code a Microsoft. Latou te vaʻaia o auala uma e lua e tutusa, ae o le foia o faʻafitauli faigata e faʻaaoga ai le code e sili atu ona faigofie.

Su'e ile MicroPython

O le siosiomaga EV3 o loʻo fausia i luga o le ARM9 processor, ma na tuʻua ma le loto i ai e le au atiaʻe le fausaga o fale. O lenei fofo na mafai ai ona taʻavale isi firmware, o se tasi o se ata mo le galue ma MicroPython. E fa'atagaina oe e fa'aoga le Python e fa'apolokalame ai lau EV3, e fa'alatalata atili ai le pusa i galuega moni. 

Ina ia amata, e tatau ona e sii maia EV3 MicroPython ata i luga o soʻo se microSD card, faʻapipiʻi i le EV3 microcomputer ma ki. Ona e manaʻomia lea e faʻapipiʻi fa'aopoopoga saoloto mo Visual Studio. Ma e mafai ona e amata galue. 

Polokalama le robot muamua i MycroPython

LEGO MINDSTORMS Education EV3 + MicroPython: fa'apolokalameina se fauga a tamaiti i le gagana matutua.

I luga o tatou saite E tele lesona mo le fa'ata'ita'iina o manatu fa'avae o robotics. O fa'ata'ita'iga EV3 e fa'ailoa atu ai i tamaiti le fa'avae o lo'o fa'aogaina i ta'avale ta'avale, masini fa'apipi'i falegaosimea, ma masini CNC. 

O le a matou faia le faʻataʻitaʻiga o se masini tusi, lea e mafai ona aʻoaʻoina e tusi mamanu ma foliga faʻaigoa. O lenei mataupu o se faʻataʻitaʻiga faigofie o tagata matutua uʻamea poʻo masini viliina ma faʻaalia le faʻaogaina o le EV3 faʻatasi ma le MicroPython e aʻoaʻo ai tamaiti aʻoga. Ma o se masini ata tusi e mafai ona maka pu i se laupapa matagaluega lolomi mo tama, ae o le isi lea tulaga e manaʻomia ai le numera.

Mo galuega tatou te manaʻomia:

  • LEGO MINDSTORMS Education EV3 Core Set; 
  • laupepa lapoa o pepa siaki;
  • fa'ailoga lanu. 

O le faʻapotopotoga a le robot lava ia o loʻo i totonu faatonuga, ma o le a tatou tilotilo i se faʻataʻitaʻiga polokalame.

Muamua matou te amataina le potutusi o le EV3 module:

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

Matou te faʻatutuina se faʻavae e sui ai le au e pei o se afi i totonu o le taulaga B. Matou te setiina le fua faʻatatau o se nofoaafi e lua-laasaga ma le numera o nifo o le 20-12-28, i le faasologa.

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

Matou te faʻatulagaina le masini siʻitia mo le 'au e pei o se afi i le taulaga C:

seesaw_motor = Motor(Port.C)

Matou te faʻatulagaina le gyroscope, lea e fua ai le maualuga o le faʻaogaina o le au, i le taulaga 2:

gyro_sensor = GyroSensor(Port.S2)

Matou te faʻapipiʻiina le lanu lanu i totonu o le taulaga 3. E faʻaaogaina le masini e iloa ai pepa paʻepaʻe i lalo o le masini ata:

color_sensor = ColorSensor(Port.S3)

Matou te faʻapipiʻiina le masini paʻi i totonu o le taulaga 4. E amata le ata o le robot pe a oomi le masini:

touch_sensor = TouchSensor(Port.S4)

Matou te faʻamalamalamaina galuega e sii ma faʻaititia ai le au:

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)

Matou te faauigaina se galuega e sui ai le au i se tulimanu tuʻuina atu poʻo se isi itu:

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

Afai e sili atu le tulimanu taula'i nai lo le tulimanu gyro sensor o lo'o i ai nei, fa'aauau le fa'asolosolo fa'asolosolo ma se saoasaoa lelei:

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

Afai e la'ititi le tulimanu fa'atatau i lo le masini gyro o lo'o iai nei, ona fa'agaoioi lea i le fa'afeagai fa'afeagai:

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

Taofi le tulaga taamilo pe a oʻo i le tulimanu faʻamoemoe:

  turntable_motor.stop(Stop.BRAKE)

Seti le tulaga muamua o le au i le tulaga pito i luga:

pen_holder_raise()

O lea ua oʻo mai le vaega autu o le polokalame - o se matasele e le gata. E fa'atali muamua le EV3 mo le masini lanu e iloa ai se pepa pa'epa'e po'o se sikuea amata lanumoana ma mo le pa'i pa'i e oomi. Ona ia tusia lea o se mamanu, toe foi i le tulaga amata ma toe fai mea uma.

Pe a le'i saunia le masini, o le LED i luga o le pule e liliu mumu ma o se ata "lima matua i lalo" o loʻo faʻaalia i luga o le mata LCD:

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

Matou te faʻatali seʻia oʻo i le lanu lanu moana e faitau lanumoana pe paʻepaʻe, seti le lanu LED i le lanumeamata, faʻaali se ata "matua limamatua" i luga o le mata LCD ma lipoti atu ua sauni le masini mo le faʻaaogaina:

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

Matou te faʻatali mo le paʻi paʻi e faʻapipiʻi, tuʻu le taua o le angle 0 i le gyroscopic sensor ma amata tusi:

  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)

Si'i i luga le fa'amau peni ma toe fa'afo'i i lona tulaga muamua:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

O le polokalame faigofie lea ua matou fatuina. Ma o lea ua matou faʻalauiloa ma vaʻavaʻai i le faʻataʻitaʻiga robot i le gaioiga. 

O le a le mea ua aumaia e na faataitaiga?

LEGO MINDSTORMS Education EV3 + MicroPython: fa'apolokalameina se fauga a tamaiti i le gagana matutua.

O le EV3 ose meafaigaluega e ta'ita'ia ai matata mo galuega a le STEM ma se mea e ulufale ai i galuega fa'ainisinia. Talu ai e mafai ona faʻaaogaina e foia ai faʻafitauli faʻapitoa, e maua e tamaiti le poto masani i atinaʻe faʻapitoa ma le fausiaina o robots fale gaosi oloa, aʻoaʻo e faʻataʻitaʻi tulaga moni, malamalama i polokalame ma auʻiliʻili algorithms, ma faʻatautaia faʻavae polokalame faʻavae.

O le lagolago a le MicroPython e mafai ai ona fetaui le EV3 platform mo aʻoaʻoga maualuga. E mafai e tamaiti aʻoga ona faʻataʻitaʻiina i latou lava e avea ma tagata fai polokalame i se tasi o gagana sili ona lauiloa i aso nei, ma faamasani i matata e fesoʻotaʻi ma polokalame ma faʻainisinia mamanu. EV3 kits e faʻaalia ai e le faʻafefe le faʻailoga, saunia oe mo luitau ogaoga faʻainisinia, ma fesoasoani ia te oe e faia le laasaga muamua i le faʻataʻitaʻiina o tomai faʻapitoa. Ma mo i latou o loʻo galulue i aʻoga ma fesoʻotaʻi ma aʻoaʻoga, ua matou saunia polokalame o lesona ma mea tau aoaoga. Latou te fa'amatala au'ili'ili po'o a tomai e atia'e pe a fa'atino galuega fa'apitoa, ma pe fa'afefea ona feso'ota'i tomai e maua i tulaga tau a'oa'oga.

puna: www.habr.com

Faʻatau talimalo faʻatuatuaina mo nofoaga ma DDoS puipuiga, VPS VDS servers 🔥 Fa'atau le 'upega tafa'ilagi talimalo fa'atuatuaina ma le puipuiga DDoS, 'au'aunaga VPS VDS | ProHoster