LEGO MINDSTORMS Elimu EV3 + MicroPython: kupanga mpango wa ujenzi wa watoto katika lugha ya watu wazima

Habari, Habr! Sisi tayari aliiambia kuhusu jukwaa la LEGO MINDSTORMS Education EV3. Malengo makuu ya jukwaa hili ni kujifunza kupitia mifano ya vitendo, kukuza ujuzi wa STEAM na kukuza mawazo ya uhandisi. Inaweza kutumika kwa kazi ya maabara kusoma mechanics na mienendo. Benchi za maabara zilizotengenezwa kwa matofali ya LEGO na huduma za kurekodi na kuchakata data hufanya majaribio kuwa ya kuvutia zaidi na ya kuona na kuwasaidia watoto kuelewa vyema fizikia. Kwa mfano, wanafunzi wanaweza kukusanya data ya sehemu inayoyeyuka na kutumia programu kuipanga na kuiwasilisha katika grafu. Lakini huu ni mwanzo tu: leo tutakuambia jinsi ya kukamilisha seti hii na mazingira ya programu ya MicroPython na kuitumia kufundisha robotiki.

LEGO MINDSTORMS Elimu EV3 + MicroPython: kupanga mpango wa ujenzi wa watoto katika lugha ya watu wazima

Jifunze kupanga ukitumia EV3

Wanafunzi wa kisasa wanataka kuona matokeo ya rangi. Ndio, wamechoka ikiwa programu inachapisha nambari kwenye koni, na wanataka kutazama grafu za rangi, michoro na kuunda roboti halisi zinazosonga na kufuata amri. Nambari ya kawaida pia inaonekana kuwa ngumu sana kwa watoto, kwa hivyo ni bora kuanza kujifunza na kitu rahisi.

Mazingira ya msingi ya programu ya EV3 yanategemea lugha ya picha ya LabVIEW na hukuruhusu kubainisha algoriti za roboti kwa kuibua: amri zinawasilishwa kwa namna ya vizuizi vinavyoweza kuburutwa na kuunganishwa.

LEGO MINDSTORMS Elimu EV3 + MicroPython: kupanga mpango wa ujenzi wa watoto katika lugha ya watu wazima

Njia hii inafanya kazi vizuri wakati unahitaji kuonyesha jinsi algorithms inavyojengwa, lakini haifai kwa mipango yenye idadi kubwa ya vitalu. Kadiri hali zinavyozidi kuwa ngumu, ni muhimu kuhamia kwenye programu na msimbo, lakini hatua hii ni ngumu kwa watoto kuchukua. 

Kuna mbinu chache hapa, mojawapo ni kuonyesha kwamba msimbo hufanya kitu sawa na vitalu. Katika mazingira ya EV3, hii inawezekana kupitia ushirikiano wa MicroPython, ili watoto waweze kuunda programu sawa katika mazingira ya msingi ya kuzuia programu na Python katika Kanuni ya Visual Studio ya Microsoft. Wanaona kuwa njia zote mbili zinafanya kazi sawa, lakini kutatua shida ngumu kwa kutumia nambari ni rahisi zaidi.

Kubadilisha hadi MicroPython

Mazingira ya EV3 yamejengwa kwenye kichakataji cha ARM9, na wasanidi programu waliacha usanifu wazi kimakusudi. Suluhisho hili lilifanya iwezekane kusambaza firmware mbadala, moja ambayo ilikuwa picha ya kufanya kazi na MicroPython. Inakuruhusu kutumia Python kupanga EV3 yako, ikileta kifaa karibu zaidi na kazi za maisha halisi. 

Ili kuanza, unahitaji kupakua Picha ya EV3 MicroPython kwenye kadi yoyote ya microSD, isakinishe kwenye kompyuta ndogo ya EV3 na uiwashe. Kisha unahitaji kufunga ugani wa bure kwa Visual Studio. Na unaweza kuanza kufanya kazi. 

Kupanga roboti ya kwanza katika MycroPython

LEGO MINDSTORMS Elimu EV3 + MicroPython: kupanga mpango wa ujenzi wa watoto katika lugha ya watu wazima

Kwenye yetu Online Kuna masomo kadhaa ya kusimamia dhana za kimsingi za robotiki. Miundo ya EV3 inawajulisha watoto mambo ya msingi ambayo hutumika katika magari yanayojiendesha yenyewe, roboti za kuunganisha kiwandani, na mashine za CNC. 

Tutachukua mfano wa mashine ya kuchora, ambayo inaweza kufundishwa kuchora mifumo na maumbo ya kijiometri. Kesi hii ni toleo lililorahisishwa la roboti za watu wazima za kulehemu au kusaga na huonyesha jinsi EV3 inaweza kutumika kwa kushirikiana na MicroPython kufundisha watoto wa shule. Na mashine ya kuchora inaweza kuashiria mashimo kwenye bodi ya mzunguko iliyochapishwa kwa baba, lakini hiyo ni ngazi nyingine ambayo inahitaji hesabu.

