Nyob zoo, Habr! Peb twb hais txog LEGO MINDSTORMS Education EV3 platform. Lub hom phiaj tseem ceeb ntawm lub platform no yog kawm los ntawm kev ua piv txwv, txhim kho STEAM kev txawj ntse thiab tsim kom muaj kev xav hauv engineering. Nws tuaj yeem siv rau kev ua haujlwm hauv chaw kuaj mob los kawm mechanics thiab dynamics. Cov rooj zaum hauv chav kuaj ua los ntawm LEGO cib thiab cov khoom siv rau kev sau thiab ua cov ntaub ntawv ua rau kev sim ua kom nthuav dav thiab pom thiab pab cov menyuam nkag siab txog lub cev zoo dua. Piv txwv li, cov tub ntxhais kawm tuaj yeem sau cov ntaub ntawv melting point thiab siv lub app los npaj nws thiab nthuav tawm hauv daim duab. Tab sis qhov no yog qhov pib xwb: hnub no peb yuav qhia koj yuav ua li cas ntxiv cov txheej txheem no nrog MicroPython programming ib puag ncig thiab siv nws los qhia neeg hlau.

Kawm programming siv EV3
Cov menyuam kawm ntawv niaj hnub xav pom muaj yeeb yuj. Yog lawm, lawv dhuav yog tias qhov kev zov me nyuam luam cov lej rau lub console, thiab lawv xav saib cov duab xim, kos duab thiab tsim cov neeg hlau tiag tiag uas txav mus thiab ua raws li cov lus txib. Txoj cai tsis tu ncua kuj zoo li nyuaj rau cov menyuam yaus, yog li nws zoo dua los pib kawm nrog qee yam yooj yim dua.
Qhov yooj yim EV3 programming ib puag ncig yog raws li LabVIEW graphical lus thiab tso cai rau koj los qhia algorithms rau cov neeg hlau pom: cov lus txib tau nthuav tawm hauv daim ntawv ntawm cov blocks uas tuaj yeem rub thiab txuas.

Txoj kev no ua haujlwm zoo thaum koj xav tau los qhia tias yuav ua li cas algorithms tsim, tab sis nws tsis haum rau cov kev pab cuam nrog ntau cov blocks. Raws li cov xwm txheej dhau los ua nyuaj, nws yog qhov yuav tsum tau txav mus rau programming nrog code, tab sis cov kauj ruam no nyuaj rau cov menyuam yaus.
Muaj ob peb tricks ntawm no, ib qho yog los qhia tias cov cai ua tib yam li cov blocks. Hauv EV3 ib puag ncig, qhov no tuaj yeem ua tau los ntawm MicroPython kev sib koom ua ke, yog li cov menyuam yaus tuaj yeem tsim tib qhov kev pab cuam hauv ob qho tib si hauv kev thaiv qhov programming ib puag ncig thiab Python hauv Microsoft's Visual Studio Code. Lawv pom tias ob txoj hauv kev ua haujlwm zoo ib yam, tab sis kev daws teeb meem nyuaj siv cov cai yooj yim dua.
Hloov mus rau MicroPython
EV3 ib puag ncig yog tsim los ntawm ARM9 processor, thiab cov neeg tsim khoom txhob txwm tso lub architecture qhib. Qhov kev daws teeb meem no ua rau nws tuaj yeem yob tawm lwm cov firmware, ib qho ntawm cov duab ua haujlwm nrog MicroPython. Nws tso cai rau koj siv Python los tsim koj lub EV3, nqa cov khoom siv txawm tias ze rau cov haujlwm tiag tiag.
Txhawm rau pib, koj yuav tsum rub tawm ntawm ib daim npav microSD, nruab rau hauv EV3 microcomputer thiab tig nws. Tom qab ntawd koj yuav tsum tau nruab rau Visual Studio. Thiab koj tuaj yeem pib ua haujlwm.
Programming thawj tus neeg hlau hauv MycroPython

