IoT: Display
Z MiS
(Rozdíly mezi verzemi)
m (→Kód) |
|||
(Není zobrazeno 18 mezilehlých verzí od 2 uživatelů.) | |||
Řádka 1: | Řádka 1: | ||
+ | [[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]][[Category:IoT]][[Category:Učebnice IoT]] | ||
+ | |||
Teď si ukážeme další výstupní zařízení - display. | Teď si ukážeme další výstupní zařízení - display. | ||
+ | |||
+ | == Kód == | ||
Aby display správně fungoval, musíme udělat tyto věci | Aby display správně fungoval, musíme udělat tyto věci | ||
− | * importovat knihovny | + | * importovat knihovny ([https://github.com/CestmirKolarik/IoTucebnice/blob/main/Knihovny/LiquidCrystal_I2C.zip knihovna]) – knihovna musí být v počítači (Projekt -> Přidat knihovnu -> Přidat .ZIP knihovnu) či nahrát a extrahovat do ''C:\Users\Čestmír\Documents\Arduino\libraries'' |
#include <Wire.h> | #include <Wire.h> | ||
#include <LiquidCrystal_I2C.h> | #include <LiquidCrystal_I2C.h> | ||
* správná adresa displeje | * správná adresa displeje | ||
− | LiquidCrystal_I2C lcd('''0x3F''', 16, 2) | + | LiquidCrystal_I2C lcd('''0x3F''', 16, 2); |
Adresa lze zjistit přes I2C_Scanner (např... Soubor -> Příklady -> LiquidCrystal_I2C -> I2C_Scanner) | Adresa lze zjistit přes I2C_Scanner (např... Soubor -> Příklady -> LiquidCrystal_I2C -> I2C_Scanner) | ||
Řádka 14: | Řádka 18: | ||
* nastavit velikost displeje | * nastavit velikost displeje | ||
LiquidCrystal_I2C lcd(0x27, '''16''', '''2'''); | LiquidCrystal_I2C lcd(0x27, '''16''', '''2'''); | ||
− | počet znaků na | + | počet znaků na řádku, počet řádků |
* ve void setup() | * ve void setup() | ||
lcd.begin(); | lcd.begin(); | ||
+ | |||
+ | lcd.backlight(); - aby se rožnulo podsvícení displeje (nepovinné) | ||
A to je vše! | A to je vše! | ||
Řádka 24: | Řádka 30: | ||
A teď si ukážeme pár metod pro práci s displejem | A teď si ukážeme pár metod pro práci s displejem | ||
− | lcd.backlight(); | + | lcd.backlight(); //rožne se podsvícení |
− | lcd.noBacklight(); | + | lcd.noBacklight(); //zhasne se podsvícení |
− | lcd.print(); | + | lcd.print(); //napíše na display |
− | lcd.clear(); | + | lcd.clear(); //smaže vše z displeje |
− | lcd.setCursor(0, 1); | + | lcd.setCursor(0, 1); //nastaví kurzor na (znak, řádek) (pozor, indexuje se zde od nuly) |
+ | lcd.home(); | ||
Když chceme napsat "°C", musíme použít | Když chceme napsat "°C", musíme použít | ||
Řádka 34: | Řádka 41: | ||
lcd.print("C"); | lcd.print("C"); | ||
− | = | + | <div class="Priklad"> [https://github.com/CestmirKolarik/IoTucebnice/blob/main/ArduinoIDE/LCD/LCD.ino Kód na display]. </div> |
− | + | == Zapojení == | |
− | Tento display komunikuje přes I2C | + | Tento display komunikuje přes I2C (D1 - SCL, D2 - SDA) a na napájení má 5V a GND (zem). |
− | + | [[Image: LCD.png| schéma zapojení ]] | |
− | + | [https://randomnerdtutorials.com/esp32-esp8266-i2c-lcd-arduino-ide/ Můžete prozkoumat tuto stránku.] | |
− | + | <div class="Varovani"> | |
+ | U nových displejů bývá problém, že je špatný kontrast - čitelnost textu - je nutné použít šroubovák a potočit přepínačem na spodní straně I2C převodníku. | ||
− | + | POZOR!!! buďte opatrní, ať zařízení nepoškodíte. | |
− | + | </div> | |
== Samostatný úkol == | == Samostatný úkol == |
Aktuální verze z 11. 4. 2021, 18:01
Teď si ukážeme další výstupní zařízení - display.
Kód
Aby display správně fungoval, musíme udělat tyto věci
- importovat knihovny (knihovna) – knihovna musí být v počítači (Projekt -> Přidat knihovnu -> Přidat .ZIP knihovnu) či nahrát a extrahovat do C:\Users\Čestmír\Documents\Arduino\libraries
#include <Wire.h> #include <LiquidCrystal_I2C.h>
- správná adresa displeje
LiquidCrystal_I2C lcd(0x3F, 16, 2); Adresa lze zjistit přes I2C_Scanner (např... Soubor -> Příklady -> LiquidCrystal_I2C -> I2C_Scanner)
- nastavit velikost displeje
LiquidCrystal_I2C lcd(0x27, 16, 2); počet znaků na řádku, počet řádků
- ve void setup()
lcd.begin(); lcd.backlight(); - aby se rožnulo podsvícení displeje (nepovinné)
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 lcd.clear(); //smaže vše z displeje lcd.setCursor(0, 1); //nastaví kurzor na (znak, řádek) (pozor, indexuje se zde od nuly) lcd.home();
Když chceme napsat "°C", musíme použít lcd.write(223); (či binárně - B11011111) lcd.print("C");
Zapojení
Tento display komunikuje přes I2C (D1 - SCL, D2 - SDA) a na napájení má 5V a GND (zem).
Můžete prozkoumat tuto stránku.
U nových displejů bývá problém, že je špatný kontrast - čitelnost textu - je nutné použít šroubovák a potočit přepínačem na spodní straně I2C převodníku.
POZOR!!! buďte opatrní, ať zařízení nepoškodíte.
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"
- Prozkoumejte projekty knihovny (Soubor -> Příklady -> LiquidCrystal_I2C -> ...)