Kwa kazi tunahitaji:

  • LEGO MINDSTORMS Elimu EV3 Core Set; 
  • karatasi kubwa ya karatasi ya checkered;
  • alama za rangi. 

Mkusanyiko wa roboti yenyewe iko ndani maelekezo, na tutaangalia mfano wa programu.

Kwanza tunaanzisha maktaba ya moduli 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

Tunaweka jukwaa ambalo linazunguka kushughulikia kama motor katika bandari B. Tunaweka uwiano wa gear wa treni ya gear ya hatua mbili na idadi ya meno ya 20-12-28, kwa mtiririko huo.

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

Tunasanidi utaratibu wa kuinua kwa kushughulikia kama gari kwenye bandari C:

seesaw_motor = Motor(Port.C)

Tunasanidi gyroscope, ambayo hupima angle ya mwelekeo wa kushughulikia, katika bandari 2:

gyro_sensor = GyroSensor(Port.S2)

Tunasanidi kihisi cha rangi kwenye mlango wa 3. Kihisi hutumika kutambua karatasi nyeupe chini ya mashine ya kuchora:

color_sensor = ColorSensor(Port.S3)

Tunasanidi kihisi cha mguso katika mlango wa 4. Roboti huanza kuchora kitambuzi kinapobonyezwa:

touch_sensor = TouchSensor(Port.S4)

Tunafafanua kazi zinazoinua na kupunguza mpini:

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)

Tunafafanua kazi ya kuzungusha mpini kwa pembe fulani au kwa pembe fulani:

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

Ikiwa pembe inayolengwa ni kubwa kuliko ya sasa ya kihisi cha gyro, endelea mwendo wa saa kwa kasi chanya:

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

Ikiwa pembe inayolengwa ni chini ya kihisi cha sasa cha gyro, basi songa kinyume cha saa:

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

Simamisha jukwaa linalozunguka wakati pembe inayolengwa imefikiwa:

  turntable_motor.stop(Stop.BRAKE)

Weka nafasi ya awali ya kushughulikia katika nafasi ya juu:

pen_holder_raise()

Sasa inakuja sehemu kuu ya programu - kitanzi kisicho na mwisho. EV3 kwanza husubiri kihisi cha rangi ili kutambua karatasi nyeupe au mraba wa mwanzo wa samawati na kihisi cha mguso kibonyezwe. Kisha huchota muundo, anarudi kwenye nafasi ya kuanzia na kurudia kila kitu tena.

Wakati kifaa hakiko tayari, taa za LED kwenye kidhibiti hubadilika kuwa nyekundu na picha ya "bomba chini" itaonyeshwa kwenye skrini ya LCD:

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

Tunasubiri hadi kihisi cha rangi kihesabu bluu au nyeupe, weka rangi ya LED kuwa kijani, onyesha picha ya "bomba" kwenye skrini ya LCD na uripoti kuwa kifaa kiko tayari kutumika:

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

Tunasubiri kihisi cha mguso kibonyezwe, toa thamani ya pembe 0 kwa kihisi cha gyroscopic na uanze kuchora:

  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)

Inua kishikilia kalamu na uirudishe katika nafasi yake ya asili:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

Huu ndio mpango rahisi ambao tumeunda. Na sasa tunaizindua na tunaangalia roboti ya kuandaa ikifanya kazi. 

Mifano hiyo inatoa nini?

LEGO MINDSTORMS Elimu EV3 + MicroPython: kupanga mpango wa ujenzi wa watoto katika lugha ya watu wazima

EV3 ni zana ya mwongozo wa taaluma kwa taaluma za STEM na mahali pa kuingilia katika taaluma za uhandisi. Kwa kuwa inaweza kutumika kutatua matatizo ya vitendo, watoto hupata uzoefu katika maendeleo ya kiufundi na uundaji wa roboti za viwandani, kujifunza kuiga hali halisi, kuelewa mipango na kuchambua algorithms, na ujuzi wa uundaji wa programu za msingi.

Usaidizi wa MicroPython hufanya jukwaa la EV3 kufaa kwa ufundishaji wa shule ya upili. Wanafunzi wanaweza kujaribu wenyewe kama watayarishaji programu katika mojawapo ya lugha maarufu za kisasa, na kufahamiana na taaluma zinazohusiana na upangaji programu na usanifu wa uhandisi. Vifaa vya EV3 vinaonyesha kuwa usimbaji si wa kutisha, hukutayarisha kukabiliana na changamoto kubwa za uhandisi na kukusaidia kuchukua hatua ya kwanza kuelekea ujuzi wa kiufundi. Na kwa wale wanaofanya kazi shuleni na wanaohusishwa na elimu, tumeandaa programu za masomo na nyenzo za elimu. Wanaelezea kwa undani ni ujuzi gani unaokuzwa wakati wa kufanya kazi fulani, na jinsi ujuzi uliopatikana unahusiana na viwango vya mafunzo.

Chanzo: mapenzi.com

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS πŸ”₯ Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster