IoT: LED dioda
|  (→Rožnutí) | m (→Příklad:   - odsazení kódu) | ||
| (Není zobrazeno 37 mezilehlých verzí od 1 uživatele.) | |||
| Řádka 1: | Řádka 1: | ||
| − | [[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]] | + | [[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]][[Category:IoT]][[Category:Učebnice IoT]] | 
| − | = Co to je? = | + | == Co to je? == | 
| − | + | <div class="Definice"> | |
| − | + | LED (zkratka z anglického Light-Emitting Diode, česky elektroluminiscenční dioda, též světelná dioda, svítivá dioda, slangově ledka, ojediněle svítivka) je v elektrotechnice   | |
| − | + | označení pro diodu, která emituje světlo, případně infračervené nebo ultrafialové záření, čímž se liší od standardní diody. LED vyzařuje z obnaženého PN přechodu, a vede   | |
| − | + | stejnosměrný proud pouze jedním směrem. Na rozdíl od žárovky dosahuje vysoké účinnosti, je mechanicky odolná, levná na výrobu, a proto je čím dál více využívána (kontrolky,   | |
| + | displeje, osvětlení). | ||
| − | + | In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2020-08-09]. Dostupné z: https://cs.wikipedia.org/wiki/LED | |
| + | </div> | ||
| − | = Popis a zapojení = | + | == Popis a zapojení == | 
| − | + | LED dioda má 2 piny —  kladný (+) a záporný (-)   | |
| − | Menší ploška v diodě a delší  | + | Menší ploška v diodě a delší „nožička“ je katoda (+) | 
| − | Větší ploška v diodě a kratší  | + | Větší ploška v diodě a kratší „nožička“ je anoda (-) | 
| − | + | [[Image:schema-led-dioda.png]] | |
| − |   GPIO pin - katoda  | + | Zapojení LED diody je následující | 
| + | |||
| + | [[Image:schema-ledka.png]] | ||
| + | |||
| + | |||
| + |   GPIO pin - katoda LED diody - anoda LED diody - rezistor (odpor) - GND (zem) | ||
| Rezistor můžete umístit před nebo za diodu. | Rezistor můžete umístit před nebo za diodu. | ||
| − | <div class="Varovani">Vždy je nutné vybrat správnou hodnotu rezistoru, jinak by se  | + | <div class="Varovani">Vždy je nutné vybrat správnou hodnotu rezistoru, jinak by se LED dioda mohla spálit a poškodit i další zařízení.</div> | 
| − | = Rožnutí = | + | == Rožnutí == | 
| + | |||
| + | Na rožíhání a zhasínání LED diod máme metodu | ||
| + | |||
| + | <div class="Syntaxe"> | ||
| + | '''digitalWrite(''nazev'', ''stav'')''' | ||
| + | </div> | ||
| − | + | ''nazev'' — název, co jsme dali u ''#define '''nazev''' 5'' | |
| − | Stavy máme dva  | + | Stavy máme dva: | 
| + | #* '''HIGH''' — svítí | ||
| + | #* '''LOW''' — nesvítí | ||
| − | == Příklad == | + | === Příklad === | 
| − | Na pinu D1 / GPIO5 máme zapojenou  | + | Na pinu D1 / GPIO5 máme zapojenou LED diodu a tu chceme rozsvítit a pak zhasnout. | 
|   #define cervena 5 |   #define cervena 5 | ||
| Řádka 41: | Řádka 56: | ||
|   void setup() { |   void setup() { | ||
| − | + |     pinMode(cervena, OUTPUT); | |
|   } |   } | ||
| Řádka 47: | Řádka 62: | ||
|   void loop() { |   void loop() { | ||
| − | + |     digitalWrite(cervena, HIGH); | |
| − | + |     delay(1000); | |
| − | + |     digitalWrite(cervena, LOW); | |
| − | + |     delay(1000); | |
|   } |   } | ||
| − | Definovali jsme si, že na GPIO5 je  | + | Definovali jsme si, že na GPIO5 je LED dioda a že je výstupní. | 
| − | Potom jsme rožli  | + | Potom jsme rožli LED diodu, počká se prodleva a pak se LED dioda zase zhasne. | 
| − | <div class="Priklad"> Blikání s  | + | <div class="Priklad"> [https://github.com/CestmirKolarik/IoTucebnice/blob/main/ArduinoIDE/LEDka_roznuti/LEDKa_roznuti.ino Blikání s LED diodou]. </div> | 
| + | |||
| + | === Samostatné úkoly === | ||
| + | Zapojte si 3 LED diody. Modrou, červenou a zelenou. Každá ať je zapojena na zvlášť – na jiném pinu. | ||
| + | |||
| + | [[Image:schema-3ledky.png]] | ||
| + | |||
| + | # modrá i červená LED dioda se rožnou na 3 s a pak 3 s nebudou svítit | ||
| + | # modrá LED dioda se rozsvítí na 4 s, pak zhasne a zároveň se rozsvítí červená LED dioda, ta zhasne po 4s a znovu se rozsvítí modrá LED dioda | ||
| + | # modrá LED dioda bude svítit 5 sekund a dvě a půl svítit nebude | ||
| + | # každá LED dioda bude svítit 1s, pak se zhasne a rozsvítí se další (např. modrá, červená, zelená, modrá...) | ||
| + | # vymysleti si vlastní zadání | ||
| == Další možnosti definování == | == Další možnosti definování == | ||
| Řádka 70: | Řádka 96: | ||
| V návodech se můžete setkat i s některou z těchto možností. | V návodech se můžete setkat i s některou z těchto možností. | ||
| − | =  | + | == Postupné rozžíhání == | 
| − | Metodu '''digitalWrite();''' jsme si již ukázali. Ta je k rožnutí, či zhasnutí  | + | Metodu '''digitalWrite();''' jsme si již ukázali. Ta je k rožnutí, či zhasnutí LED diody. | 
| − | Ale co když chceme  | + | Ale co když chceme LED diodu rozsvítit jen částečně ... třeba na půl jasu? | 
| − | Či aby se postupně rozžíhala? | + | Či aby se postupně rozžíhala? K tomu nám slouží metoda: | 
| − | <div class=" | + | <div class="Syntaxe"> | 
| − | + | '''analogWrite(''nazev'', ''cislo'');''' | |
| − | + | </div> | |
| + | ''nazev'' — název, co jsme dali u ''#define '''nazev''' 5'' | ||
| − | takže, chceme rozsvítit  | + | ''cislo'' — jak má svítit — v našem případě je to v rozmezí 0 - 1023 (1024 možností) | 
| + | |||
| + | takže, chceme rozsvítit LED diodu napůl jen - '''analogWrite(nazev, 512);''' | ||
| [http://jurasek.wz.cz/index.php/iot1/16-regulace-jasu-led Regulace jasu] | [http://jurasek.wz.cz/index.php/iot1/16-regulace-jasu-led Regulace jasu] | ||
| − | == Příklad == | + | === Příklad === | 
| − | + | LED dioda se během cca 5 sekund rožne. | |
| − |   #define ledka  | + |   #define ledka 5 | 
|   void setup() { |   void setup() { | ||
| Řádka 106: | Řádka 135: | ||
|   } |   } | ||
| − | = | + | <div class="Priklad"> [https://github.com/CestmirKolarik/IoTucebnice/blob/main/ArduinoIDE/LEDka_postupne_roznuti/LEDKa_postupne_roznuti.ino Postupné rožnutí] </div> | 
| − | + | ||
| − | + | ||
| − | + | ||
| − | = RGB  | + | === Samostatný úkol === | 
| + | # LED dioda se postupně rozsvítí a pak postupně zhasne (během 6 sekund) | ||
| + | # Během pěti sekund se LED dioda rožne, sekundu zůstane rožnutá na maximum, 5 sekund se bude zhasínat a sekundu zůstane zhasnutá | ||
| + | # LED dioda bude sekundu zhaslá, sekundu na poloviční jas a sekundu na maximální jas | ||
| + | |||
| + | == RGB LED dioda == | ||
| + | |||
| + | === Popis === | ||
| − | + | RGB LED dioda má v sobě jakoby 3 LED dioda – Red, Green, Blue | |
| + | Má 3 katody (+) a jednu anodu (-) | ||
| − | + | [[Image:schema-rgb-dioda.png]] | |
| − | + | ||
| Abychom ji mohli rozsvítit do námi požadované barvy, musíme něco vědět o [[https://www.w3schools.com/colors/colors_rgb.asp RGB mobelu]] | Abychom ji mohli rozsvítit do námi požadované barvy, musíme něco vědět o [[https://www.w3schools.com/colors/colors_rgb.asp RGB mobelu]] | ||
| − | |||
| − | + | Teoreticky je 16milionů, 255natřetí možných kombinací, jak může svítit. | |
| − | + | Budeme chtít zelenou, tak přivedeme napětí ke katodě která je spojena přechodem pn emitujícím zelené světlo. | |
| − | + | [http://jurasek.wz.cz/index.php/iot1/24-rgb-led RGB led ] | |
| − | + | === Zapojení === | |
| − | == Příklady == | + | [[Image:schema-RGBledka.png]] | 
| + | |||
| + |  GPIO pin - rezistor - katoda | anoda - GND | ||
| + | |||
| + | === Příklady === | ||
| Definuji si 3 výstupy - červený, zelný a modrý | Definuji si 3 výstupy - červený, zelný a modrý | ||
| Řádka 148: | Řádka 184: | ||
|   digitalWrite(gre, HIGH); |   digitalWrite(gre, HIGH); | ||
| + | <div class="Priklad"> [https://github.com/CestmirKolarik/IoTucebnice/blob/main/ArduinoIDE/LEDka_RGB/LEDka_RGB.ino RGB LED dioda] </div> | ||
| === Samostatný úkol === | === Samostatný úkol === | ||
| Řádka 154: | Řádka 191: | ||
| #černá barva | #černá barva | ||
| − | == Více barev == | + | === Více barev === | 
| Ale takto získáme jen omezené množství barev, ale my chceme třeba fialovou, která je | Ale takto získáme jen omezené množství barev, ale my chceme třeba fialovou, která je | ||
| Řádka 165: | Řádka 202: | ||
| * hodnota do metody analogWrite je v rozsahu '''0 až 1023''' | * hodnota do metody analogWrite je v rozsahu '''0 až 1023''' | ||
| − | + | Také si musíme uvědomit že je používané PWM - námi zvolená barva na LEDce nebude úplně stejná jako původní barva. | |
| − | + | ||
| − | + | ||
|   analogWrite(red,556); |   analogWrite(red,556); | ||
|   analogWrite(gre, 0); |   analogWrite(gre, 0); | ||
|   analogWrite(blu, 1020); |   analogWrite(blu, 1020); | ||
| + | |||
| + | <div class="Priklad"> [https://github.com/CestmirKolarik/IoTucebnice/blob/main/ArduinoIDE/LEDka_RGB_mix/LEDka_RGB_mix.ino RGB LED dioda více barev]</div> | ||
| === Samostatný úkol === | === Samostatný úkol === | ||
| Řádka 177: | Řádka 214: | ||
| # Vaše oblíbená barva | # Vaše oblíbená barva | ||
| # Tyrkysová barva | # Tyrkysová barva | ||
| − | |||
| − | |||
| − | |||
| − | |||
Aktuální verze z 27. 5. 2021, 06:19
| Obsah | 
Co to je?
LED (zkratka z anglického Light-Emitting Diode, česky elektroluminiscenční dioda, též světelná dioda, svítivá dioda, slangově ledka, ojediněle svítivka) je v elektrotechnice označení pro diodu, která emituje světlo, případně infračervené nebo ultrafialové záření, čímž se liší od standardní diody. LED vyzařuje z obnaženého PN přechodu, a vede stejnosměrný proud pouze jedním směrem. Na rozdíl od žárovky dosahuje vysoké účinnosti, je mechanicky odolná, levná na výrobu, a proto je čím dál více využívána (kontrolky, displeje, osvětlení).
In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2020-08-09]. Dostupné z: https://cs.wikipedia.org/wiki/LED
Popis a zapojení
LED dioda má 2 piny — kladný (+) a záporný (-)
Menší ploška v diodě a delší „nožička“ je katoda (+)
Větší ploška v diodě a kratší „nožička“ je anoda (-)
Zapojení LED diody je následující
GPIO pin - katoda LED diody - anoda LED diody - rezistor (odpor) - GND (zem)
Rezistor můžete umístit před nebo za diodu.
Rožnutí
Na rožíhání a zhasínání LED diod máme metodu
digitalWrite(nazev, stav)
nazev — název, co jsme dali u #define nazev 5
Stavy máme dva:
- HIGH — svítí
- LOW — nesvítí
 
Příklad
Na pinu D1 / GPIO5 máme zapojenou LED diodu a tu chceme rozsvítit a pak zhasnout.
#define cervena 5
Definujeme, že ne GPIO5 je "něco" a to "něco" se jmenuje cervena
void setup() {
   pinMode(cervena, OUTPUT);
}
Řekneme, že cervena je výstupní
void loop() {
   digitalWrite(cervena, HIGH);
   delay(1000);
   digitalWrite(cervena, LOW);
   delay(1000);
}
Definovali jsme si, že na GPIO5 je LED dioda a že je výstupní.
Potom jsme rožli LED diodu, počká se prodleva a pak se LED dioda zase zhasne.
Samostatné úkoly
Zapojte si 3 LED diody. Modrou, červenou a zelenou. Každá ať je zapojena na zvlášť – na jiném pinu.
- modrá i červená LED dioda se rožnou na 3 s a pak 3 s nebudou svítit
- modrá LED dioda se rozsvítí na 4 s, pak zhasne a zároveň se rozsvítí červená LED dioda, ta zhasne po 4s a znovu se rozsvítí modrá LED dioda
- modrá LED dioda bude svítit 5 sekund a dvě a půl svítit nebude
- každá LED dioda bude svítit 1s, pak se zhasne a rozsvítí se další (např. modrá, červená, zelená, modrá...)
- vymysleti si vlastní zadání
Další možnosti definování
#define modra 5 #define modra D1; const char modra = 5; char modra 5; int modra = D1; const char modra = 5;
V návodech se můžete setkat i s některou z těchto možností.
Postupné rozžíhání
Metodu digitalWrite(); jsme si již ukázali. Ta je k rožnutí, či zhasnutí LED diody.
Ale co když chceme LED diodu rozsvítit jen částečně ... třeba na půl jasu?
Či aby se postupně rozžíhala? K tomu nám slouží metoda:
analogWrite(nazev, cislo);
nazev — název, co jsme dali u #define nazev 5
cislo — jak má svítit — v našem případě je to v rozmezí 0 - 1023 (1024 možností)
takže, chceme rozsvítit LED diodu napůl jen - analogWrite(nazev, 512);
Příklad
LED dioda se během cca 5 sekund rožne.
#define ledka 5
void setup() {
pinMode(ledka, OUTPUT);
}
void loop() {
for(int i = 0; i < 1024; i++)
{
  analogWrite(ledka, i);
  delay(5);
}
}
Samostatný úkol
- LED dioda se postupně rozsvítí a pak postupně zhasne (během 6 sekund)
- Během pěti sekund se LED dioda rožne, sekundu zůstane rožnutá na maximum, 5 sekund se bude zhasínat a sekundu zůstane zhasnutá
- LED dioda bude sekundu zhaslá, sekundu na poloviční jas a sekundu na maximální jas
RGB LED dioda
Popis
RGB LED dioda má v sobě jakoby 3 LED dioda – Red, Green, Blue Má 3 katody (+) a jednu anodu (-)
Abychom ji mohli rozsvítit do námi požadované barvy, musíme něco vědět o [RGB mobelu]
Teoreticky je 16milionů, 255natřetí možných kombinací, jak může svítit.
Budeme chtít zelenou, tak přivedeme napětí ke katodě která je spojena přechodem pn emitujícím zelené světlo.
Zapojení
GPIO pin - rezistor - katoda | anoda - GND
Příklady
Definuji si 3 výstupy - červený, zelný a modrý
#define red ... #define gre ... #fefine blu ...
- Chceme červenou
#FF0000 - (255, 0, 0) digitalWrite(red, HIGH);
- Chceme žlutou
#FFFF00 - (255, 255, 0) digitalWrite(red, HIGH); digitalWrite(gre, HIGH);
Samostatný úkol
- zelená barva
- bílá barva
- černá barva
Více barev
Ale takto získáme jen omezené množství barev, ale my chceme třeba fialovou, která je
- fialová #8b00ff - (139; 0; 255)
Takže musíme použít metodu analogWrite()
Víme že:
- RGB model je od 0 do 255
- hodnota do metody analogWrite je v rozsahu 0 až 1023
Také si musíme uvědomit že je používané PWM - námi zvolená barva na LEDce nebude úplně stejná jako původní barva.
analogWrite(red,556); analogWrite(gre, 0); analogWrite(blu, 1020);
Samostatný úkol
- Růžová barva
- Vaše oblíbená barva
- Tyrkysová barva





