Letní IoT: Den 2

Z MiS
Přejít na: navigace, hledání


Obsah

Opakování

Na začátek si zopakujeme věci, co jsme dělali včera

  1. Blikání ledky v 2s prodlevou
  2. LEDka 5× blikne (5s) a pak 3 s počká (for cyklus)
    1. Při každém bliknutí se vypíše do konzole "Bliknutí číslo: "
  3. 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);

Samostatný úkol

  1. Vytvoř metodu, co na 3 s rozsvítí ledku.
  2. Vytvoř metodu, co 10× vypíše "blik"
  3. Vytvoř metodu, co 3× vypíše zadané slovo a zabliká při tom

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

  1. zelená barva
  2. bílá barva
  3. Vaše oblíbená barva
  4. černá barva

Moc kombinací není, co?

Příklady 2

Metodu analogWrite() již znáne,

Pomocí ní můžeme dát RGB diodě jakoukoliv barvu.

Víme, že RGB modul je 0 - 255 a že metoda analogWrite() má rozsah 0 - 1023

Samostatný úkol 2

Tak hurá do práce, zkuste!

  1. Zkuste použít tento kód - není přímo na naše zařízení, upravte si ho :D
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje