IoT: Display

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
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 řádek, počet řádků
+
  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(); - rožne se podsvícení
+
  lcd.backlight(); //rožne se podsvícení
  lcd.noBacklight(); - zhasne se podsvícení
+
  lcd.noBacklight(); //zhasne se podsvícení
  lcd.print(); - napíše na display
+
  lcd.print(); //napíše na display
  lcd.clear(); - smaže vše z displeje
+
  lcd.clear(); //smaže vše z displeje
  lcd.setCursor(0, 1); - nastaví kurzor na (znak, řádek) (pozor, indexuje se zde od nuly)
+
  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");
  
== Zapojení ==
+
<div class="Priklad"> [https://github.com/CestmirKolarik/IoTucebnice/blob/main/ArduinoIDE/LCD/LCD.ino Kód na display]. </div>
  
[https://randomnerdtutorials.com/esp32-esp8266-i2c-lcd-arduino-ide/ prozkoumejte!]
+
== Zapojení ==
  
Tento display komunikuje přes I2C [https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP8266-WeMos-D1-Mini-pinout-gpio-pin.png?ssl=1 (D1 - SCL, D2 - SDA) ] a na napájení má 5V a GND (zem).
+
Tento display komunikuje přes I2C (D1 - SCL, D2 - SDA) a na napájení má 5V a GND (zem).
  
''DODÁM SCHÉMA ZAPOJENÍ''
+
[[Image: LCD.png| schéma zapojení ]]
  
'''Zkuste to zapojit sami a pak zavolejte lektora na zkontrolování.'''
+
[https://randomnerdtutorials.com/esp32-esp8266-i2c-lcd-arduino-ide/ Můžete prozkoumat tuto stránku.]
  
Aby Vám to fungovalo, musíte mít knihovnu v počítači.
+
<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.
  
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.
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

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
 
Adresa lze zjistit přes I2C_Scanner (např... Soubor -> Příklady -> LiquidCrystal_I2C -> I2C_Scanner)
LiquidCrystal_I2C lcd(0x27, 16, 2);
počet znaků na řádku, počet řádků
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).

schéma zapojení

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

  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"
  4. Prozkoumejte projekty knihovny (Soubor -> Příklady -> LiquidCrystal_I2C -> ...)
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje