Lego Mindstorm EV3 roboti aju programmeerimine Python keskkonnas
Õppeaine ja -valdkond: Tehnoloogia
, tehnoloogiaõpetus, Tehnoloogia igapäevaelus
Klass, vanuse- või haridusaste: III kooliaste, 7-9 klass
Tunni kestvus: 45 min
(põhjalikum 75 min)
Tunni teema (sh alateemad): Lego Mindstorm EV3 roboti aju programmeerimine Python keskkonnas
- Lego Mindstorms ev3dev operatsioonisüsteemi käivitamine
- Lego Mindstorms ev3dev operatsioonisüsteemi internetiga ühendamine
- Lego ajuga ühendumine sama WiFi-ga ühendatud arvutist
- Lego ajule Python koodi laadimine arvutist, mis kasutab vähemalt ühte andurit ja mootorit
Autor: Alo Peets
(Robotimeister OÜ)
Tunni eesmärgid: Edasijõudnud õpilastele pakkuda võimalust programmeerida LEGO MINDSTORMS EV3 robotit Python programmeerimiskeeles ja juhtida arvutist.
Milliseid üld- ja ainepädevusi (sh läbivad teemad) toetatakse:
- Python programmeerimine praktikas
- Linuxi käsurida
- Kahe süsteemi vaheline digitaalne suhtlus
- matemaatika (tehete realiseerimine programmis)
Õpitulemused: Õpilased on võimelised pärast tunni läbimist käivitama LEGO MINDSTORMS ev3 robotit ev3dev operatsioonisüsteemiga sinna looma python koodi.
Mõisted: Python, LEGO MINSTORMS EV3, Linux, käsurida, Putty, SSH, SD kaart
Õpilaste eelteadmised ja -oskused: Õpilased peaksid olema tuttavad LEGO MINDSTORMS EV3 robotiga ja Python programmeerimiskeelega.
Eelnevalt vajalikud tegevused õpetajale ja õpilasele: Õpetaja võiks võiks asjad ise eelnevalt läbi katsetada.
Tunniks vajalikud materjalid, vahendid, tarkvara ja veebiaadressid: @@Veebilehed: http://www.ev3dev.org/ , http://ev3python.com/ , http://www.putty.org/ , https://etcher.io/ , https://youtu.be/9m0E4ZLW0y0
Grupi peale: LEGO MINDSTORMS EV3 robotid, 2-16 GB uSD kaart, USB WiFi adapter (näiteks Edimax 7811), kõrvaklapid, WiFi toega arvuti kuhu õpilastel on tarkvara paigaldamise õigus.
@@
Tunni käik:
- Õpetaja alustab tunniga ja palub õpilastel vaadata õppevideo teemal
Lego Mindstorm EV3 roboti aju programmeerimine Python keskkonnas
https://youtu.be/9m0E4ZLW0y0~10 min
- Õpilased harjutavad kahestes gruppides LEGO MINDSTORMS EV# prorammeerimist Pythonis
~30 min
- Laadi alla ev3dev tarkvara http://www.ev3dev.org/
• Kopeeri ev3dev SD kaardile Etcher programmiga https://etcher.io/ • Ühenda SD kaart ev3 ajuga ja käivita see • Ühendab ev3 aju WiFi-ga ja loo SSH ühenduse http://www.putty.org/ • Katseta ev3python lehel olevaid näidisülesandeid http://ev3python.com/
- Õpilased lõpetavad tegevused, tagastavad robotid ja teevad iseendale pika pai
~5 min
PDF kujul tunnikava on alla laetav siit. Tunnikava_ev3dev.pdf
Täiendav näidiskood:
LEGO robot ütleb sulle inglise aktsendiga oma nime!
from ev3dev.ev3 import * Sound.speak("Hommik! Minu nimi on robot!").wait()
Mootori juhtimine
from ev3dev.ev3 import * mA = LargeMotor('outA') mA.run_to_rel_pos(position_sp=1080, speed_sp=180, stop_action="brake")
Vajutustundliku nupu vajutamis epeale ledide lülitamine!
#!/usr/bin/env python3 # Eelnev rida on vajalik kui tahad programmi k2ivitada LEGO robotist # ühenda lüliti vabalt valitud porti 1-4 from ev3dev.ev3 import * ts = TouchSensor() while True: if ts.value()==1: #touch sensor vajutatud Leds.set_color(Leds.LEFT, Leds.RED) else: Leds.set_color(Leds.LEFT, Leds.GREEN) # vajuta Ctrl-C katekestamiseks
Kaugusanduri näidu kvamine ekraanil.
from ev3dev.ev3 import * from time import sleep us = UltrasonicSensor() assert us.connected us.mode = 'US-DIST-CM' lcd = Screen() btn = Button() while True: if btn.any(): exit() lcd.draw.text((0, 0), "Kaugus on " + str(int(round(us.distance_centimeters / 10, 0))) + " sentimeetrit.") sleep(1) lcd.update() lcd.clear()
ROhkem näiteid Henry Maalinn bakalaureusetöös https://comserv.cs.ut.ee/home/files/maalinn_informaatika_2017.pdf?study=ATILoputoo&reference=B2E3B02D01F135007E9388F25768BFD3322E5EB7