LEGO MINDSTORMS Education EV3 + MicroPython: hoʻonohonoho i kahi kūkulu ʻana o nā keiki ma ka ʻōlelo makua

Aloha, Habr! Ua loaʻa iā mākou haʻiʻia e pili ana i ke kahua LEGO MINDSTORMS Education EV3. ʻO nā pahuhopu nui o kēia paepae ke aʻo ʻana ma o nā hiʻohiʻona kūpono, ka hoʻomohala ʻana i nā mākau STEAM a me ka hoʻomohala ʻana i kahi noʻonoʻo ʻenekinia. Hiki ke hoʻohana ʻia no ka hana hoʻokolohua e aʻo i ka mechanics a me ka dinamika. ʻO nā papa hana hoʻokolohua i hana ʻia mai nā pōhaku lepo LEGO a me nā pono no ka hoʻopaʻa ʻana a me ka hoʻoili ʻana i ka ʻikepili e hana i nā hoʻokolohua ʻoi aku ka hoihoi a me ka ʻike a kōkua i nā keiki e hoʻomaopopo maikaʻi i ka physics. No ka laʻana, hiki i nā haumāna ke hōʻiliʻili i ka ʻikepili helu hehee a hoʻohana i ka polokalamu e hoʻonohonoho a hōʻike iā ia ma ka pakuhi. Akā ʻo kēia ka hoʻomaka: i kēia lā e haʻi mākou iā ʻoe pehea e hoʻokō ai i kēia hoʻonohonoho me ka MicroPython programming environment a hoʻohana iā ia e aʻo i nā robotics.

LEGO MINDSTORMS Education EV3 + MicroPython: hoʻonohonoho i kahi kūkulu ʻana o nā keiki ma ka ʻōlelo makua

E aʻo i ka polokalamu me ka hoʻohana ʻana iā EV3

Makemake nā keiki kula hou e ʻike i nā hopena kala. ʻAe, luhi lākou inā paʻi ka papahana i nā helu i ka console, a makemake lākou e nānā i nā kiʻi kala, nā kiʻi a hana i nā robots maoli e neʻe a hahai i nā kauoha. He mea paʻakikī loa ka code maʻamau no nā keiki, no laila ʻoi aku ka maikaʻi o ka hoʻomaka ʻana e aʻo me kahi mea maʻalahi.

Hoʻokumu ʻia ka ʻōnaehana polokalamu EV3 ma ka ʻōlelo kiʻi LabVIEW a hiki iā ʻoe ke kuhikuhi i nā algorithms no ka robot me ka ʻike maka: hōʻike ʻia nā kauoha ma ke ʻano o nā poloka i hiki ke kauo a pili.

LEGO MINDSTORMS Education EV3 + MicroPython: hoʻonohonoho i kahi kūkulu ʻana o nā keiki ma ka ʻōlelo makua

Hana maikaʻi kēia ʻano i ka wā e pono ai ʻoe e hōʻike i ke ʻano o ke kūkulu ʻia ʻana o nā algorithms, akā ʻaʻole kūpono ia no nā polokalamu me ka nui o nā poloka. I ka lilo ʻana o nā hiʻohiʻona i mea paʻakikī, pono e neʻe i ka polokalamu me ke code, akā paʻakikī kēia kaʻina no nā keiki e lawe. 

Aia kekahi mau hana hoʻopunipuni ma ʻaneʻi, ʻo ia ka hōʻike ʻana e hana like ke code me nā poloka. Ma ke kaiapuni EV3, hiki ke hana ia ma o MicroPython hoʻohui, no laila hiki i nā keiki ke hana i ka papahana like i loko o ka papahana papahana poloka kumu a me Python i ka Visual Studio Code o Microsoft. ʻIke lākou he hana like nā ʻano ʻelua, akā ʻoi aku ka maʻalahi o ka hoʻoponopono ʻana i nā pilikia paʻakikī me ka hoʻohana ʻana i ke code.

Ke hoʻololi nei iā MicroPython

