Në artikull, ne do të lidhim një ekran kristali të lëngshëm 1602 me një modul FC-113 I2C me Arduino, për shkak të së cilës lidhja do të kryhet duke përdorur vetëm dy tela të dhënash dhe dy tela të energjisë.
Është e nevojshme
- - Arduino;
- - Ekran LCD 1602 (16 karaktere, 2 rreshta);
- - Përshtatës I2C FC-113;
- - telat lidhës.
Udhëzimet
Hapi 1
Moduli FC-113 bazohet në mikrocirkun PCF8574T, i cili është një regjistër me ndryshim 8-bit - zgjerues I / O për autobusin serik I2C. Në figurë, mikrocircuit është përcaktuar DD1.
R1 është një rezistencë zvogëlimi për rregullimin e kontrastit të LCD.
Jumper J1 përdoret për të ndezur dritën e pasme të ekranit.
Kunjat 1… 16 përdoren për të lidhur modulin me kunjat e ekranit LCD.
Jastëkët e kontaktit A1 … A3 nevojiten për të ndryshuar adresën e pajisjes I2C. Duke bashkuar kërcyesit përkatës, mund të ndryshoni adresën e pajisjes. Tabela tregon korrespondencën e adresave dhe kërcyesve: "0" korrespondon me qarkun e hapur, "1" - me kërcyesin e instaluar. Si parazgjedhje, adresa e pajisjes është 0x27, d.m.th. të 3 kërcyesit janë të hapur.
Hapi 2
Moduli është i lidhur me Arduino si standard për autobusin I2C: pini SDA i modulit është i lidhur me portën analoge A4, pini SCL është i lidhur me portën analoge A5 të Arduino. Moduli mundësohet nga + 5V nga Arduino. Vetë moduli është i lidhur me kunjat 1 … 16 me kunjat përkatëse 1 … 16 në ekranin LCD.
Hapi 3
Tani na duhet një bibliotekë për të punuar me LCD përmes ndërfaqes I2C. Mund të përdorni, për shembull, këtë: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (lidhja në rreshtin "Shkarkoni kodin e shembullit dhe bibliotekën"))
Arkivi i shkarkuar "LiquidCrystal_I2Cv1-1.rar" zbërthehet në dosjen "\ bibliotekat ", e cila ndodhet në drejtorinë Arduino IDE.
Biblioteka mbështet një sërë funksionesh standarde për ekranet LCD:
LiquidCrystal () - krijon një ndryshore të tipit LiquidCrystal dhe pranon parametrat e lidhjes së ekranit (numrat pin), start () - inicializimi i ekranit LCD, vendosja e parametrave (numri i linjave dhe simboleve);
qartë () - pastroni ekranin dhe kthejeni kursorin në pozicionin fillestar;
home () - ktheje kursorin në pozicionin fillestar;
setCursor () - vendosja e kursorit në pozicionin e specifikuar;
shkruaj () - shfaq një karakter në ekranin LCD;
print () - shfaq tekstin në ekranin LCD;
kursori () - tregon kursorin, d.m.th. nënvizoni nën vendin e karakterit tjetër;
noCursor () - fsheh kursorin;
vezullim () - ndezje e kursorit;
noBlink () - anuloni ndezjen;
noDisplay () - fik ekranin ndërsa ruani të gjithë informacionin e shfaqur;
ekran () - ndizni ekranin ndërsa ruani të gjithë informacionin e shfaqur;
scrollDisplayLeft () - lëvizni përmbajtjen e ekranit 1 pozicion në të majtë;
scrollDisplayRight () - lëvizni përmbajtjen e ekranit me 1 pozicion djathtas;
autoscroll () - aktivizoni autoscroll;
noAutoscroll () - fik automatikun;
leftToRight () - vendos drejtimin e tekstit nga e majta në të djathtë;
rightToLeft () - drejtimi i tekstit nga e djathta në të majtë;
createChar () - Krijon një karakter të personalizuar për ekranin LCD.
Hapi 4
Le të hapim shembullin: Skedar -> Shembuj -> LiquidCrystal_I2C -> CustomChars dhe ta ribëjmë pak. Le të shfaqim një mesazh, në fund të të cilit do të ketë një simbol të ndezur. Të gjitha nuancat e skicës komentohen në komentet e kodit.
Hapi 5
Le të shohim më nga afër çështjen e krijimit të simboleve tuaja për ekranet LCD. Secili karakter në ekran përbëhet nga 35 pikë: 5 të gjëra dhe 7 të larta (+1 nënvizuar të rezervuar). Në rreshtin 6 të skicës së mësipërme, ne vendosim një grup prej 7 numrash: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Le të shndërrojmë numrat magjistar në binar: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Këto numra nuk janë asgjë më shumë se maska bit për secilën nga 7 linjat e karakterit, ku "0" tregon një pikë të dritës, dhe "1" një pikë të errët. Për shembull, një simbol i zemrës i specifikuar si një maskë bit do të shfaqet në ekran siç tregohet në figurë.
Hapi 6
Ngarko skicën në Arduino. Ekrani do të shfaqë mbishkrimin që specifikuam me një kursor që ndizet në fund.