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 přivedeme napětí ke katodě která je spojena přechodem pn emitujícím zelené světlo.

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

Display

Teď si ukážeme další výstupní zařízení - display.

Aby display správně fungoval, musíme udělat tyto věci

importovat knihovny
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

nastavit velikost displeje
LiquidCrystal_I2C lcd(0x27, 16, 2);

ve void setup()

lcd.begin();

A to je vše!

A teď si ukážeme pár metod pro práci s displejem

lcd.backlight(); - rožne se podsvícení
lcd.noBacklight(); - zhasne se podsvícení
lcd.print(); - napíše na display (pokračuje na aktuálním řádku)
lcd.printl(); - napíše na nový řádek displeje
lcd.clear(); - smaže vše z displeje
lcd.setCursor(0, 1); - nastaví kurzor na (znak, řádek)

Zapojení

prozkoumejte!

Tento display komunikuje přes I2C a na napájení má 3V3.

Zkuste to zapojit sami a pak zavolejte lektora na zkontrolování.

Samostatný úkol

  1. Napište na display své jméno
  2. Napište na display své jméno a pod to "Hrajeme si s IoT"
  3. 5 sekund bude na displeji Vaše jméno a dalších 5 s tam bude "Hrajeme si s IoT"

BMP280

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje