U članku ćemo na Arduino spojiti zaslon s tekućim kristalima 1602 s FC-113 I2C modulom, zbog čega će se povezivanje provoditi pomoću samo dvije podatkovne žice i dvije žice za napajanje.
Nužno je
- - Arduino;
- - LCD 1602 zaslon (16 znakova, 2 retka);
- - I2C adapter FC-113;
- - spojne žice.
Upute
Korak 1
FC-113 modul zasnovan je na mikrokrugu PCF8574T, koji je 8-bitni pomični registar - I / O ekspander za serijsku sabirnicu I2C. 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 zaslona.
Igle 1 … 16 koriste se za povezivanje modula s iglama LCD zaslona.
Kontaktni jastučići A1 … A3 potrebni su za promjenu adrese I2C uređaja. Spajanjem odgovarajućih kratkospojnika možete promijeniti adresu uređaja. Tablica 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 s Arduinom za I2C sabirnicu: SDA pin modula povezan je na analogni priključak A4, SCL pin povezan je s analognim priključkom A5 Arduina. Modul napaja Arduino + 5V. Sam modul povezan je iglicama 1 … 16 s odgovarajućim pinovima 1 … 16 na LCD zaslonu.
3. korak
Sada nam je potrebna knjižnica 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 zaslone:
LiquidCrystal () - stvara varijablu tipa LiquidCrystal i prihvaća parametre veze zaslona (brojevi pinova), begin () - inicijalizacija LCD zaslona, podešavanje parametara (broj redaka i simbola);
clear () - očistite zaslon 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 zaslonu;
print () - prikazuje tekst na LCD zaslonu;
kursor () - prikazuje kursor, tj. podcrtaj ispod mjesta sljedećeg znaka;
noCursor () - skriva pokazivač;
blink () - treptanje kursora;
noBlink () - otkazati treptanje;
noDisplay () - isključite zaslon uz spremanje svih prikazanih podataka;
display () - uključite zaslon uz spremanje svih prikazanih podataka;
scrollDisplayLeft () - pomicanje sadržaja zaslona 1 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.
4. korak
Otvorimo uzorak: Datoteka -> Uzorci -> LiquidCrystal_I2C -> CustomChars i malo ga prepravimo. Prikažimo poruku na čijem će kraju biti simbol koji trepće. Sve nijanse skice komentiraju se u komentarima koda.
Korak 5
Razmotrimo detaljnije pitanje stvaranja vlastitih simbola za LCD zaslone. Svaki znak na ekranu sastoji se od 35 točaka: 5 širokih i 7 visokih (+1 rezervirano podvlačenje). U retku 6 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}. Ti 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 zaslonu kao što je prikazano na slici.
Korak 6
Prenesite skicu u Arduino. Zaslon će prikazati natpis koji smo naveli trepćućim pokazivačem na kraju.