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?
