U članku ćemo na Arduino povezati zaslon s tekućim kristalima 1602 s FC-113 I2C modulom, zbog čega će se povezivanje izvesti pomoću samo dvije podatkovne žice i dvije žice za napajanje.
Neophodno je
- - Arduino;
- - LCD 1602 ekran (16 znakova, 2 reda);
- - I2C adapter FC-113;
- - spojne žice.
Instrukcije
Korak 1
FC-113 modul zasnovan je na mikrokrugu PCF8574T, koji je 8-bitni pomični registar - I / O proširivač za I2C serijsku sabirnicu. Na slici je mikrovezje označeno DD1.
R1 je otpornik za podešavanje za podešavanje kontrasta LCD-a.
Jumper J1 koristi se za uključivanje pozadinskog osvjetljenja ekrana.
Klinovi 1 … 16 koriste se za povezivanje modula sa pinovima LCD ekrana.
Kontaktne pločice A1 … A3 potrebne su za promjenu adrese I2C uređaja. Spajanjem odgovarajućih kratkospojnika možete promijeniti adresu uređaja. Tabela prikazuje korespondenciju adresa i kratkospojnika: "0" odgovara prekinutom krugu, "1" - instaliranom kratkospojniku. Prema zadanim postavkama adresa uređaja je 0x27, tj. otvorena su sva 3 skakača.
Korak 2
Modul je standardno povezan na Arduino za I2C sabirnicu: SDA pin modula povezan je na analogni port A4, SCL pin povezan je na analogni port A5 Arduina. Modul napaja Arduino + 5V. Sam modul povezan je pinovima 1 … 16 sa odgovarajućim pinovima 1 … 16 na LCD displeju.
Korak 3
Sada nam je potrebna biblioteka za rad s LCD-ima putem I2C sučelja. Možete koristiti, na primjer, ovaj: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (veza u retku "Preuzmi uzorak koda i biblioteku").
Preuzeta arhiva "LiquidCrystal_I2Cv1-1.rar" raspakirana je u mapu "\ libraries ", koja se nalazi u Arduino IDE direktoriju.
Biblioteka podržava skup standardnih funkcija za LCD ekrane:
LiquidCrystal () - kreira varijablu tipa LiquidCrystal i prihvaća parametre veze ekrana (brojevi pinova), begin () - inicijalizacija LCD ekrana, podešavanje parametara (broj linija i simbola);
clear () - očistite ekran i vratite kursor u početni položaj;
home () - vratiti kursor na početni položaj;
setCursor () - postavljanje kursora na navedeni položaj;
write () - prikazuje znak na LCD ekranu;
print () - prikazuje tekst na LCD ekranu;
kursor () - prikazuje kursor, tj. podvuci ispod mjesta sljedećeg lika;
noCursor () - sakriva kursor;
blink () - treptanje kursora;
noBlink () - otkazati treptanje;
noDisplay () - isključite ekran dok čuvate sve prikazane informacije;
display () - uključite ekran dok čuvate sve prikazane informacije;
scrollDisplayLeft () - pomaknite prikazni sadržaj za 1 poziciju ulijevo;
scrollDisplayRight () - pomicanje sadržaja zaslona za 1 položaj udesno;
autoscroll () - omogućiti autoscroll;
noAutoscroll () - isključiti automatsko pomicanje;
leftToRight () - postavlja smjer teksta slijeva udesno;
rightToLeft () - smjer teksta s desna na lijevo;
createChar () - Stvara prilagođeni znak za LCD zaslon.
Korak 4
Otvorimo uzorak: Datoteka -> Uzorci -> LiquidCrystal_I2C -> CustomChars i malo ga prepravimo. Prikažimo poruku na kraju koje će se nalaziti simbol koji trepće. Sve nijanse skice komentirane su u komentarima koda.
Korak 5
Razmotrimo detaljnije pitanje stvaranja vlastitih simbola za LCD ekrane. Svaki znak na ekranu sastoji se od 35 točaka: 5 širokih i 7 visokih (+1 rezervirano podvlačenje). U 6. redu gornje skice postavili smo niz od 7 brojeva: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Pretvorimo heksadecimalne brojeve u binarne: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Ovi brojevi nisu ništa više od bitnih maski za svaki od 7 redaka znaka, gdje "0" označava svijetlu točku, a "1" tamnu točku. Na primjer, simbol srca naveden kao bitna maska pojavit će se na ekranu kao što je prikazano na slici.
Korak 6
Prenesite skicu na Arduino. Na ekranu će se prikazati natpis koji smo naveli trepćućim kursorom na kraju.