Arduino základy – 2. Bliknutí LED
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.
Obsah článku:
Co všechno budete potřebovat?
- Arduino
- LED
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.
Schéma
Kdo má zájem, schéma celého zapojení si může prostudovat zde.
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
- Teleball: Arduino programování pro retro nadšence - 12.10.2015
- Arduino třídička barevných bonbonů - 30.9.2015
- Výškový meteorologický balon s čichem pro atmosféru - 18.9.2015
4 Comments on “Arduino základy – 2. Bliknutí LED”
Napsat komentář
Pro přidávání komentářů se musíte nejdříve přihlásit.
Patrik Baťha
4.11.2016 at 6:57A jak by se dalo naprogramovat aby 2 LED blikaly střìdavě a menit jejich střídu?
Zbyšek Voda
5.11.2016 at 11:47S použitím delay to bude docela otravné. Zkuste se podívat na tento příklad – http://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:42Takže tu sa čitateľ nedozvie, prečo má použiť 220 Ω odpor.
Zbyšek Voda
2.10.2016 at 13:50Ne, ale dozví se to tady: http://bastlirna.hwkitchen.cz/proc-musim-u-led-pouzit-rezistor/