Kūkulu ʻia ka ʻenehana EV3 ma kahi kaʻina hana ARM9, a ua haʻalele nā ​​​​mea hoʻomohala i ka wehe ʻana i ka hale hana. ʻO kēia hoʻonā i hiki ai ke ʻōwili i kahi firmware ʻē aʻe, ʻo kekahi o ia he kiʻi no ka hana ʻana me MicroPython. Hiki iā ʻoe ke hoʻohana iā Python e hoʻolālā i kāu EV3, e hoʻokokoke ana i ka pahu i nā hana maoli. 

No ka hoʻomaka ʻana, pono ʻoe e hoʻoiho EV3 MicroPython kiʻi ma kekahi kāleka microSD, e hoʻokomo i loko o ka microcomputer EV3 a hoʻohuli iā ia. A laila pono ʻoe e hoʻokomo hoʻopaneʻe manuahi no Visual Studio. A hiki iā ʻoe ke hoʻomaka i ka hana. 

Hoʻolālā i ka robot mua ma MycroPython

LEGO MINDSTORMS Education EV3 + MicroPython: hoʻonohonoho i kahi kūkulu ʻana o nā keiki ma ka ʻōlelo makua

Ma kā mākou kahua pūnaewele Nui nā haʻawina no ka haku ʻana i nā manaʻo kumu o ka robotics. Hoʻokomo nā kumu hoʻohālike EV3 i nā keiki i nā kumu kumu i hoʻohana ʻia i nā kaʻa kaʻa ponoʻī, nā robots hui hale hana, a me nā mīkini CNC. 

E lawe mākou i ka laʻana o ka mīkini kaha kiʻi, hiki ke aʻo ʻia e kaha kiʻi kiʻi a me nā ʻano geometric. He ʻano maʻalahi kēia o ka wiliwili makua a i ʻole nā ​​robots milling a hōʻike i ka hiki ke hoʻohana ʻia ʻo EV3 me MicroPython e aʻo ai i nā keiki kula. A hiki i ka mīkini kaha kiʻi ke kaha i nā lua o ka papa kaapuni i paʻi ʻia no ka makua kāne, akā ʻo ia kahi pae ʻē aʻe e pono ai ka makemakika.

No ka hana, pono mākou:

  • LEGO MINDSTORMS Education EV3 Core Set; 
  • pepa nui i hoʻopaʻa ʻia;
  • hōʻailona kala. 

Aia ka hui o ka lopako pono'ī nā kuhikuhi, a e nānā mākou i kahi hiʻohiʻona papahana.

Hoʻomaka mua mākou i ka waihona waihona 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

Hoʻonohonoho mākou i kahi paepae e hoʻohuli ai i ka lima e like me ke kaʻa ma ke awa B. Hoʻonohonoho mākou i ka ratio o kahi kaʻaahi ʻelua-pae me nā niho o 20-12-28, kēlā me kēia.

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

Hoʻonohonoho mākou i ka mīkini hoʻokiʻekiʻe no ka ʻauʻau ma ke ʻano he kaʻa ma ke awa C:

seesaw_motor = Motor(Port.C)

Hoʻonohonoho mākou i ka gyroscope, ka mea e ana i ke kihi o ka inclination o ka lima, ma ke awa 2:

gyro_sensor = GyroSensor(Port.S2)

Hoʻonohonoho mākou i ka ʻike kala ma ke awa 3. Hoʻohana ʻia ka ʻike e ʻike i ka pepa keʻokeʻo ma lalo o ka mīkini kaha kiʻi:

color_sensor = ColorSensor(Port.S3)

Hoʻonohonoho mākou i ka mea ʻike paʻi ma ke awa 4. Hoʻomaka ka robot i ke kaha kiʻi i ka wā e kaomi ʻia ai ka mea ʻike:

touch_sensor = TouchSensor(Port.S4)

Ho'ākāka mākou i nā hana e hoʻokiʻekiʻe a hoʻohaʻahaʻa i ka lima:

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)

Wehewehe mākou i kahi hana e hoʻohuli ai i ka lima i kahi kihi i hāʻawi ʻia a i kekahi kihi paha:

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

Inā ʻoi aku ka ʻoi aku o ka huina i hoʻopaʻa ʻia ma mua o ke kihi gyro sensor i kēia manawa, e hoʻomau i ka uaki me ka wikiwiki maikaʻi:

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

Inā ʻoi aku ka liʻiliʻi o ka huina i hoʻopaʻa ʻia ma mua o ka mea ʻike gyro i kēia manawa, a laila e neʻe i ka ʻaoʻao ʻaoʻao ʻākau:

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

