LCD 1602

 

 

Displej LCD 1602 i2c

 Displej LCD 1602 zobrazuje dva řádky o šestnácti písmenech. V základním provedení (bez i2c) vyžaduje mnohavodičové propojení s Arduinem. V předložené verzi je displej vybaven sériovým modulátorem i2c. Modulátor umožňuje propojení s Arduinem pouze čtyřmi vodiči (2 napájení, 2 signál). Na snímku vidíme i2c modulátor jako černý "přídavný" plošný spoj na zadní straně displeje. Displej LCD1602 i2c máme možnost pořídit např. zde.

Podle zahraničních pramenů jsou dostupné 3 verze i2c modulátorů:

 

Zapojení a oživení displeje

Byla použita deska UNO. Napájení displeje připojíme na 5V Arduina. Signálové piny propojíme: pin SDA displeje (modulátoru i2c) na pin A4 Arduina a pin SCL na pin A5 Arduina. Pokud použijeme desku Arduino UNO V3, můžeme signálové piny SDA a SCL propojit s totožnými piny SDA a SCL Arduina 

Pro oživení displeje musíme znát "hexa" adresu, na které modulátor pracuje. Adresa je dána propojením kontaktů označených na plošném spoji A0, A1, A2:

 

 Hexa adresu lze ověřit skenovacím programem, který pro českou veřejnost připravil autor Luboš M.  Displej připojíme přes i2c rozhraní (podle výše uvedeného) k desce Arduino, skenovací program otevřeme v IDE a nahrajeme do Arduina.  Po nahrání obdržíme informaci o hexa adrese na sériovém monitoru  (sériový monitor spustíme v IDE ikonou lupy). 

Výsledek skenu - adresa "0x3F":

K oživení displeje budeme potřebovat knihovny. Knihovnu "Wire.h", která je součásti IDE a nemusíme ji shánět a instalovat (případně místo knihovny "Wire.h, knihovnu "LCD.h", je součásti knihovny "NewliquidCrystal", nutno individuálně ověřit). Druhou knihovnou je knihovna "LiquidCrystal_I2C.h", kterou lze opatřit z veřejných zdrojů. V daném případě byla instalace do IDE provedena pomoci zip souboru NewliquidCrystal_1.3.4.zip . V IDE otevřeme  "Projekt/Přidat knihovnu/Přidat.ZIP knihovnu ... najdeme soubor "NewliquidCrystal_1.3.4.zip" a odklikneme. Po restartu IDE dojde k instalaci knihovny do IDE.

Displej oživíme kódem "LCD_Ahoj.ino". Klikneme na "LCD_Ahoj", zobrazené příkazy přeneseme "klipbordem" na pracovní, předem "vyčištěnou", plochu IDE. Program uložíme do IDE a nahrajeme do desky Arduino. 

 

Skeč "LCD_Ahoj.ino":

#include <Wire.h>                                                                      // připojení knihovny Wire (případně zde použijeme knihovnu "LCD.h")         

#include <LiquidCrystal_I2C.h>                                              // připojení knihovny LiquidCrystal_I2C

LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7,3,POSITIVE);      // nastavení adresy 0x3F displeje, aj.

void setup()                                                                                                                                                             

{Serial.begin(9600);                                                                // nastavení sériové komunikace

lcd.begin(16,2);                                                                       // nastavení 16 písmen a 2 řádků displeje

lcd.setCursor(0,0);                                                                 // nastavení pozice kursoru

lcd.print("Ahoj");                                                                      // tisk textu

lcd.setCursor(0,1);                                                                 // nastavení pozice kursoru

lcd.print("Zdravi Arduino");}                                                   // tisk textu

 void loop(){}                                                                           // prázdná smyčka

 

Komentáře k příkazům kódu jsou uvedeny na jednotlivých řádcích za dvojitým lomítkem. Skeč nahrajeme do Arduina. Na displeji se zobrazí text "Ahoj, Zdravi Arduino":

 

Pro názorné zobrazení "měřené" hodnoty připojíme napájecí napětí Arduina na analogový vstup "A0" přes lineární potenciometr 50k. Potenciometr napojíme na napájecí napětí Arduina, tj. jeden z krajních kontaktů potenciometru na kontakt GND Arduina a druhý okrajový kontakt potenciometru na kontakt "5V" Arduina. Jezdec potenciometru připojíme na kontakt "A0" Arduina (v programu je to kontakt č.14). Schéma připojení potenciometru je uvedeno v kapitole "Měření napětí".

Pro ověření zobrazení hodnoty použijeme kód "LCD_Hodnota" :

 

Skeč "LCD_Hodnota.ino":

#include <Wire.h>                                                                         // knihovna (případně zde použijeme knihovnu "LCD.h")
 #include <LiquidCrystal_I2C.h>                                                 // knihovna
 LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7,3,POSITIVE);         // nastavení adresy 0x3F displeje
 void setup()  
 {Serial.begin(9600);                                                                   // zahájení sériové komunikace                                        
 lcd.begin(16,1);}                                                                         // nastavení 16 písmen a 1 řádek displeje                                      
 void loop()                                                   
 {lcd.setCursor(0,0);                                                                    // nastavení pozice kursoru
 lcd.print("Hodnota:"); // tisk textu
 lcd.setCursor(10,0);                                                                  // nastavení pozice kursoru
 lcd.print(analogRead(14));                                                       // tisk hodnoty načtené z analogového pinu A0, zde v programu 14
 delay(50);                                                                                   // ceká 50 milisekund
 lcd.clear();}                                                                                 // vynulování displeje


   

 

 Skeč nahrajeme do Arduina. Na displeji se zobrazí číslo odpovídající hodnotě analogového vstupu A0. 

Arduino desky mají obvykle analogové vstupy s rozlišením 10 bitů (210-1), z čehož vyplývá, že napájecí napětí (cca 5V) připojené na analogový vstup Arduina vrací v systému Arduina hodnotu 1023. Potenciometrem můžeme zobrazovanou hodnotu měnit v rozsahu 0-1023 (změnou napětí 0-cca 5V na analogovém vstupu A0 ). Obdobně lze sledovat na displeji různá analogová měření. Převod snímané hodnoty na napětí ve voltech je popsáno v kapitole "Měření napětí"

 

Poznámka:

Pořízený displej nemusí mít optimálně nastavený kontrast zobrazení. Pokud se text po nahrání programu nezobrazí, pokusíme se nastavit optimální kontrast trimrem na desce i2c. Bez obav projedeme celou dráhu trimru a přitom sledujeme displej.  Pokud byl displej původně např. "přesvětlený", text se zobrazí v jiné pozici trimru.

 

Říjen 2019, upraveno 12/ 2023

 

Home

 

Arby

arduinohobby@email.cz