← IT

I2C LCD displej

IT3 – RBT – Arduino – I2C LCD displej

CV-09b

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

_ IT3 – RBT – Arduino – I2C LCD displej

CV-09b

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

Obrázek 2: Připojení Arduina na LCD display – Zadní 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:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
char array1[]=" Martinik je BOSS         ";// první řádek
displeje (26 znaků!)
char array2[]=" Ahoj ajtaci!             ";// druhý řádek
displeje (26 znaků!)

_ IT3 – RBT – Arduino – I2C LCD displej

CV-09b

int tim = 500; //délka pauzy

// inicializace knihovny displeje
LiquidCrystal_I2C lcd(0x27,16,2);
//
displeje na 0x27 pro 1602 displej
nastavit adresu
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; positionCou
nter1 < 26;
positionCounter1++) {
lcd.scrollDisplayLeft();

obsah zprávy na displeji zprava do leva.
lcd.print(array1[positionCounter1]);/
displeji.
delay(tim);
// Protáhnout
/ Zobrazit zprávu na
//
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; positionCoun
ter < 26;
positionCounter++) {
lcd.scrollDisplayLeft();

obsah zprávy na displeji zprava do leva.
lcd.print(array2[positionCounter]);
zprávu na displeji.
delay(tim);
// protáhnout
// zobrazit
//
počkat 500 ms
}
lcd.clear();
//
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.

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

IT3 – RBT – Arduino – I2C LCD displej

CV-09b

Ú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