Sugeng rawuh, Habr! Kita wis babagan platform LEGO MINDSTORMS Education EV3. Tujuan utama platform iki yaiku sinau liwat conto praktis, ngembangake katrampilan STEAM lan mbentuk pamikiran teknik. Bisa digunakake kanggo nindakake karya laboratorium babagan sinau mekanika lan dinamika. Stand laboratorium digawe saka bata LEGO lan utilitas kanggo ngrekam lan ngolah data nggawe eksperimen luwih menarik lan visual lan mbantu bocah luwih ngerti fisika. Contone, bocah sekolah bisa ngumpulake data babagan titik lebur lan nggunakake aplikasi kasebut kanggo sistematis lan nampilake minangka grafik. Nanging iki mung wiwitan: dina iki kita bakal menehi pitutur marang kowe carane nambah set iki karo lingkungan pemrograman MicroPython lan digunakake kanggo mulang robotika.

Sinau pemrograman nganggo EV3
Bocah-bocah sekolah modern pengin ndeleng asil sing warni. Ya, padha bosen yen program output nomer kanggo console, lan padha arep katon ing warni graphs, diagrams lan nggawe robot nyata sing mindhah lan nglakokakΓ© printah. Kode biasa uga katon rumit banget kanggo bocah-bocah, mula luwih becik miwiti sinau kanthi luwih gampang.
Lingkungan pemrograman dhasar EV3 adhedhasar basa grafis LabVIEW lan ngidini sampeyan nyetel algoritma kanggo robot kanthi visual: printah ditampilake minangka blok sing bisa diseret lan disambungake.

Cara iki bisa digunakake nalika sampeyan kudu nuduhake carane algoritma dibangun, nanging ora cocok kanggo program karo nomer akeh pamblokiran. Nalika skenario dadi luwih rumit, sampeyan kudu pindhah menyang program nganggo kode, nanging bocah-bocah nemokake langkah iki angel.
Ana sawetara trik kanggo iki, salah sijine yaiku nuduhake yen kode nindakake perkara sing padha karo pamblokiran. Lingkungan EV3 nindakake iki liwat integrasi karo MicroPython: bocah-bocah nggawe program sing padha ing lingkungan pemrograman dhasar nggunakake blok lan ing Python ing Kode Visual Studio Microsoft. Dheweke ndeleng manawa loro-lorone cara kerjane padha, nanging kode luwih apik kanggo ngrampungake masalah sing rumit.
Ngalih menyang MicroPython
Lingkungan EV3 dibangun ing prosesor ARM9, lan para pangembang sengaja ninggalake arsitektur mbukak. Kaputusan iki ngidini nginstal perangkat kukuh alternatif, salah sijine yaiku gambar kanggo nggarap MicroPython. Iki ngidini nggunakake Python kanggo program EV3, sing nggawe nggarap kit luwih cedhak karo tugas nyata.
Kanggo miwiti nggarap, sampeyan kudu ngundhuh menyang kertu microSD, nginstal menyang bata EV3 lan nguripake. Banjur sampeyan kudu nginstal kanggo Visual Studio. Lan sampeyan bisa miwiti kerja.
Pemrograman robot pisanan ing MycroPython

