Nielen humanoidné roboty, ale aj robotické podvozky sa podľa dizajnu a konštrukcie vo všeobecnosti delia na technokratické a prívetivé. Tento princíp si osvojil aj výrobca Makeblock. Vyprofilovaným záujemcom o robotiku a programovanie ponúka robotický podvozok mBot s technokratickým dizajnom a pre tých čo sa primárne chcú len hrať s roboticku hračkou má robota Codey Rocky.
Skladá sa z dvoch častí: pásového podvozku a modulu riadiacej jednotky. Po zasunutí riadiacej jednotky do slotu v prednej časti podvozku vznikne kompaktný robot vzhľadom vzdialene pripomínajúcim zvieratko. Tento dojem navodzujú „ušká“ na riadiacej jednotke a maticový displej umiestnený tak, že sa priam ponúka zobraziť na ňom oči.
Možnosti robota sú predstavené vo videu
Robot Codey Rocky podporuje vzdelávací princíp STEM, čiže skĺbenie prírodných vied (Science), technológií (Technology), technických a konštrukčných zručností (Engineering) a matematiky (Mathematic). Robot sa snaží vyprovokovať deti aby sa pri hraní s robotom naučili základy programovania v názornom grafickom programovacom jazyku. Keď si žiak osvojí jednoduché programovanie v blokovom jazyku, alebo ľudovo povedané, keď prerastie jeho možnosti, môže Codey Rocky programovať aj vo v súčasnosti jednoznačne najpopulárnejšom programovacom jazyku Python.
Na zadnej plošine zhora, zozadu aj zboku sú otvory mechanicky kompatibilné so spojovacími prvkami stavebnice LEGO Technic, takže na Codey Rocky môžete postaviť ľubovoľnú nadstvbu. Aj v osiach kolies sú otvory pre hriadele zo stavebnice LEGO Technic.
Pre zaujímavosť, riadiaca jednotka využíva populárny WiFi mikrokontrolér ESP32, ktorému sa intenzívne venujeme aj v našom seriáli IoT prakticky. Robot má viac než 10 elektronických modulov ako sú displej, snímače zvuku, osvetlenia, farieb, či 6 osový akcelerometer a gyroskop na snímanie otrasov a náklonu. Dokáže jazdiť tak, aby sledoval čiaru, dokáže sa vyhýbať prekážkam, alebo ho môžete ovládať diaľkovým ovládaním. Ovládač je rovnaký ako pre robot mBot. Na displeji sa dajú zobrazovať jednoduché prvky mimiky a emócií. Infračervený vysielač a prijímač umožňuje vzájomnú komunikáciu dvoch robotov pomocou IR lúčov, prípadne komunikáciu s diaľkovým ovládaním. Na riadiacej jednotke sú tri programovateľné tlačidlá. Nakoľko riadiaca jednotka má integrovaný WiFi modul, môže fungovať aj ako IoT hub na posielanie údajov do cloudu. Konštrukcia je kompatibilná s Makeblock Neuron a stavebnicami LEGO.
Vývojové prostredie mBlock 5 je založené na grafickom blokovom programovacom jazyku Scratch 5.0. Ako už bolo spomenuté robot Codey Rocky môžete programovať aj v programovacom jazyku Python. V každom programe sa môžete prepínať medzi zobrazením kódu aplikácie v blokoch a Pythone. Nakoľko Python má podstatne širšie možnosti než grafický programovací jazyk, môžete začať vytvárať kód v Pythone, s príkazmi a programovými konštrukciami, ktoré nemajú ekvivalent v grafickom jazyku.
Robota Codey Rocky môžete programovať a ovládať cez smartfón bezdrôtovo, to ukážeme v budúcom pokračovaní, alebo do riadiacej jednotky môžete preniesť kód z PC s Windows, alebo MacOS cez USB kábel. Programovať môžete v online prostredí, alebo si môžete stiahnuť a nainštalovať aplikáciu.
K dispozícii je niekoľko úvodných príkladov. V prvom kóde ukážeme reakciu na zatlačenie jedného z troch tlačidiel. Je to jednoduchý a pekný príklad na udalosťami riadené programovanie, kde udalosť je zatlačenie tlačidla.
Zdrojový kód v jazyku Python:
import codey, event, time @event.button_a_pressed def on_button_a_pressed(): codey.speaker.play_melody('switch.wav') codey.display.show_image("00003c7e7e3c000000003c7e7e3c0000") @event.button_b_pressed def on_button_b_pressed1(): codey.speaker.play_melody('switch.wav') codey.display.show_image("000c18181c0c000000000c1c18180c00") @event.button_c_pressed def on_button_c_pressed2(): codey.speaker.play_melody('switch.wav') codey.display.show_image("00000c1e3e3c000000003c3e1e0c0000")
Príklad môžeme zmodifikovať, aby sa robot namiesto tlačidiel na riadiacej jednotke ovládal pomocou diaľkového ovládania. K tomu je potrebné stiahnuť rozširujúcu knižnicu pre prijímanie a dekódovanie povelov z IR diaľkového ovládania.
Zdrojový kód v jazyku Python:
import codey, event, time @event.start def on_start(): while True: if codey.ir.receive_remote_code() == [0,69]: codey.speaker.play_melody('switch.wav') codey.display.show_image("00003c7e7e3c000000003c7e7e3c0000") if codey.ir.receive_remote_code() == [0,64]: codey.speaker.play_melody('switch.wav') codey.display.show_image("000c18181c0c000000000c1c18180c00") if codey.ir.receive_remote_code() == [0,22]: codey.speaker.play_melody('switch.wav') codey.display.show_image("00000c1e3e3c000000003c3e1e0c0000")
V ďalšom príklade využijeme vstavaný akcelerometer. Po potresení riadiacej jednotky sa zobrazí krátka animácia a zahrá zvuk.
Zdrojový kód v jazyku Python:
import codey, event, time @event.shaked def on_shaked(): codey.speaker.play_melody('jump.wav') codey.display.show_image("00000000000609111109060000000000", time_s=0.3) codey.display.show_image("0000000000001e21211e000000000000", time_s=0.3) codey.display.show_image("0000000000003c42423c000000000000", time_s=0.3) codey.display.show_image("0000000000001e21211e000000000000", time_s=0.3) codey.display.show_image("00000000000609111109060000000000", time_s=0.3)
A napokon príklad na vyhýbanie sa prekážkam. Ak senzor deteguje prekážku, robot zmení smer doprava.
Zdrojový kód v jazyku Python:
import rocky, codey, time, event @event.start def on_start(): while True: if rocky.color_ir_sensor.is_obstacle_ahead(): codey.display.show_image("0000181c1c1800000000181c1c180000") rocky.turn_right(50, 1) else: codey.display.show_image("00003c7e7e3c000000003c7e7e3c0000") rocky.forward(50, 1)
V budúcom pokračovaní ukážeme možnosti programovania a ovládania zo smartfónu, alebo tabletu.
Převzato z webu PC revue se souhlasem autora.