E hooki i ka paepae kaʻa ʻana i ka wā i hiki aku ai ke kihi ʻimi:

  turntable_motor.stop(Stop.BRAKE)

E hoʻonoho i ke kūlana mua o ka lima ma ke kūlana kiʻekiʻe:

pen_holder_raise()

Ke hele mai nei ka ʻāpana nui o ka papahana - kahi loop pau ʻole. E kali mua ʻo EV3 i ka ʻike kala e ʻike i kahi pepa keʻokeʻo a i ʻole ka polū hoʻomaka square a no ke kaomi ʻana i ka mea ʻike paʻi. A laila huki ʻo ia i kahi kumu, hoʻi i ke kūlana hoʻomaka a hana hou i nā mea āpau.

Ke mākaukau ʻole ka hāmeʻa, huli ʻulaʻula nā LED ma luna o ka mea hoʻoponopono a hōʻike ʻia ke kiʻi "lima lima i lalo" ma ka pale LCD:

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

Ke kali nei mākou a hiki i ka helu ʻana o ka mea ʻike kala i ka uliuli a i ʻole keʻokeʻo, e hoʻonohonoho i ke kala LED i ʻōmaʻomaʻo, e hōʻike i kahi kiʻi "kumu lima" ma ka pale LCD a hōʻike ua mākaukau ka mea hoʻohana:

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

Ke kali nei mākou no ka paʻi ʻana i ka mea ʻike paʻi, hāʻawi i ka waiwai kihi 0 i ka sensor gyroscopic a hoʻomaka i ke kaha kiʻi:

  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)

E hoʻokiʻekiʻe i ka paʻa peni a hoʻihoʻi i kona kūlana mua:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

ʻO kēia ka papahana maʻalahi a mākou i hana ai. A i kēia manawa hoʻomaka mākou a nānā i ka robot hoʻolālā i ka hana. 

He aha ka mea e hāʻawi mai ai ia mau laʻana?

LEGO MINDSTORMS Education EV3 + MicroPython: hoʻonohonoho i kahi kūkulu ʻana o nā keiki ma ka ʻōlelo makua

He mea hana alakaʻi alakaʻi ʻoihana ʻo EV3 no nā ʻoihana STEM a he wahi komo i nā ʻoihana ʻenekinia. No ka mea hiki ke hoʻohana ʻia e hoʻoponopono i nā pilikia kūpono, loaʻa i nā keiki ka ʻike i ka hoʻomohala ʻenehana a me ka hana ʻana i nā robots ʻoihana, e aʻo e hoʻohālikelike i nā kūlana maoli, e hoʻomaopopo i nā papahana a me ka nānā ʻana i nā algorithms, a me ka haku i nā kūkulu papahana kumu.

Hoʻokumu ke kākoʻo MicroPython i ka paepae EV3 i kūpono no ke aʻo kula kiʻekiʻe. Hiki i nā haumāna ke hoʻāʻo iā lākou iho ma ke ʻano he papahana ma kekahi o nā ʻōlelo kaulana loa o kēia wā, a kamaʻāina i nā ʻoihana e pili ana i ka papahana a me ka hoʻolālā ʻenekinia. Hōʻike nā kits EV3 ʻaʻole makaʻu ka coding, hoʻomākaukau iā ʻoe no nā pilikia ʻenekinia koʻikoʻi, a kōkua iā ʻoe e hana i ka hana mua i ka haku ʻana i nā mākau loea. A no ka poʻe hana i nā kula a pili pū me ka hoʻonaʻauao, ua hoʻomākaukau mākou papahana haʻawina a me nā mea hoʻonaʻauao. Hōʻike kikoʻī lākou i nā mākau i hoʻomohala ʻia i ka wā e hana ana i kekahi mau hana, a pehea e pili ai nā mākau i loaʻa i nā kūlana hoʻomaʻamaʻa.

Source: www.habr.com

E kūʻai i ka hoʻokipa hilinaʻi no nā pūnaewele me ka pale DDoS, nā kikowaena VPS VDS 🔥 E kūʻai i ka hoʻokipa pūnaewele hilinaʻi me ka pale DDoS, nā kikowaena VPS VDS | ProHoster