I artikkelen vil vi koble en 1602 flytende krystallskjerm med en FC-113 I2C-modul til Arduino, på grunn av hvilken tilkoblingen vil bli utført med bare to datakabler og to strømledninger.
Det er nødvendig
- - Arduino;
- - LCD 1602-skjerm (16 tegn, 2 linjer);
- - I2C-adapter FC-113;
- - tilkobling av ledninger.
Bruksanvisning
Trinn 1
FC-113-modulen er basert på PCF8574T-mikrokretsen, som er et 8-biters skiftregister - I / O-utvider for I2C-seriellbussen. I figuren er mikrokretsen betegnet DD1.
R1 er en beskjæringsmotstand for justering av kontrasten til LCD-skjermen.
Jumper J1 brukes til å slå på skjermens bakgrunnsbelysning.
Pins 1… 16 brukes til å koble modulen til LCD-skjermpinnene.
Kontaktputer A1 … A3 er nødvendig for å endre adressen til I2C-enheten. Ved å lodde de tilsvarende hopperne kan du endre enhetsadressen. Tabellen viser korrespondansen til adresser og hoppere: "0" tilsvarer den åpne kretsen, "1" - til den installerte hopperen. Enhetsadressen er som standard 0x27, dvs. alle de 3 hopperne er åpne.
Steg 2
Modulen er koblet til Arduino som standard for I2C-bussen: SDA-pinnen til modulen er koblet til den analoge porten A4, SCL-pinnen er koblet til den analoge porten A5 på Arduino. Modulen drives av + 5V fra Arduino. Selve modulen er koblet sammen med pinnene 1 … 16 med de tilsvarende pinnene 1 … 16 på LCD-skjermen.
Trinn 3
Nå trenger vi et bibliotek for å jobbe med LCD-skjermer via I2C-grensesnittet. Du kan for eksempel bruke denne: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (lenke i linjen "Last ned prøvekode og bibliotek").
Det nedlastede arkivet "LiquidCrystal_I2Cv1-1.rar" pakkes ut til mappen "\ biblioteker ", som ligger i Arduino IDE-katalogen.
Biblioteket støtter et sett med standardfunksjoner for LCD-skjermer:
LiquidCrystal () - oppretter en variabel av typen LiquidCrystal og aksepterer skjermtilkoblingsparametere (pin-tall), start () - initialisering av LCD-skjermen, innstilling av parametere (antall linjer og symboler);
tøm () - tøm skjermen og returner markøren til startposisjonen;
hjem () - returner markøren til startposisjonen;
setCursor () - sette markøren til den angitte posisjonen;
skriv () - viser et tegn på LCD-skjermen;
skriv ut () - viser tekst på LCD-skjermen;
markør () - viser markøren, dvs. understreke under stedet for neste karakter;
noCursor () - skjuler markøren;
blink () - markøren blinker;
noBlink () - avbryt blinking;
noDisplay () - slå av skjermen mens du lagrer all vist informasjon;
display () - slå på skjermen mens du lagrer all vist informasjon;
scrollDisplayLeft () - bla visningsinnholdet 1 posisjon til venstre;
scrollDisplayRight () - bla skjerminnholdet med 1 posisjon til høyre;
autoscroll () - aktiver autoscroll;
noAutoscroll () - slå av autoscroll;
leftToRight () - angir retningen på teksten fra venstre til høyre;
rightToLeft () - tekstretning fra høyre til venstre;
createChar () - Oppretter et tilpasset tegn for LCD-skjermen.
Trinn 4
La oss åpne prøven: Fil -> Prøver -> LiquidCrystal_I2C -> CustomChars og gjør det litt om. La oss vise en melding, på slutten som det vil være et blinkende symbol. Alle nyanser av skissen er kommentert i kommentarene til koden.
Trinn 5
La oss se nærmere på problemet med å lage dine egne symboler for LCD-skjermer. Hvert tegn på skjermen består av 35 poeng: 5 brede og 7 høye (+1 reservert understreking). I linje 6 i ovenstående skisse setter vi en matrise med 7 tall: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. La oss konvertere heksetall til binær: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Disse tallene er ikke annet enn bitmasker for hver av de 7 linjene i tegnet, der "0" betegner et lyspunkt og "1" et mørkt punkt. For eksempel vil et hjertesymbol spesifisert som en bitmaske vises på skjermen som vist i figuren.
Trinn 6
Last opp skissen til Arduino. Skjermen viser inskripsjonen vi spesifiserte med en blinkende markør på slutten.