← IT

I2C LCD displej

LCD displej je vhodný pro zobrazování údajů a zlepšují tím pádem naši interakci s přístroji. LCD panely se běžně připojují na kontroler, na kterém obsadí několik I/O portů, kterých je omezený počet. Proto byl vyvinut převodník se I2C sběrnicí pro 1602 a 2004 LCD displej, který daný problém vyřešil.

I²C (anglicky Inter-Integrated Circuit, čteme I-squared-C, nesprávně I-two-C) je multi-masterová počítačová sériová sběrnice vyvinutá firmou Philips, která je používána k připojování nízkorychlostních periferií k základní desce, mikrokontroléru, aj.

Praktická identická sběrnice se skrývá i pod zkratkou TWI (Two Wire Interface - dvoudrátové rozhraní), kterou používá firma Atmel a další výrobci, namísto chráněné značky I2C.

Modrý potenciometr na převodníky se používá k nastavení podsvícení. I²C používá pouze dva obousměrné kanály - datový kanál SDA a hodinový signál SCL s pull-up rezistory. Používá se napětí +5 V nebo +3,3 V, povoleny jsou však i systémy s jiným napětím.

Budeme potřebovat

  1. Arduino Uno (nebo jinou desku).

  2. USB kabel.

  3. Nepájivé kontaktní pole.

  4. Vodiče

  5. I²C zařízení např. I2C LCD displej

Zapojení

Dle obrázku:

I2C LCD1602Arduino UNO
GNDGND
VCC5V
SDAA4
SCLA5
Zapojení LCD displaye na Arduino na sběrnici I2C

Obrázek 1: Zapojení LCD displaye na Arduino na sběrnici I2C

Připojení Arduina na LCD display – Zadní strana

Obrázek 2: Připojení Arduina na LCD display – Zadní strana

LCD disply - Přední strana

Obrázek 3: LCD disply - Přední strana

Program bude vycházet z předchozího programu na skenování adresy zařízení připojeného ke sběrnici I2C.

Tentokráte necháme zobrazit text na LCD displeji pomocí programování.

Instalace knihoven

Staženou knihovnu „ LiquidCrystal_I2C.zip “ rozbalte do adresáře:

„ C:\Users\uživatelské_jméno\Documents\Arduino\Libraries “ ještě před kompilací programu.

Program

Do Arduino IDE vložíme kód programu a nahrajeme jej do Arduina:

/*
 * Progrm LCD panel - tisk textu s posunem
 */

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

char array1[]=" Ahoj Arduino!            ";	// první řádek displeje (26 znaků!)
char array2[]=" Ahoj ajtaci!             ";	// druhý řádek displeje (26 znaků!)
int tim = 500;                    //délka pauzy 

                                   // inicializace knihovny displeje 
LiquidCrystal_I2C lcd(0x27,16,2);			// nastavit adresu displeje na 0x27 pro 1602 displej 

void setup() {
	lcd.init();								          // inicializace lcd
	lcd.backlight();						        // zapnout podsvícení 
}

void loop() {
    lcd.setCursor(15,0);					      // nastavení kurzoru na sloupec 15, řádek 0
	for (int positionCounter1 = 0; positionCounter1 < 26; positionCounter1++) {
		lcd.scrollDisplayLeft();			    // Protáhnout obsah zprávy na displeji zprava do leva.
		lcd.print(array1[positionCounter1]);// Zobrazit zprávu na displeji.
		delay(tim);							          // počkat 500 ms
	}
    lcd.clear();							          // vyčistit displej a přesunout kurzor na začátek. 
	lcd.setCursor(15,1);					      // nastavení kurzoru na sloupec 15, řádek 1
	for (int positionCounter = 0; positionCounter < 26; positionCounter++) {
		lcd.scrollDisplayLeft();			    // protáhnout obsah zprávy na displeji zprava do leva.
		lcd.print(array2[positionCounter]);	// zobrazit zprávu na displeji.
		delay(tim);							          // počkat 500 ms
	}
	lcd.clear();							          // vyčistit displej a přesunout kurzor na začátek.
							          // vyčistit displej a přesunout kurzor na začátek.
}

Po spuštění programu se na LCD displeji objeví posunující se text.

Pokud nejde na displeji nic vidět, tak je potřeba změnit nastavení odporového trimru (modrý čtverec) na spodní straně displeje.

Kontrola podsvícení LCD displeje

Obrázek 4: Kontrola podsvícení LCD displeje

Úkol:

Upravte program tak, aby text zobrazovaném na druhém řádku probíhal zleva doprava.

Citace:

Arduino MAXI Starter kit OD BASTLÍŘŮ BASTLÍŘŮM - Lekce 6 Lekce 6 I2C LCD displej

Zdroj: robotika1.pol/cv09b_I2C_LCD_displej.pdf