V minulých dílech jsme si RedBota představili a také jsme si ho sestavili dohromady. Dnes už nám tedy nic nebrání v tom, abychom se vrhli do jeho programování. Začneme tím úplně nejzákladnějším.
Připojení RedBota
Abychom mohli s naším Arduino robotem dále pracovat, připojíme ho k bateriím a také pomocí přiloženého USB kabelu k počítači. Pokud ještě nemáte Arduino IDE, stáhněte si jej ze stránky Arduino.cc. Můžete také použít jeho alternativu Arduino Studio.
Může se stát, že váš počítač nebude správně komunikovat s RedBotem. Stáhněte si ovladač (Windows, OS X >=10.9, OS X <= 10.8) a nainstalujte jej podle specifikací vašeho OS.
Instalace RedBot knihovny
Abychom si všechny obslužné funkce nemuseli psát sami, stáhneme si RedBot knihovnu. V počítači nalezneme složku, ve které má Arduino uložené knihovny. Ve Windows je to například složka Dokumenty/Arduino sketches/libraries. Složku libraries také nalezneme přímo ve složce, kam jsme nainstalovali, popřípadě rozbalili Arduino IDE. Stažená knihovna obsahuje složku RedBot. Knihovnu extrahujeme do složky libraries (nezáleží, do které ze dvou zmíněných). Tato složka by nyní měla mít přibližně následující obsah:
- libraries
- …
- RedBot
- RedBot_Experiments
- RedBot.cpp
- RedBot.h
- …
- …
Složka RedBot_Experiments navíc obsahuje programy, se kterými budeme ve článcích o RedBotovi pracovat.
Výběr desky
Možná byste čekali, že v menu Tools/Board budeme vybírat nějakou speciální desku – například RedBot_board. Tak tomu však není. Hlavní deska robota totiž není nic jiného, než trochu upravené Arduino UNO – i použitý procesor, kterým je AtMega328, je stejný. V menu Tools/Board tedy vybereme Arduino UNO, popřípadě Genuino/Arduino UNO v novějších verzích IDE. Poté vybereme příslušný port z Tools/Port.
První program
Nyní máme robota připraveného k programování. Vyzkoušejme tedy, jestli se vše povedlo jednoduchým programem, který nám zabliká LEDkou. Ten nalezneme pod: File/Examples/RedBot/RedBot_Experiments/Exp1_BasicTest.
void setup(){ pinMode(13, OUTPUT); // budeme blikat LED na pinu 13 } void loop(){ digitalWrite(13, HIGH); // zapneme LED na pinu 13 delay(500); // počkáme 500 milisekund digitalWrite(13, LOW); // vypneme LED na pinu 13 delay(500); // počkáme 500 milisekund //celý cyklus trvá 1000ms = 1s a opakuje se stále dokola }
RedBota zapneme pomocí přepínače označeného Power.
Nyní stiskneme tlačítko Upload v Arduino IDE. Pokud vše proběhne úspěšně, měli bychom vidět blikat LEDku označenou D13 LED. Všimněte si, že v této chvíli ještě nevkládáme knihovnu RedBot. Žádná z funkcí, které jsou použité v programu, totiž tuto knihovnu nevyžaduje.
Co dál?
Můžete si například pohrát s délkou blikání LEDky. Co takhle zkusit délku cyklu 20ms, 10ms, nebo třeba LED načasovat tak, aby svým blikáním připomínala tlukot srdce?
Možné problémy
Pokud vám RedBot nepracuje tak, jak by měl, může to býz způsobeno vícero věcmi. Ty nejpravděpodobnější jsou:
- USB kabel není správně připojen. Zkuste ho odpojit a znovu připojit do Arduina i do PC.
- Ujistěte se, že přepínač POWER je v poloze ON.
- Pokud se vám nedaří program nahrát, ujistěte se, že máte vybrán správný sériový port. Nejjednodušší způsob, jak zjistit, jaký port náleží robotovi je odpojit USB a sledovat, který port z nabídky zmizel.
- Pokud máte na hlavní desce připojený XBee modul, je důležité, aby byl přepínač pro volbu portu Xbee přepnut do polohy XBEE SW SERIAL.
- Ještě jednou zkontrolujte, jestli máte vybranou správnou desku v nabídce Boards
- Také se může stát, že budou vybité baterie. To poznáte podle toho, že LED označená Power nesvítí ani po zapnutí robota.
Na co se můžete těšit příště? Příště se už s naším Arduino robotem konečně projedeme!
Seriál Arduino robot RedBot vychází z Experiment Guide for RedBot od společnosti SparkFun, ze kterého také pocházejí některé obrázky.