Letní IoT: Den 2

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Řádka 97: Řádka 97:
 
Tak hurá do práce, zkuste!
 
Tak hurá do práce, zkuste!
 
#Zkuste použít tento [https://create.arduino.cc/projecthub/muhammad-aqib/arduino-rgb-led-tutorial-fc003e kód] - není přímo na naše zařízení, upravte si ho :D
 
#Zkuste použít tento [https://create.arduino.cc/projecthub/muhammad-aqib/arduino-rgb-led-tutorial-fc003e 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í ===
 +
 +
[https://randomnerdtutorials.com/esp32-esp8266-i2c-lcd-arduino-ide/ 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 ===
 +
# Napište na display své jméno
 +
# Napište na display své jméno a pod to "Hrajeme si s IoT"
 +
# 5 sekund bude na displeji Vaše jméno a dalších 5 s tam bude "Hrajeme si s IoT"
 +
 +
== BMP280 ==

Verze z 12. 7. 2020, 10:35


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