Amint az a fentiekből is kiderült, a robotunk vezérléséhez szükségünk lesz egy mikrovezérlőre. Kezdésnek a mikrovezérlőt (mikrokontrollert) úgy is definiálhatjuk, mint egy, egyetlen chip-ből álló számítógépet. Rendelkezik saját központi vezérlő egységgel, memóriával, Aritmetikai Logikai Egységgel (ALU), némi EPROM-mal (másodlagos háttértár, ami az adatokat kikapcsolás után is megőrzi), sokféle chipre integrált perifériával (Timer, Soros kommunikáció, Analóg-Digitális átalakító stb…).
A mikrokontroller a végrehajtandó programot egy flash memóriában tárolja. Ez a memória könnyedén törölhető és újraprogramozható - akár több ezerszer is, mielőtt végleg tönkremenne. Ez nagyon rugalmassá teszi a mikrokontrollerek használatát.
A mikrokontroller legtöbb lába lehet digitális kimenet, digitális bemenet, és néhány speciális láb analóg bemenet is. A bemeneti lábakat arra használhatjuk, hogy a külvilágból érkező adatokat olvassunk be. A legegyszerűbb esetekben pl. lekérdezhetjük kapcsolók, vagy érzékelők állapotát. Az érzékelt adatoktól függően a mikrovezérlő az általunk bepogramozott módon válaszol (a kimeneti lábakra 5V-os vagy 0V-os feszültséget adva), ezáltal meghajtva lámpákat, motorokat, kijelzőket…
Kapcsolhatunk pl. LED-eket a mikrovezérlő lábaira, amelyeket ki/be kapcsolgathatunk a programunkkal. Egy LCD kijelzőre küldhetünk üzeneteket, vagy csatlakoztathatunk pl. egy kis hangszórót is, és adott magassagú hangot állíthatunk elő, ha a lábra adott feszültséget gyorsan ki/be kapcsolgatjuk a megfelelő frekvenciával. Ne felejtsük el, hogy ezek a lábak csak kismertekű áramot képesek elnyelni/leadni, tehát nagyobb áramigenyű eszközöket (mint pl. a robotunk DC motorjai) már nem képes meghajtani. De megfelelő kapcsolás/relé közbebeiktatásával már bármekkora áramú/feszültségű/teljesítményű eszközt is vezérelhetünk.
WILL-I építéséhez ATMEGA8-as AVR-t használtam, mert elegendő RAM-mal és flash memóriával rendelkezik, egyszerűbb projektek megvalósításához. Ezen felül sok integrált perifériával is rendelkezik, amelyek nagyon hasznosak lehetnek egy robot esetén. Pl.:
- Időzítők (Timer-ek) impulzusszélesség modulációval (PWM)
- Soros kommunikáció
- USART a PC-vel és más mikrokontrollerekkel történő kommunkiációhoz
- SPI a folyadékkristályos kijelzők (LCD) és memória kártyákkal történő kommunkiációhoz
- 10-bites Analóg-Digitális átalakító. Stb…