Image
8.12.2019 0 Comments

Robotika – prívetivý robot Codey Rocky, ktorý inšpiruje deti aby začali programovať

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 jazuku 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

V budúcom pokračovaní ukážeme možnosti programovania a ovládania zo smartfónu, alebo tabletu

Zobrazit Galériu

Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Mikrokontroléry

IoT prakticky: Totem Mini Lab – zostava na prototypovanie riešení s mikrokontrolérmi

20.01.2020 00:10

Táto zostava na vývoj riešení s mikrokontrolérmi pozostáva z mechanickej časti a dvoch dosiek s mikrokontrolérmi. Mechaniku tvorí stojan so zošikmeným predným panelom postaveným zo stavebnice Totem. P ...

Mikrokontroléry

IoT Prakticky: Ovládanie digitálneho výstupu ESP32 prostredníctvom UDP datagramov

19.01.2020 00:10

S technickými parametrami vývojovej dosky ESP32, prvotnou konfiguráciou, ale aj prvým “Blink” programom v prostredí Arduino IDE ste sa bližšie mohli zoznámiť v predchádzajúcom článku na pcrevue.sk. Ak ...

Mikrokontroléry

IoT prakticky: prvé pokusy s čipom PICAXE jednoducho programovateľným v jazyku BASIC

17.01.2020 00:03

V predchádzajúcich častiach sme ukázali ako v niektorých konštrukciách nahradiť Arduino maličkým čipom ATtiny s ôsmimi vývodmi, prípadne použiť vo svojej konštrukcii rovnaký čip, ako je v Arduine. Čip ...

Žiadne komentáre

Vyhľadávanie

Najnovšie videá