Close

TinyLab: Používáme LED

Arduino kit TinyLab - tlačítka

V minulém dílu jsme se zabývali potenciometrem, který nalezneme na desce TinyLab. Dnes se budeme věnovat čtveřici LED ve spodním rohu desky.

Nastavení přepínačů

LED jsou připojené k pinům (zleva) 13, 12, 11, 10. Proto musíme přepnout spínače u těchto pinů na desce Leonardo do polohy ON. Jedná se o přepínače označené čísly 5, 6, 7 a 8. Také přepneme trojici spínačů pod sedmisegmentovým displejem do polohy To Control LEDs.

Nyní už si můžeme ledkami zablikat, třeba pomocí následujícího kódu.

void setup() {    pinMode(13, OUTPUT);    pinMode(12, OUTPUT);    pinMode(11, OUTPUT);    pinMode(10, OUTPUT);  }    void loop() {    digitalWrite(13, HIGH);    digitalWrite(12, HIGH);    digitalWrite(11, HIGH);    digitalWrite(10, HIGH);      delay(500);        digitalWrite(13, LOW);    digitalWrite(12, LOW);    digitalWrite(11, LOW);    digitalWrite(10, LOW);      delay(500);  }  

Zkrácení pomocí pole

Nyní si celý příklad přepíšeme pomocí pole a cyklů. Čísla pinů LED si uložíme do pole, kterým pak budeme v cyklech procházet.

byte leds[] = {10, 11, 12, 13};    void setup() {    for(byte i = 0; i < 4; i++){      pinMode(leds[i], OUTPUT);      }  }    void loop() {    for(byte i = 0; i < 4; i++){      digitalWrite(leds[i], HIGH);    }      delay(500);      for(byte i = 0; i < 4; i++){      digitalWrite(leds[i], LOW);    }      delay(500);  }  

Blikající had

Když už máme piny LED v jednom poli, můžeme jednoduše vytvořit program, který bude pořád dokola diodami blikat jednou po druhé.

byte leds[] = {10, 11, 12, 13};    void setup() {    for(byte i = 0; i < 4; i++){      pinMode(leds[i], OUTPUT);      }  }    void loop() {    for(byte i = 0; i < 4; i++){      digitalWrite(leds[i], HIGH);      delay(500);      digitalWrite(leds[i], LOW);      delay(500);    }  }  

Měníme rychlost pohybu

Budeme dále pokračovat v úpravách předchozího kódu a umožníme měnit rychlost pohybu LED při běhu programu. Využijeme k tomu komponentu z minulého dílu – potenciometr. Nezapomeňte přepnout přepínač u analogového pinu A0 do polohy ON (je označený pouze nulou, jen na levé straně desky Leonardo).

byte leds[] = {10, 11, 12, 13};    void setup() {    for(byte i = 0; i < 4; i++){      pinMode(leds[i], OUTPUT);      }  }    void loop() {    for(byte i = 0; i < 4; i++){      int pot = analogRead(A0);            digitalWrite(leds[i], HIGH);      delay(pot);      digitalWrite(leds[i], LOW);      delay(pot);    }  }  

Dnes to bylo jednoduché, že? Napadne vás další úprava blikání? Podělte se v komentářích, nebo na našem novém fóru arduino-forum.cz.

Tak zase příště u představení další komponenty.

Zbyšek Voda

Napsat komentář

shares