Ukázka programů pro shield
- Příkaz pro nastavení pinů 2 a 3 jako vstup pro tlačítka (zadáváme v Setup)
pinMode(2, INPUT_PULLUP); // první tlačítko
pinMode(3, INPUT_PULLUP); // druhé tlačítko
- Příkaz pro nastavení pinů 4 - 13 jako výstup pro LED diody (zadáváme v Setup)
pinMode(4,OUTPUT); // 1 LED dioda u tlačítek
pinMode(5,OUTPUT); // opakujeme od 4 výstupu do 13 výstupu
pinMode(13,OUTPUT); // 10 LED dioda dále od tlačítek
- Příkaz pro načtení stavu tlačítka v programu (zadáváme v Loop)
int tlacitko1 = digitalRead(2); // načteme stav 1 tlačítka
int tlacitko2 = digitalRead(3); // načteme stav 2 tlačítka
- Pokud chceme provést nějakou opraci v závislosti na stavu tlačítka použijeme podmínku if
if (tlacitko1 == LOW) { // když je tlačítko stisknuté
// udělej toto - například zapni LED 1 a 2 tedy:
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
} // konec if
else // jinak vykonej toto - vypni LED 1 a 2
{
digitalWrite(4,LOW);
digitalWrite(5,LOW);
} // konec else
Program test 1 (tlačítko vlevo spustí LED bod vlevo, tlačítko vpravo spustí LED bod vpravo)
V programu je použita funkce "for" pro zjednodušení programu (pokud se opakuje nějaká část stejného příkazu v programu je výhodné použít cyklus).
Příklad použití for
proměnná byte může být kladné číslo 0 - 255 pro náš příklad používáme rozsah od LED 1 (pin 4) do LED 10 (pin 13) (byte v rozsahu 4 - 14 tedy vyhovuje)
for(byte c=4; c<14; c++) {
// tady zopakuj cyklus 10x. Na začátku bylo c = 4 s každou smyčkou se c přičte o 1 tedy ++
// pokud je c menší než 14 zopakuj smyčku
// nastavíme piny 4 až 13 na výstup smyčkou namísto psaní pinMode(4,OUTPUT); pinMode(5,OUTPUT); atd pinMode(13,OUTPUT);
pinMode(c,OUTPUT);
} // konec for
Video - test 1 (efekt vlevo - vpravo)
Program test 2 (tlačítko vlevo spustí LED efekt knight rider)
Video - test 2 (efekt knight rider)
FREE (v příloze program test 1 a test 2)
DONATE (v příloze navíc deska spojů Eagle, Gerber, CAM a knihovna pro Eagle Arduino NANO shield)