Ntawm peb Muaj ob peb zaj lus qhia rau kev paub txog cov ntsiab lus tseem ceeb ntawm robotics. EV3 qauv qhia cov menyuam yaus txog cov hauv paus uas siv hauv tsheb tsav tus kheej, lub Hoobkas sib dhos robots, thiab tshuab CNC.
Peb mam li ua piv txwv ntawm lub tshuab kos duab, uas tuaj yeem qhia kos cov qauv thiab cov duab geometric. Cov ntaub ntawv no yog ib qho yooj yim version ntawm cov neeg laus vuam lossis milling robots thiab qhia tau hais tias EV3 tuaj yeem siv nrog MicroPython los qhia cov menyuam kawm ntawv li cas. Thiab lub tshuab kos duab tuaj yeem kos lub qhov hauv lub rooj tsav xwm luam tawm rau txiv, tab sis qhov ntawd yog lwm qib uas yuav tsum tau ua lej.
Txog kev ua haujlwm, peb xav tau:
- LEGO MINDSTORMS Kev Kawm EV3 Core Teeb;
- daim ntawv loj ntawm daim ntawv checkered;
- cov cim xim.
Kev sib dhos ntawm cov neeg hlau nws tus kheej yog nyob rau hauv , thiab peb yuav saib ib qho piv txwv programming.
Ua ntej peb pib lub tsev qiv ntawv 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
Peb teeb tsa lub platform uas tig tus kov zoo li lub cev muaj zog hauv qhov chaw nres nkoj B. Peb teeb tsa lub iav piv ntawm ob theem iav tsheb ciav hlau nrog ntau tus hniav ntawm 20-12-28, feem.
turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])
Peb teeb tsa lub lifting mechanism rau tus kov raws li lub cev muaj zog hauv chaw nres nkoj C:
seesaw_motor = Motor(Port.C)
Peb teeb tsa lub gyroscope, uas ntsuas lub kaum sab xis ntawm inclination ntawm tus kov, hauv chaw nres nkoj 2:
gyro_sensor = GyroSensor(Port.S2)
Peb teeb tsa cov xim sensor hauv chaw nres nkoj 3. Lub sensor yog siv los ntes cov ntawv dawb hauv qab lub tshuab kos duab:
color_sensor = ColorSensor(Port.S3)
Peb teeb tsa lub kov sensor hauv chaw nres nkoj 4. Tus neeg hlau pib kos duab thaum lub sensor raug nias:
touch_sensor = TouchSensor(Port.S4)
Peb txhais cov haujlwm uas nce thiab txo tus kov:
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)
Peb txhais ib txoj haujlwm los tig tus kov mus rau lub kaum sab xis lossis rau ib lub kaum ntse ntse:
def pen_holder_turn_to(target_angle):
if target_angle > gyro_sensor.angle():
Yog hais tias lub hom phiaj lub kaum sab xis yog ntau dua li tam sim no gyro sensor lub kaum sab xis, txuas ntxiv clockwise nrog ib tug zoo ceev:
turntable_motor.run(70)
while gyro_sensor.angle() < target_angle:
pass
elif target_angle < gyro_sensor.angle():
Yog hais tias lub hom phiaj lub kaum sab xis yog tsawg dua li tam sim no gyro sensor, ces txav mus rau counterclockwise:
turntable_motor.run(-70)
while gyro_sensor.angle() > target_angle:
pass
Nres lub rotating platform thaum lub hom phiaj yog mus txog:
turntable_motor.stop(Stop.BRAKE)
Teem thawj txoj hauj lwm ntawm tus kov nyob rau hauv lub Upper txoj hauj lwm:
pen_holder_raise()
Tam sim no los txog qhov tseem ceeb ntawm qhov kev pab cuam - lub voj tsis kawg. EV3 thawj zaug tos cov xim sensor kom pom ib daim ntawv dawb lossis xiav pib square thiab rau qhov kov sensor kom nias. Tom qab ntawd nws kos tus qauv, rov qab mus rau qhov chaw pib thiab rov ua txhua yam dua.
Thaum lub cuab yeej tsis npaj txhij, cov LEDs ntawm tus maub los tig liab thiab "tus ntiv tes xoo" duab tshwm rau ntawm lub vijtsam LCD:
while True:
brick.light(Color.RED)
brick.display.image(ImageFile.THUMBS_DOWN)
Peb tos kom txog thaum cov xim sensor suav xiav lossis dawb, teeb lub LED xim rau ntsuab, tso saib "tus ntiv tes xoo" duab ntawm lub vijtsam LCD thiab tshaj tawm tias lub cuab yeej npaj siv:
while color_sensor.color() not in (Color.BLUE, Color.WHITE):
wait(10)
brick.light(Color.GREEN)
brick.display.image(ImageFile.THUMBS_UP)
Peb tos kom lub kov sensor yuav tsum nias, muab lub kaum sab xis tus nqi 0 rau lub gyroscopic sensor thiab pib kos duab:
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)
Tsa tus cwj mem thiab rov qab mus rau nws qhov qub qub:
pen_holder_raise()
pen_holder_turn_to(0)</i>
Nov yog qhov kev pab cuam yooj yim uas peb tau tsim. Thiab tam sim no peb tso nws thiab saib cov ntawv sau neeg hlau hauv kev nqis tes ua.
Cov piv txwv no qhia li cas?

EV3 yog cov cuab yeej qhia kev ua haujlwm rau STEM cov haujlwm thiab qhov nkag mus rau cov haujlwm engineering. Txij li thaum nws tuaj yeem siv los daws cov teeb meem, cov menyuam yaus tau txais kev paub dhau los hauv kev tsim kho thiab tsim cov neeg hlau ua lag luam, kawm simulate cov xwm txheej tiag tiag, nkag siab txog cov kev pab cuam thiab tshuaj xyuas algorithms, thiab paub cov txheej txheem kev tsim kho.
Kev txhawb nqa MicroPython ua rau EV3 platform tsim nyog rau kev qhia hauv tsev kawm theem siab. Cov tub ntxhais kawm tuaj yeem sim lawv tus kheej ua tus programmer hauv ib hom lus nrov tshaj plaws niaj hnub no, thiab tau paub txog cov haujlwm uas cuam tshuam nrog kev tsim programming thiab engineering tsim. EV3 cov khoom siv qhia tias kev coding tsis txaus ntshai, npaj koj rau kev sib tw engineering loj, thiab pab koj ua thawj kauj ruam mus rau kev paub txog kev txawj ntse. Thiab rau cov neeg ua haujlwm hauv tsev kawm ntawv thiab koom nrog kev kawm, peb tau npaj thiab cov ntaub ntawv kawm. Lawv piav qhia meej tias cov txuj ci twg yog tsim los thaum ua tej yam hauj lwm, thiab seb cov kev txawj uas tau txais cuam tshuam li cas rau cov qauv kev cob qhia.
Tau qhov twg los: www.hab.com
