Tato aplikace je psaná pro předmět SMAP.
Ve složce SMAP je k nahlédnutí zdrojový kód pro Arduino Zbytek tohoto repozitáře je mobilní aplikace pro Android.
Cílem této dvojice aplikací je inteligentně ovládat krokový motor. K tomu má dopomoct snadné rozhraní mobilní aplikace, která ovládá Arduino skrze Bluetooth sériový port.
Arduino nasdlouchá příkazům. To jsou pole bajtů, kde jeden bajt reprezentuje jeden znak v ASCII formátu. Každý příkaz končí '!'.
Příkazy lze rozdělit do tří základních skupin - Motor, Debug a Home.
ma{úhel}! - Absolutní natočení motoru o určitý úhel. Absolutní znamená, že se motor snaží dostat k danému natočení nejkratší možnou cestou. V praxi to například znamená, že pokud je zadán příkaz 'ma270!', tak je ve skutečnosti vykonán příkaz 'mr-90!', protože je to rychlejší.
mr{úhel}! - Relativní natočení motoru o určitý úhel. Je to jednoduché a prosté natočení. Pokud mu je zadáno například 'mr720!', motor provede dvě otočky kolem své osy.
dl! - zapnutí nebo vypnutí zapojené diody
dr! - reset hodnot - 'soft reset', jsou vymazány všechny prac. hodnoty
ds! - vyzkouší fungování krokového motoru tím, že s ním provede jednu otočku
hs! - nastavení domovské pozice motoru
hh! - návrat do domovské pozice motoru
hr! - smazání domovské pozice motoru
Arduino také vrací některé příkazy:
step! - Signalizace kroku detekovaného optozávorou
disc! - Signalizace žádosti o odpojení.
gm! a gp! - Signalizace příkazu kroku pro krokový motor. Slouží pro identifikaci směru kroku získaného z příkazu 'step!'
Cílem Android aplikace je celou tuto protokolovou komunikaci obalit uživatelsky přívětivým grafickým rozhraním.
Stav: Plně implementovány příkazy, gyroskopické ovládání motoru a realtime stav otáčení motoru