Artikkelissa yhdistämme 1602 nestekidenäytön FC-113 I2C -moduulilla Arduinoon, minkä vuoksi yhteys suoritetaan vain kahdella data- ja kahdella virtajohdolla.
Se on välttämätöntä
- - Arduino;
- - LCD 1602 -näyttö (16 merkkiä, 2 riviä);
- - I2C-sovitin FC-113;
- - liitäntäjohdot.
Ohjeet
Vaihe 1
FC-113-moduuli perustuu PCF8574T-mikropiiriin, joka on 8-bittinen siirtorekisteri - I / O-laajennin I2C-sarjaväylälle. Kuvassa mikropiiri on merkitty DD1.
R1 on trimmausvastus nestekidenäytön kontrastin säätämiseksi.
Hyppääjää J1 käytetään näytön taustavalon sytyttämiseen.
Nastoja 1… 16 käytetään moduulin liittämiseen LCD-näytön nastoihin.
Kosketintyynyjä A1 … A3 tarvitaan I2C-laitteen osoitteen muuttamiseen. Juottaen vastaavat hyppykytkimet, voit muuttaa laitteen osoitetta. Taulukossa esitetään osoitteiden ja hyppääjien vastaavuus: "0" vastaa avointa piiriä, "1" - asennettua hyppääjää. Laitteen osoite on oletusarvoisesti 0x27, ts. kaikki 3 hyppääjää ovat auki.
Vaihe 2
Moduuli on kytketty Arduinoon I2C-väylän vakiona: moduulin SDA-nasta on kytketty analogiseen porttiin A4, SCL-nasta on kytketty Arduinon analogiseen porttiin A5. Moduulin virtalähde on + 5 V Arduinosta. Itse moduuli on kytketty nastoilla 1 … 16 vastaavilla nastoilla 1 … 16 LCD-näytöllä.
Vaihe 3
Tarvitsemme nyt kirjaston toimiakseen LCD-näyttöjen kanssa I2C-liitännän kautta. Voit käyttää esimerkiksi tätä: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (linkki riville "Lataa mallikoodi ja kirjasto")).
Ladattu arkisto "LiquidCrystal_I2Cv1-1.rar" puretaan kansioon "\ libraries ", joka sijaitsee Arduino IDE -hakemistossa.
Kirjasto tukee joukkoa vakiotoimintoja LCD-näytöille:
LiquidCrystal () - luo LiquidCrystal -tyyppisen muuttujan ja hyväksyy näytön yhteysparametrit (pin-numerot), begin () - LCD-näytön alustaminen, parametrien asettaminen (rivien ja symbolien lukumäärä);
tyhjennä () - tyhjennä näyttö ja palauta kohdistin alkuasentoon;
home () - palauta kohdistin alkuasentoon;
setCursor () - kohdistimen asettaminen määritettyyn kohtaan;
write () - näyttää merkin LCD-näytöllä;
tulosta () - näyttää tekstiä LCD-näytöllä;
kohdistin () - näyttää kohdistimen, ts. alleviivaa seuraavan merkin paikalle;
noCursor () - piilottaa kohdistimen;
vilkkuu () - kohdistin vilkkuu;
noBlink () - peruuta vilkkuminen;
noDisplay () - sammuta näyttö ja tallenna kaikki näytetyt tiedot;
näyttö () - kytke näyttö päälle tallentamalla kaikki näytetyt tiedot;
scrollDisplayLeft () - vieritä näytön sisältöä 1 kohtaan vasemmalle;
scrollDisplayRight () - vieritä näytön sisältöä 1 sijainnilla oikealle;
autoscroll () - ota automaattinen vieritys käyttöön;
noAutoscroll () - poista automaattinen vieritys käytöstä;
leftToRight () - määrittää tekstin suunnan vasemmalta oikealle;
rightToLeft () - tekstin suunta oikealta vasemmalle;
createChar () - Luo mukautetun merkin LCD-näytölle.
Vaihe 4
Avataan näyte: Tiedosto -> Näytteet -> LiquidCrystal_I2C -> CustomChars ja tee se uudelleen. Näytetään viesti, jonka lopussa on vilkkuva symboli. Kaikki luonnoksen vivahteet kommentoidaan koodin kommenteissa.
Vaihe 5
Katsotaanpa tarkemmin kysymystä omien symbolien luomisesta LCD-näytöille. Jokainen ruudun merkki koostuu 35 pisteestä: 5 leveästä ja 7 korkealla (+1 varattu alleviiva). Yllä olevan luonnoksen rivillä 6 asetetaan matriisi 7 numerosta: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Muunnaamme heksadesimaaliluvut binaariksi: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Nämä luvut eivät ole muuta kuin bittimaskit kullekin merkin 7 riville, joissa "0" tarkoittaa valopistettä ja "1" tummaa pistettä. Esimerkiksi sydämen symboli, joka on määritetty bittiseksi maskiksi, ilmestyy näytölle kuvan osoittamalla tavalla.
Vaihe 6
Lataa luonnos Arduinoon. Näyttöön tulee määrittelemämme merkinnät ja vilkkuva kohdistin lopussa.