Letní IoT: Den 2
Řádka 9: | Řádka 9: | ||
## Při každém bliknutí se vypíše do konzole "Bliknutí číslo: " | ## Při každém bliknutí se vypíše do konzole "Bliknutí číslo: " | ||
# LEDka s postupně rozsvítí a pak postupně zhasne | # LEDka s postupně rozsvítí a pak postupně zhasne | ||
+ | |||
+ | == Vlastní metoda == | ||
+ | |||
+ | Již známe 2 metody ''void setup()'' a ''void loop()'' | ||
+ | My se teď naučíme vytvořit si vlastní metodu. | ||
+ | |||
+ | Metoda se skládá z návratového typu, názvu metody a v závorkách má parametry. | ||
+ | |||
+ | My nepotřebujeme, aby nám metoda něco vracela, tak použijeme ''void'' | ||
+ | |||
+ | void blikni() { | ||
+ | |||
+ | digitalWrite(ledka, HIGH); | ||
+ | delay(500) | ||
+ | digitalWrite(ledka, LOW); | ||
+ | } | ||
+ | |||
+ | a teď stačí napsat | ||
+ | blikni(); | ||
+ | a provede se to, co je v té metodě... paráda, co? :D | ||
+ | |||
+ | Metodě můžeme dát parametr - počet bliknutí třeba | ||
+ | |||
+ | void blikni(int pocet) { | ||
+ | |||
+ | for(int i = 0, i < pocet; i++) | ||
+ | { | ||
+ | digitalWrite(ledka, HIGH); | ||
+ | delay(500) | ||
+ | digitalWrite(ledka, LOW); | ||
+ | delay(500); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Co udělá tento příkaz? (vyzkošej!) | ||
+ | blikni(5); | ||
== RGB LEDka == | == RGB LEDka == | ||
=== Popis === | === Popis === | ||
+ | RGB LEDka má v sobě jakoby 3 LEDky - Red, Green, Blue | ||
+ | Má 3 katody (+) a jednu anodu (-) [[https://ampul.cz/image/cache/catalog/image/data/led-dioda-katoda-600x600-product_popup.jpg schéma]] | ||
+ | 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 rožneme jen zelenou katodu. | ||
=== Zapojení === | === Zapojení === | ||
+ | |||
+ | GPIO pin - rezistor - katoda | ||
=== Příklady === | === Příklady === | ||
+ | |||
+ | #define red ... | ||
+ | #define gre ... | ||
+ | #fefine blu ... | ||
+ | |||
+ | ''Chceme čevenou'' | ||
+ | digitalWrite(red, HIGH); | ||
+ | |||
+ | ''Chceme žlutou'' | ||
+ | digitalWrite(red, HIGH); | ||
+ | digitalWrite(gre, HIGH); | ||
+ | |||
+ | === Samostatný úkol === | ||
+ | #zelená barva | ||
+ | #bílá barva | ||
+ | #černá barva | ||
+ | |||
+ | Moc kombinací není, co? | ||
+ | |||
+ | === Příklady 2 === |
Verze z 10. 7. 2020, 20:44
Obsah |
Opakování
Na začátek si zopakujeme věci, co jsme dělali včera
- Blikání ledky v 2s prodlevou
- LEDka 5× blikne (5s) a pak 3 s počká (for cyklus)
- Při každém bliknutí se vypíše do konzole "Bliknutí číslo: "
- LEDka s postupně rozsvítí a pak postupně zhasne
Vlastní metoda
Již známe 2 metody void setup() a void loop() My se teď naučíme vytvořit si vlastní metodu.
Metoda se skládá z návratového typu, názvu metody a v závorkách má parametry.
My nepotřebujeme, aby nám metoda něco vracela, tak použijeme void
void blikni() { digitalWrite(ledka, HIGH); delay(500) digitalWrite(ledka, LOW); }
a teď stačí napsat
blikni();
a provede se to, co je v té metodě... paráda, co? :D
Metodě můžeme dát parametr - počet bliknutí třeba
void blikni(int pocet) { for(int i = 0, i < pocet; i++) { digitalWrite(ledka, HIGH); delay(500) digitalWrite(ledka, LOW); delay(500); } }
Co udělá tento příkaz? (vyzkošej!)
blikni(5);
RGB LEDka
Popis
RGB LEDka má v sobě jakoby 3 LEDky - Red, Green, Blue Má 3 katody (+) a jednu anodu (-) [schéma]
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 rožneme jen zelenou katodu.
Zapojení
GPIO pin - rezistor - katoda
Příklady
#define red ... #define gre ... #fefine blu ... Chceme čevenou digitalWrite(red, HIGH); Chceme žlutou digitalWrite(red, HIGH); digitalWrite(gre, HIGH);
Samostatný úkol
- zelená barva
- bílá barva
- černá barva
Moc kombinací není, co?