|
|
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")
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
Arby
|