Ing kita Ana sawetara pawulangan kanggo nguwasani konsep dhasar robotika. Model ing EV3 ngenalake bocah-bocah babagan dhasar sing digunakake ing mobil nyopir dhewe, robot perakitan pabrik, mesin CNC.
Kita bakal njupuk minangka conto mesin gambar sing bisa diwulang nggambar pola lan wangun geometris. Kasus iki minangka versi prasaja saka robot welding utawa panggilingan diwasa lan nuduhake carane EV3 bisa digunakake bebarengan karo MicroPython kanggo mulang bocah-bocah sekolah. Mesin drawing uga bisa nandhani bolongan ing papan sirkuit dicithak kanggo bapak, nanging tingkat liyane sing mbutuhake petungan matΓ©matika.
Kanggo karya kita kudu:
- LEGO MINDSTORMS Education EV3 Set Dasar;
- sheet gedhe saka kertas kothak;
- spidol warna.
DΓ©wan saka robot dhewe ing , lan kita bakal katon ing conto program.
Pisanan, ayo miwiti Perpustakaan Bata 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
Kita nyiyapake platform sing muter gagang minangka motor ing port B. Kita nyetel rasio gear transmisi gear rong tahap kanthi jumlah untu 20-12-28.
turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])
Kita nyiyapake mekanisme ngangkat kanggo gagang minangka motor ing port C:
seesaw_motor = Motor(Port.C)
Kita nyiyapake giroskop sing ngukur sudut miring tongkat ing port 2:
gyro_sensor = GyroSensor(Port.S2)
We nyiyapake sensor werna ing port 3. Sensor digunakake kanggo ndeteksi kertas putih ing mesin drawing:
color_sensor = ColorSensor(Port.S3)
Kita nyetel sensor tutul ing port 4. Robot wiwit nggambar nalika sensor dipencet:
touch_sensor = TouchSensor(Port.S4)
Kita nemtokake fungsi sing ngunggahake lan nyuda gagang:
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)
Kita nemtokake fungsi kanggo muter gagang kanthi sudut tartamtu utawa menyang sudut tartamtu:
def pen_holder_turn_to(target_angle):
if target_angle > gyro_sensor.angle():
Yen sudut target luwih gedhe tinimbang sudut sensor gyro saiki, terus obah searah jarum jam kanthi kacepetan positif:
turntable_motor.run(70)
while gyro_sensor.angle() < target_angle:
pass
elif target_angle < gyro_sensor.angle():
Yen amba target kurang saka sudut sensor gyro saiki, banjur pindhah counterclockwise:
turntable_motor.run(-70)
while gyro_sensor.angle() > target_angle:
pass
Mungkasi platform puteran nalika sudut target wis tekan:
turntable_motor.stop(Stop.BRAKE)
Kita nyetel posisi wiwitan gagang menyang posisi ndhuwur:
pen_holder_raise()
Saiki ana bagean utama program - daur ulang tanpa wates. Kaping pisanan, EV3 ngenteni sensor warna ndeteksi kertas putih utawa kothak wiwitan biru, lan sensor tutul dipencet. Banjur nggambar pola, bali menyang posisi wiwitan lan mbaleni maneh.
Yen piranti durung siyap, LED ing pengontrol dadi abang lan lambang "jempol mudhun" ditampilake ing layar LCD:
while True:
brick.light(Color.RED)
brick.display.image(ImageFile.THUMBS_DOWN)
Kita ngenteni nganti sensor warna ndeteksi biru utawa putih, nyetel warna LED dadi ijo, nampilake gambar "jempol" ing layar LCD lan laporan yen piranti wis siyap kanggo operasi:
while color_sensor.color() not in (Color.BLUE, Color.WHITE):
wait(10)
brick.light(Color.GREEN)
brick.display.image(ImageFile.THUMBS_UP)
Kita ngenteni sensor tutul dipencet, nemtokake sensor gyroscopic nilai sudut 0 lan miwiti nggambar:
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)
Kita ngangkat wadhah pena lan bali menyang posisi asline:
pen_holder_raise()
pen_holder_turn_to(0)</i>
Iki program prasaja kita entuk. Saiki ayo diluncurake lan nonton juru gambar robot ing tumindak.
Apa sing diwènèhké conto kuwi?

EV3 minangka alat panuntun karir kanggo profesi STEM lan titik mlebu menyang spesialisasi teknik. Amarga bisa ngatasi masalah praktis, bocah-bocah entuk pengalaman babagan pangembangan teknis lan nggawe robot industri, sinau model kahanan nyata, ngerti program lan nganalisa algoritma, lan nguwasani konstruksi pemrograman dhasar.
Dhukungan MicroPython ndadekake platform EV3 cocog kanggo pendhidhikan sekolah menengah. Siswa bisa nyoba dhewe minangka programer ing salah sawijining basa modern sing paling populer, kenal karo profesi sing ana gandhengane karo program lan desain teknik. Set EV3 nuduhake yen nulis kode ora medeni, nyiapake tugas teknik sing serius lan mbantu njupuk langkah pisanan kanggo nguwasani spesialisasi teknis. Lan kanggo sing kerja ing sekolah lan digandhengake karo pendidikan, kita wis nyiapake lan materi latihan. Dheweke njlèntrèhaké kanthi rinci apa katrampilan sing dikembangaké nalika nindakake tugas tartamtu, lan kepriye katrampilan sing dipikolehi gegayutan karo standar latihan.
Source: www.habr.com
