Hyvän viestinnän luomiseksi ihmisten ja koneiden välillä näyttöyksiköillä on tärkeä rooli. Joten ne ovat tärkeä osa sulautettuja järjestelmiä. Näyttöyksiköt - suuret tai pienet, toimivat samalla periaatteella. Monimutkaisten näyttöyksiköiden, kuten graafisten näyttöjen ja 3D-näyttöjen, lisäksi on tiedettävä työskentely yksinkertaisilla näytöillä, kuten 16x1 ja 16x2. 16x1-näyttöyksikössä on 16 merkkiä ja se on yhdellä rivillä. 16x2 nestekidenäytössä on 32 merkkiä yhteensä 16 in 1. rivillä ja toinen 16 2. rivillä. Tässä on ymmärrettävä, että jokaisessa merkissä on 5x10 = 50 pikseliä, joten yhden merkin näyttämiseksi kaikkien 50 pikselin on toimittava yhdessä. Mutta meidän ei tarvitse huolehtia siitä, koska näyttöyksikössä on toinen ohjain (HD44780), joka hallitsee pikseleitä. (näet sen LCD-yksikössä,se on musta silmä takana).
Tässä opetusohjelmassa aiomme liittää 16x2 LCD-näytön ARDUINO UNO: n kanssa. Toisin kuin normaalit kehityskortit, LCD: n liittäminen ARDUINOon on melko helppoa. Täällä meidän ei tarvitse huolehtia tietojen lähettämisestä ja vastaanottamisesta. Meidän on vain määriteltävä pin-numerot, ja se on valmis näyttämään tietoja LCD-näytöllä.
Tarvittavat komponentit
Laitteisto: ARDUINO UNO, virtalähde (5v), JHD_162ALCD (16x2LCD), 100uF kondensaattori.
Ohjelmisto: Arduino IDE (Arduino nightly).
Piirikaavio ja selitys
16x2 LCD -näytössä on kaikkiaan 16 nastaa, jos taustavaloa on, jos taustavaloa ei ole, on 14 nastaa. Voidaan kytkeä päälle tai jättää taustavalon nastat. Nyt 14 nastat on 8 data nastat (7-14 tai D0-D7), 2 virtalähde nastat (1 & 2 tai VSS ja VDD tai GND ja + 5V), 3 rd pin kontrastin säätö (VEE-ohjaimet kuinka paksu merkkien pitäisi olla kuvassa) ja 3 ohjaintappia (RS & RW & E).
Piirissä voit havaita, että olen ottanut vain kaksi ohjaustappia, mikä antaa joustavuutta. Kontrastibittiä ja LUKU / KIRJOITA ei käytetä usein, joten ne voidaan oikosulkea maahan. Tämä asettaa LCD-näytön suurimmalle kontrastille ja lukutilaan. Meidän on vain hallittava ENABLE- ja RS-nastoja merkkien ja tietojen lähettämiseksi vastaavasti.
LCD-liitännät ovat alla:
PIN1 tai VSS maahan
PIN2- tai VDD- tai VCC-jännite + 5 V: n tehoon
PIN3 tai VEE maahan (antaa parhaan kontrastin aloittelijalle)
PIN4 tai RS (Rekisteröi valinta) PIN0: een ARDUINO UNO
PIN5 tai RW (luku / kirjoitus) maahan (asettaa LCD-näytön lukutilaan helpottamaan viestintää käyttäjälle)
PIN6 tai E (käytössä) ARDUINO UNOn PIN1-koodiin
ARDUINO UNO: n PIN11 tai D4 - PIN8
ARDUINO UNOn PIN12 tai D5 - PIN9
ARDUINO UNO: n PIN13 tai D6 - PIN10
ARDUINO UNOn PIN14 tai D7 - PIN11
ARDUINO IDE sallii käyttäjän käyttää LCD-näyttöä 4-bittisessä tilassa. Tämän tyyppinen tiedonsiirto antaa käyttäjälle mahdollisuuden vähentää pinon käyttöä ARDUINO-laitteessa, toisin kuin muut, ARDUINO-laitetta ei tarvitse ohjelmoida erikseen sen käyttämiseksi 4 it -tilassa, koska ARDUINO on oletusarvoisesti asetettu kommunikoimaan 4-bittisessä tilassa. Piirissä näet, että olemme käyttäneet 4-bittistä tiedonsiirtoa (D4-D7).
Joten pelkästä havainnosta ylhäältä taulukosta yhdistämme 6 LCD-nastaa ohjaimeen, jossa 4 nastaa ovat datanastoja ja 2 nastaa ohjausta varten.
Yllä olevassa kuvassa on 16x2 LCD: n kytkentäkaavio, joka on kytketty ARDUINO UNO: han.
Työskentely
Jotta LCD-näyttö voidaan liittää ARDUINO UNO: han, meidän on tiedettävä muutama asia.
|
Kuten yllä olevassa taulukossa, meidän on tarkasteltava vain näitä neljää riviä yhteyden muodostamiseksi ARDUINOn ja LCD: n välille.
Ensin meidän on otettava käyttöön otsikkotiedosto ('#include
Toiseksi meidän on kerrottava piirilevylle, minkä tyyppistä nestekidenäyttöä täällä käytämme. Koska meillä on niin paljon erityyppisiä LCD-näyttöjä (kuten 20x4, 16x2, 16x1 jne.). Tässä aiomme liittää 16x2-nestekidenäytön UNO: hon, jotta saisimme 'lcd.begin (16, 2);'. 16x1: lle saadaan 'lcd.begin (16, 1);'.
Tässä ohjeessa aiomme kertoa taululle, mihin liitimme nastat. Kytketyt nastat on esitettävä järjestyksessä "RS, En, D4, D5, D6, D7". Nämä nastat on esitettävä oikein. Koska olemme liittäneet RS: n PIN0: een ja niin edelleen, kuten piirikaaviossa näkyy, edustamme aluksella olevaa pin-numeroa nimellä "LiquidCrystal lcd (0, 1, 8, 9, 10, 11);". Nestekidenäytössä näytettävät tiedot on kirjoitettava nimellä "cd.print (" hei, maailma! ");". Tällä komennolla nestekidenäytössä näkyy "hei, maailma!".
Kuten näette, meidän ei tarvitse huolehtia mistään muusta, meidän on vain alustettava ja UNO on valmis näyttämään tietoja. Meidän ei tarvitse kirjoittaa ohjelmasilmukkaa lähettämään BYTE byte byte-tiedot tähän.
LCD: n ja UNO: n välinen viestintätapa selitetään vaihe vaiheelta alla olevassa C-koodissa: