V minulém článku o Arduinu a o událostech jež mu předcházeli, jsem slíbil, že si pro Arduino napíšeme první prográmek. Přiznám se, že jsem uvažoval o nějakém "Hello World" kousku na téma blikající LEDky, ale nakonec jsem se rozhodl vás do toho hodit rovnýma nohama a jako první projektík předvést něco víc. Nejdřív si však rychle probereme Arduino a jeho vývojové prostředí. Zítra pak vyjde pokračování s prvním projektem.
Arduino
Na níže uvedeném obrázku najdete schemtický pohled na Arduino Diecimila, dnes už je na trhu nové Arduino Duemilanove. Konfigurace pinů je ale na všech Arduino-like produktech obdobná.
Arduino má 14 digitálních I/O pinů (zelené 0-13). Piny 0 a 1 mohou sloužit pro seriovou komunikaci, piny 9-11 umožňují 8bitový PWM výstup. PWM (Pulse-width modulation) je vlastně "analogový" výstup - pin se velmi rychle vypíná a zapíná což způsobí plynulou regulaci výkonu na připojeném světle, motoru, magnetu apod.
Dále je k dispozici 6 analogových vstupů (modré 0-5) s 10bitovým rozlišením (1024 hodnot). Pin 3,5 a 6 opět může sloužit pro PWM výstup. Oranžové jsou napájecí piny zem, stabilizovaných 5 a 3,3 (na obrázu chybně označených jako 9) voltů. Některé piny mohou plnit i další funkce, ale nebudeme zabíhat příliš do detailů. Arduino je napájeno buď přes USB nebo jackem (X1) s napětím 7-12V (vybírá se fialovým jumperem SV1).
Tlačítko S1 (modrá) je hardwarový reset, umožnuje tak znovuspuštění nahraného programu. K dispozici máme mikrokontrolér ATmega168 (IC1) se 16Kb paměti (2Kb si bezme bootloader) na naše programy a 16Mhz procesorem. Je to trochu méně, než typická konfigurace dnešního PC, ale snad nám to bude stačit.
Arduino IDE
Arduino IDE, je založeno na open-source platformě Wiring, se kterou sdílí drtivou většinu svých funkcí. Arduino/Wiring je určeno i pro úplné začátečníky a obsahuje řadu knihoven které umožňují snadnou a rychlou práci nejen s vybavením PC (sériový port, grafika, UI, webcam, apod.) ale v případě Arduina i s hardwarem, který k Arduinu připojíme (serva, ehternet, LCD, EEPROM, apod.). Seznam knihoven, které jsou volně dostupné pro Arduino naleznete zde. Často pak výrobci přidají ke svým výrobkům Arduino knihovnu pro svůj specifický HW.
IDE obsahuje vše nutné pro tvorbu, kompilaci a nahrání programu do Arduina. Stačí správně vybrat cílový procesor a seriový port (součástí instalace je virtuální seriový port přes USB) o vše ostatní se stará IDE.
Programovací jazyk Arduina vychází z C/C++. Základem programu jsou metody setup() a loop(). Je asi jasné, že obsah první z nich se provede po startu a druhá metoda je volána stále dokola (dokud neodpojíte napájení). I kdyby obrázek nahoře neměl komentáře, každý asi pochopí co program bude dělat. Programové struktury, typy proměnných, klíčová slova a hlavní funkce jsou popsány zde.