Letní IoT: Den 2

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Podmínka)
 
(Není zobrazeno 36 mezilehlých verzí od 1 uživatele.)
Řádka 1: Řádka 1:
[[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]]
+
[[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]][[Category:IoT]]
  
 
== Opakování ==
 
== Opakování ==
 +
Na začátek si zopakujeme věci, které jsme dělali včera.
  
Na začátek si zopakujeme věci, co jsme dělali včera
+
# Blikání LED diody s 2s prodlevou
 +
# 3 LED diody, po 2 sekundách se bude střídat, která bude svítit (červená, žlutá, zelená, čer...)
 +
# Vypsat do konzole všechna jednociferná čísla.
  
# Blikání ledky v 2s prodlevou
+
== Cykly ==
# LEDka 5× blikne (5s) a pak 3 s počká (for cyklus)
+
[[IoT: Cykly | Cykly ]] — když potřebujeme něco udělat vícekrát.
## Při každém bliknutí se vypíše do konzole "Bliknutí číslo: "
+
# LEDka s postupně rozsvítí a pak postupně zhasne
+
  
== Vlastní metoda ==
+
Zkuste předělat tento úkol když umíte for cyklus.
 +
# Vypsat do konzole všechna jednociferná čísla.
  
Již známe 2 metody ''void setup()'' a ''void loop()''
+
== LED dioda ==
My se teď naučíme vytvořit si vlastní metodu.
+
[[IoT: LED dioda # Postupné rozžíhání | Postupné rozžíhání ]] — postupně rožneme a zhasneme LED diodu.
  
Metoda se skládá z návratového typu, názvu metody a v závorkách má parametry.
+
== Podmínka ==
 +
[[IoT: Podmínka | Podmínka]]
  
My nepotřebujeme, aby nám metoda něco vracela, tak použijeme ''void''
+
== Náhodné číslo ==
 +
[[IoT: Seznámení #Náhodné číslo | Náhodné číslo]]
  
void blikni() {
+
Samostatné úkoly
+
* Náhodné číslo od 1 do 200, když bude číslo vyšší než 100, bude svítit červená LED dioda, jinak bude svítit modrá
digitalWrite(ledka, HIGH);
+
* Náhodné číslo v rozmezí od 1 do 3, na každou hodnotu bude svítit jiná LED dioda
delay(500)
+
digitalWrite(ledka, LOW);
+
}
+
  
a teď stačí napsat
+
== Vlastní metoda ==
blikni();
+
[[IoT: Vlastní metoda | Vlastní metoda ]] — s návratovým typem i bez něj.
a provede se to, co je v té metodě... paráda, co? :D
+
  
Metodě můžeme dát parametr - počet bliknutí třeba
+
Vyzkoušejte samostatné úkoly.
  
void blikni(int pocet) {
+
== Tlačítko ==
+
[[IoT: Tlačítko | Tlačítko]] — prostudujte zapojení a zápis kódu.
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!)
+
Udělejte samostatné úkoly.
blikni(5);
+
 
+
=== Samostatný úkol ===
+
#Vytvoř metodu, co na 3 s rozsvítí ledku.
+
#Vytvoř metodu, co 10× vypíše "blik"
+
#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 (-) [[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 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 ===
+
#zelená barva
+
#bílá barva
+
#Vaše oblíbená barva
+
#č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 [https://www.w3schools.com/colors/colors_rgb.asp RGB modul] je 0 - 255 a že metoda analogWrite() má rozsah 0 - 1023
+
 
+
=== Samostatný úkol 2 ===
+
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
+
  
 
== Display ==
 
== Display ==
 +
[[IoT: Display | Display ]] — další výstupní zařízení.
  
Teď si ukážeme další výstupní zařízení - display.
+
== Závěrečné opakování ==
 
+
Na závěr dnešního dne si zkusme tento krátký
Aby display správně fungoval, musíme udělat tyto věci
+
[https://forms.gle/bL21pSMRH4aQjbr59 testík].
 
+
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 ==
+

Aktuální verze z 7. 4. 2021, 10:52


Obsah

Opakování

Na začátek si zopakujeme věci, které jsme dělali včera.

  1. Blikání LED diody s 2s prodlevou
  2. 3 LED diody, po 2 sekundách se bude střídat, která bude svítit (červená, žlutá, zelená, čer...)
  3. Vypsat do konzole všechna jednociferná čísla.

Cykly

Cykly — když potřebujeme něco udělat vícekrát.

Zkuste předělat tento úkol když umíte for cyklus.

  1. Vypsat do konzole všechna jednociferná čísla.

LED dioda

Postupné rozžíhání — postupně rožneme a zhasneme LED diodu.

Podmínka

Podmínka

Náhodné číslo

Náhodné číslo

Samostatné úkoly

Vlastní metoda

Vlastní metoda — s návratovým typem i bez něj.

Vyzkoušejte samostatné úkoly.

Tlačítko

Tlačítko — prostudujte zapojení a zápis kódu.

Udělejte samostatné úkoly.

Display

Display — další výstupní zařízení.

Závěrečné opakování

Na závěr dnešního dne si zkusme tento krátký testík.

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