Close

Arduino základy – 2. Bliknutí LED

Obrázek pro postupné stmívání LED v Arduinu, zapojení na breadboardu

Další věc, kterou si v rámci tutoriálů a obecně v sekci základy probereme, bude to nejjednodušší, co můžete se svým Arduinem udělat – totiž bliknout s jeho LEDkou.

Co všechno budete potřebovat?

  • Arduino
  • LED
Deska Arduino
Deska Arduino

Obvod

K realizaci obvodu potřebného pro aktuální návrh (sketch) bude nutno ještě připojit rezistor 220 Ω, a to na pin číslo 13. Posléze připojte onu delší „nohu“ LED (pozitivní anoda) na rezistor. No a nyní obdobně a logicky připojte její krátkou nohu (negativní katoda) k zemi (GND – ground). Teď nám již ale nadešel čas na připojení Arduina k vašemu PC, spuštění Arduino IDE a zadání kódu.

Poznámka: většina Arduino boardů, na jaké narazíte na našem trhu (a nejen tam samozřejmě), již bude mít pravděpodobně malou LEDku připojenou k pinu 13, takže tento bod zkrátka přeskočte a pokračujte dále.

Zapojení příkladu Blink
Zapojení příkladu Blink

Schéma

Kdo má zájem, schéma celého zapojení si může prostudovat zde.

Schéma zapojení příkladu Blink
Schéma zapojení příkladu Blink

Kód

Z kódu níže je dobře vidět, jak se celá věc vlastně odehraje. První se inicializuje pin 13 jakožto pin používaný pro výstup:

pinMode(13, OUTPUT);

Následně se v hlavní metodě loop zapne LED pomocí funkce:

digitalWrite(13, HIGH);

Tím se pošle do pinu číslo 13 ihned 5 voltů, které zajistí, že se vám LEDka krásně rozzáří. Jakmile toho máte dost, můžete světlo zase vypnout za pomoci řádku:

digitalWrite(13, LOW);

Takto opět změníte napětí na pinu 13 na 0 voltů. A ještě něco zde musíme probrat. Pokud bychom Arduinu neřekli, že má mezi změnou stavů z ON na OFF chvilku počkat, led by blikala tak rychle, že by změnu stavů lidské oko ani náhodou nepostřehlo, proto přidáme do kódu i čekání:

Metoda delay() říká vašemu Arduinu, že nemá dělat nic a to přesně tolik milisekund, kolik jich zadáte do závorek (1 s = 1000 ms).

Celý kód vypadá takto:

/*
    Blikání
    LED na sekundu zasvítí a pak zase na sekundu zhasne. Opakovaně.
*/

// Pin 13 je na většině Arduino deskách spojen s LED
int led = 13;


void setup() {
    // nastavení pinu na Output
    pinMode(led, OUTPUT);
}

// opakujici se smyčka
void loop() {
    digitalWrite(led, HIGH); //zapnutí led
    delay(1000); // po dobu jedné sekundy
    digitalWrite(led, LOW); // vypnuti LED
    delay(1000); // po dobu jedné sekundy
}

Tento text je licencován licencí CreativeCommons a je přeložen ze stránky: https://arduino.cc/en/Tutorial/HomePage

Kamila Ježková

4 Comments on “Arduino základy – 2. Bliknutí LED

Patrik Baťha
4.11.2016 at 6:57

A jak by se dalo naprogramovat aby 2 LED blikaly střìdavě a menit jejich střídu?

Zbyšek Voda
5.11.2016 at 11:47

S použitím delay to bude docela otravné. Zkuste se podívat na tento příklad – https://bastlirna.hwkitchen.cz/arduino-zaklady-blikani-bez-funkce-delay/

Potom vlastně stačí některé věci zdvojit (třeba proměnné interval a previousMillis), takže každá LED bude mít vlastní.

Uvedený příklad bude mít střídu 50%. Pokud chcete měnit i střídu, jako nejjednodušší se mi jeví použít pro každou LED dvě počitadla – jedno na stav HIGH, druhé na stav LOW. Poměr intervalů LOW a HIGH vám pak dá střídu.

Čamo
2.10.2016 at 13:42

Takže tu sa čitateľ nedozvie, prečo má použiť 220 Ω odpor.

Napsat komentář