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?