NICEBOY_072021 NICEBOY_072021 NICEBOY_072021

IoT a robotika: Totem Black Spider – programovateľný smartfónom ovládateľný robot

0

Kráčajúci robot má riadiacu jednotku RoboBoard X4, ktorá je založená na populárnej mikrokontrolérovej platforme ESP 32. Robot môžete programovať vo vývojovom prostredí Arduino IDE, prípadne ovládať mobilnou aplikáciou.

Konštrukcia robota aj mechanizmus chôdze sú vysvetlené vo videu

Tento zaujímavý princíp robotickej chôdze využívajúci 8 nôh (po 4 na každej strane)vymyslel Joe Klann v roku 1994. Na rozdiel od kráčajúcich robotov s mnohými servomotormi, ktorých programovanie je väčšinou tvrdý oriešok, programovanie robota Black Spider je veľmi jednoduché, pretože mechanizmus chôdze ovládajú len dva jednosmerné motory, takže v podstate môžete využiť rovnaké algoritmy ako pre dvojkolesový robotický podvozok.

Navyše pri zostavovaní robota zo stavebnice, ktorá má 1150 dielov sa naučíte veľa mechanických princípov, ktoré môžete použiť v ďalších projektoch.

Riadiaca jednotka RoboBoard X4, batéria a nabíjačka a všetky nástroje potrebné na montáž sú súčasťou stavebnice.

Konštrukcia robota je z mechanických dielov stavebnice Totem, ktorú sme v našom seriáli IoT a robotika už viackrát použili, okrem iného aj na malého kráčajúceho robota so šiestimi nohami. Tento robot je popísaný v článku.  

Robot je ovládaný riadiacou doskou RoboBoard X4, ktorá sa dá kúpiť aj samostatne (39 €). Doska využíva populárnu mikrokontrolérovú platformu ESP 32. Taktovacia frekvencia procesora je 240Mhz. RoboBoard X4 podporuje WiFi, Bluetooth, BLE (Bluetooth Low Energy), takže konštrukcia využívajúca túto dosku môže byť ovládaná pomocou mobilnej aplikácie. Na doske je aj MEMS obvod LSM6DS3, ktorý obsahuje trojosový akcelerometer a gyroskop. Čip ESP32 od spoločnosti Espressif Systems má dvojjadrový procesor s 32 bitovými jadrami Xtensa LX6 taktovanými na 160 MHz. Jedno jadro rieši WiFi komunikáciu a druhé máte k dispozícii pre svoj program. Jadrá sa dajú pretaktovať až na 240 MHz. Kapacita pamäti Flash je 4 MB a RAM je tvorená tromi blokmi s celkovou kapacitou 520 kB. Používateľ má k dispozícii približne 400 kB RAM. Zavádzací program je v ROM s kapacitou 448 kB.

Doska má konektory na pripojenie štyroch jednosmerných motorov, troch servomotorov. K dispozícii sú aj štyri vstupno-výstupné (GPIO) porty. Na doske sú štyri RGB diódy a tiež konektory Totem BUS na pripojenie ďalších senzorov, či akčných členov. V súčasnosti je k dispozícii laserový merač vzdialenosti, postupne pribudnú moduly s tlačidlami a potenciometrami aby používateľ mohol svoje výtvory a j priamo ovládať, grafický displej, senzor umožňujúci jazdu po čiare a taktiež audio modul, ktorý umožňuje vášmu robotovi porozumieť, zaznamenávať zvuky a mať hlasový výstup

Vývojové prostredie Arduino IDE je k dispozícii je pre platformy Windows, Mac OS aj Linux. Pre Windows 10 ju nájdete priamo v aplikačnom obchode. ESP32 Arduino core je na GitHube.

Po spustení vývojového prostredia v menu aktivujte položku File > Preferences (v slovenskej verzii Súbor > Vlastnosti). Adresu rozšírenia pre prídavnú dosku v našom prípade ESP32

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

skopírujte do poľa  Additional Board Manager URLs (v slovenskej verzii Manažér prídavných dosiek URL). Teraz aktivujte menu Tools > Board menu (alebo v slovenskej verzii Nástroje > Manažér Dosiek). Do poľa pre vyhľadávanie zadajte ESP32 a nainštalujte verziu 1.0.4 doplnkov pre dosky ESP32. Kvôli kompatibilite s knižnicou Totem je potrebné nainštalovať verziu 1.0.4 nie novšiu.

Teraz treba nainštalovať knižnicu pomocou menu Sketch → Include Library → Manage libraries. Do poľa pre vyhľadávanie zadajte totem. Taktiež musíte prekopírovať súbor \Documents\Arduino\libraries\Totem_Library\src\esp32\platform.txt do zložky \Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\, kde prepíše súbor s rovnakým názvom

V menu  Nástroje -> Doska a vyberte dosku, ktorú budete používať, v našom prípade ESP 32 dev module. Následne pomocou menu Nástroje -> Port nastavte port, ku ktorému je vaša doska pripojená.

Súčasťou knižnice sú aj príklady, takže môžete vyskúšať príklad na blikanie RGB LED, alebo si napísať vlastný s využitím knižničných funkcií.

#include
 
void setup() {
    // inicializácia X4
    Totem.X4.begin();
}
// hlavná slučka
void loop() {
    Totem.X4.write("rgbAll", 255, 255, 0, 0);
    delay(700);
    Totem.X4.write("rgbAll", 255, 0, 255, 0);
    delay(700);
    Totem.X4.write("rgbAll", 255, 0, 0, 255);
    delay(700);
}

Túto aplikáciu blikajúcu LED-kami môžete v riadiacej jednotke nechať, prípadne vytvoriť inú. Zároveň, alebo presnejšie paralelne budete môcť svoju robotickú konštrukciu ovládať aj pomocou smartfónu.

Knižnica Totem totiž ku každému programu pripája BLE komunikáciu s aplikáciou Totem v smartfóne, či tablete. Tento proces beží na pozadí, paralelne s vaším kódom napísaným kódom v Arduino IDE. Aby to takto fungovalo a doska bola pre smartfón viditeľná, musíte v inicializácii zavolať funkciu Totem.X4.begin();

#include
 
void setup() {
    // inicializácia X4
    Totem.X4.begin();
}

Ak bude váš robot autonómny a nebudete ho potrebovať ovládať cez aplikáciu, zavoláte v inicializácii funkciu Totem.X4.beginNoBLE ().

Dosku riadiacej elektroniky môžete z robota ľahko vymontovať a použiť na iný účel

Detail na konštrukciu

Zobrazit Galériu

Luboslav Lacko

Všetky autorove články
Totem Black Spider ESP32 ESP 32 arduino Arduino IDE

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať