LCD displej s I2C modulom - zapojenie a oživenie

Publikoval Silvia Al Hafoudh

Zobrazovania stavových informácií zariadenia prostredníctvom znakového LCD displeja je jednoduchý a rýchli spôsob. Aj vďaka týmto vlastnostiam patrí medzi najobľúbenejšie. Základný LCD modul využíva štandard HD44780, ktorý si nanešťastie vyžaduje priveľa pinov. Avšak pomocou I2C modulu sa tento počet dá zredukovať na 2 piny.

Pripojenie I2C modulu k LCD displeju


*LCD displej v našej ponuke je už rozšírený o I2C modul  


Niečo málo o I2C

Ako už bolo povedané, I2C zbernica pozostáva iba z dvoch pinov. Na posielanie samotných dát je určený SDA pin. Odosielanie dát sa synchronizuje cez hodinový signál, ktorý sa privádza na pin označený ako SCL.
Tento štandard je často využívaný aj preto, že umožňuje pripojenie viacerých zariadení na jednu dvojvodičovú zbernicu. Vďaka čomu nie sme obmedzený počtom pinov mikroprocesora. Môžeš k nemu pripojiť viac senzorov, driverov a iných periférií. Ale pozor! Každé zariadenie pripojené do I2C siete musí mať unikátnu adresu v rozsahu 0 - 127 ( 0 - 0x7F hex). Niektoré zariadenia sú schopné softvérovo nastaviť adresu. Niektoré ju majú fixne danú, prípadne ju vieš prestaviť hardvérovo.

Pre I2C moduly na týchto displejoch je defaultne nastavená ardesa 0x27 ale v prípade potreby ju vieš zmeniť hardvérovo adresnými pinmi. Ako nastaviť konkrétnu adresu si môžeš pozrieť v tabuľke:

Adresa pin A0 pin A1 pin A2

0x20

0 0 0
0x21 1 0 0
0x22 0 1 0
0x23 1 1 0

*0 reprezentuje spojené piny 

I2C k LCD - adresne piny

Pripojenie displeja k Arduinu

Pripojenie LCD s I2C modulom k Arduinu

Ako som spomínala pripájajú sa iba 2 vodiče a napájanie.

[piny displeja - Arduino piny]

  • GND - GND
  • VCC - 5V
  • SDA - A4
  • SCL - A5

Piny A4 a A5 má pre I2C zbernicu vyhradené Arduino UNO, pri iných typoch procesora je nutné zapojenie overiť! Na Arduino UNO Rev 3 nájdeš samostatne vyvedené aj piny SDA a SCL, na lište digitálnych pinov.

Arduino I2C piny 

Hello world!

V prvom rade, musíme Arduinu vysvetliť, že analógové piny A4 a A5 má v tomto prípade použiť na I2C komunikáciu. To nám umožnuje knižnica wire.h. Ak si knižnicu ešte neinštaloval, v našom blogu nájdeš návod ako na to

Okrem toho si nainštalujeme ešte jednu knižnicu pre prácu s LCD displejom s I2C. Tá definuje príkazy pre lcd displej, ktoré nám zjednodušia prácu. My sme použili túto: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library

Náš prvý program vyzerá takto:

spusteny program Hello World!

Náš program si môžeš stiahnuť tu: https://gist.github.com/robokingsk/5a824c8ce4d18b4f7d425035a65541fe

Vrámci knižnice vieš tiež nájsť príklady pre jej použitie: 

kde hľadať príklady použitia knižnice

Hello world priamo od autora knižnice si môžeš pozrieť tu: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library/blob/master/examples/HelloWorld/HelloWorld.ino






Zdieľať tento článok



← Staršie príspevky Novšie príspevky →