Sisällysluettelo:

3-johtiminen HD44780 LCD-näyttö alle 1 dollarilla: 5 vaihetta
3-johtiminen HD44780 LCD-näyttö alle 1 dollarilla: 5 vaihetta

Video: 3-johtiminen HD44780 LCD-näyttö alle 1 dollarilla: 5 vaihetta

Video: 3-johtiminen HD44780 LCD-näyttö alle 1 dollarilla: 5 vaihetta
Video: Adjektiivijohdin -llinen - sanojen johtaminen #3 2024, Heinäkuu
Anonim
3-johtiminen HD44780 LCD-näyttö alle 1 dollarilla
3-johtiminen HD44780 LCD-näyttö alle 1 dollarilla

Tässä oppaassa opimme, kuinka voimme kytkeä HD44780 -piirisarjaan perustuvan nestekidenäytön SPI -väylään ja ajaa sitä vain 3 johdolla alle 1 dollarilla. Vaikka tässä opetusohjelmassa keskityn aakkosnumeeriseen HD44780 -näyttöön, sama periaate toimii melkein samalla tavalla kaikissa muissakin nestekidenäytöissä, jotka käyttävät 8 -bittistä rinnakkaista dataväylää.. HD44780 (ja yhteensopiva) -pohjaiset aakkosnumeeriset näytöt ovat yleensä saatavana 16x2 (2 riviä, jotka koostuvat 16 merkistä) ja 20x4 -kokoonpanoissa, mutta niitä voi olla monessa muussakin muodossa. Kaikkein monimutkaisin näyttö olisi 40x4 -näyttö, tämäntyyppinen näyttö on erityinen, koska siinä on 2 HD44780 -ohjainta, yksi kahdelle ylemmälle riville ja toinen alimmalle riville. Joissakin graafisissa LCD -näytöissä on myös kaksi ohjainta. HD44780 -nestekidenäytöt ovat hienoja, ne ovat erittäin halpoja, luettavia ja melko helppokäyttöisiä. Mutta niillä on myös joitain haittoja, nämä näytöt vievät paljon I/O -nastoja, kun ne on liitetty Arduinoon. Yksinkertaisissa projekteissa tämä ei ole huolenaihe, mutta kun projektit kasvavat suuriksi, paljon IO: ta tai jos tiettyjä nastoja tarvitaan esimerkiksi analogiseen lukemiseen tai PWM: ään, tämä nestekidenäyttö vaatii vähintään 6 nastaa ongelma. Mutta voimme ratkaista tämän ongelman halvalla ja mielenkiintoisella tavalla.

Vaihe 1: Osien hankkiminen

Käytin TaydaElectronicsia useimpiin tässä projektissa käytettyihin komponentteihin. Voit ostaa näitä osia myös ebaysta, mutta käytön helpottamiseksi linkitän sinut Taydaan. Tämä ei ole pakollista, käytin tätä tapaa poistaa taustavalo pysyvästi käytöstä. 3 - Keraaminen kondensaattori - kapasitanssi 0,1 µF; jännite 50V1 - elektrolyyttikondensaattori - kapasitanssi 10µF; jännite 35V1 - keraaminen kondensaattori - kapasitanssi 220pF; jännite 50 V1 - NPN -transistori - osa # PN2222A* 1 - 1 k Ω Vastus1 - trimmeripotentiometri - suurin vastus 5 kΩ1 - 470 Ω vastus* NPN -transistorilla taustavalo pysyy sammutettuna, kunnes ohjelmisto kytkee sen päälle. Jos haluat taustavalon olevan oletusarvoisesti päällä, käytä PNP -tyyppistä transistoria. Muutokset tarjotun kirjaston koodiin on kuitenkin tehtävä. Tämän listan välisumma on 0,744 dollaria. Nastan otsikkoa ei myöskään vaadita, joten voit säästää 15 senttiä siellä ja välisumma on 0,6 dollaria.

Vaihe 2: Tunne laitteesi #1

Tunne laitteesi #1
Tunne laitteesi #1

Tässä on tavallinen nasta HD44780 -nestekidenäytöstä, se on myös hyvin samanlainen kuin jotkut graafiset LCD -näytöt. HD44780 voi toimia kahdessa tilassa: 1. 4-bittinen tila, jossa jokainen nestekidenäyttöön lähetetty tavu koostuu 2 4-bittisestä osasta. 2. 8-bittinen tila, johon keskitymme. Nestekidenäytössä on yhteensä 16 nastaa, 3 ohjaustappia ja 8 datanasta: RS - Määrittää, haluatko lähettää komennon tai tiedot nestekidenäyttöön. Missä 'korkea' tarkoittaa dataa (merkki) ja 'matala' tarkoittaa komentotavu. R/W - HD44780 -ohjaimen avulla voit lukea sen RAM -muistista. Kun tämä nasta on "korkea", voimme lukea tietoja sen datanastaista. Kun se on "alhainen", voimme kirjoittaa tietoja nestekidenäyttöön. Vaikka mahdollisuus lukea nestekidenäytöstä voi olla hyödyllinen joissakin tapauksissa, emme mene sen yli tässä opetusohjelmassa, vaan yksinkertaisesti maadoitamme tämän nastan varmistaaksemme, että se on aina kirjoitustilassa., tämä nasta on vaihdettu `` korkeaksi '' ja `` matalaksi '' kirjoittaakseen tiedot RAM -muistiinsa ja näyttääkseen ne lopulta näytöllä. DB0-7 - Nämä ovat datanastat. 4 -bittisessä tilassa käytämme vain 4 suurta bittiä DB4 -DB7, ja 8 -bittisessä tilassa niitä kaikkia käytetään. VSS - Tämä on maadoituspiste. Voimme helposti syöttää sille virtaa Arduinon + 5 V: n nastasta. Vo - Tämän nastan avulla voit asettaa näytön kontrastitason, se vaatii potentiometrin, tavallisesti käytetään 5 K: n ohmia. taustavalon virtalähde. Joissakin LCD -näytöissä ei ole taustavaloa, ja niissä on vain 14 nastaa. Useimmissa tapauksissa tämä nasta vaatii myös +5 V: n liitännän. LED- - Tämä on taustavalon maaperä. Tässä tapauksessa sinun tarvitsee vain kytkeä virta LED+: een ja maadoittaa LED-. Mutta jos nestekidenäytössäsi ei ole sisäänrakennettua vastusta taustavalolle, on tärkeää, että lisäät sen, muuten taustavalo kuluttaa paljon virtaa ja lopulta palaa. Useimmissa tapauksissa tapa, jolla tämä nestekidenäyttö on kytketty Arduinoon, on käyttää sitä 4-bittisessä tilassa ja maadoittaa R/W-nasta. Tällä tavalla käytämme tappeja RS, E ja DB4-DB7. 4-bittisessä tilassa on toinen pieni haitta, koska tietojen kirjoittaminen näyttöön kestää kaksi kertaa kauemmin kuin 8-bittisessä kokoonpanossa. Nestekidenäytön asettumisaika on 37 mikrosekuntia, mikä tarkoittaa, että sinun on odotettava 37 mikrosekuntia ennen seuraavan komennon tai datatavun lähettämistä nestekidenäyttöön. Koska 4-bittisessä tilassa meidän on lähetettävä dataa kahdesti jokaisesta tavusta, yksittäisen tavun kirjoittamiseen kuluva kokonaisaika on jopa 74 mikrosekuntia. Tämä on vielä tarpeeksi nopea, mutta halusin suunnitteluni tuottavan parhaat mahdolliset tulokset. Ratkaisu käyttämiemme nastojen lukumäärää koskevaan ongelmaan löytyy sarjamuotoisesta rinnakkaismuuntimesta…

Vaihe 3: Tunne laitteesi #2

Tunne laitteistosi #2
Tunne laitteistosi #2

Teemme vain sovittimen, joka ottaa sarjatyyppisen tiedonsiirron Arduinosta ja muuntaa tiedot rinnakkaislähdöksi, joka voidaan syöttää nestekidenäyttöön. Sisältää 74HC595 -sirun. Tämä on erittäin halpa ja helppokäyttöinen vuororekisteri. Pohjimmiltaan se ottaa kellon ja datasignaalit, joita se käyttää sisäisen 8 -bittisen puskurin täyttämiseen kahdeksalla viimeisellä "kellotetulla" bitillä. Kun "Latch" (ST_CP) -tappi on nostettu "korkealle", se siirtää nämä bitit 8 lähtöön. 595: ssä on erittäin mukava ominaisuus, siinä on sarjatiedon ulostulonappi (Q7 '), tätä tappia voidaan käyttää ketjun 2 tai useamman 595: n yhdistämiseen muodostamaan 16 tai enemmän bittiä leveitä sarjaliikennesovittimia. Tätä projektia varten tarvitsemme 2 näistä siruista. Kaaviota voidaan myös muokata toimimaan yhden 595: n kanssa 4-bittisessä tilassa, mutta tämä opas ei kata tätä.

Vaihe 4: Johdottaa kaikki

Johdotus kaikki ylös
Johdotus kaikki ylös

Nyt kun tiedämme laitteistomme toimivuuden, voimme yhdistää sen kaikkiin. Kaaviossa näemme 2 595 sirua, jotka on ketjutettu yhteen muodostamaan 16 -bittinen rinnakkaislähtö. Alempi siru on itse asiassa tärkein, ja ylempi on ketjutettu siihen. Tässä nähdään, että alaosa 595 ajaa nestekidenäytön nastat 8-bittisessä kokoonpanossa, ylempi siru ohjaa RS-signaalia ja taustavaloa kytkemällä transistorin päälle tai pois päältä. Muista *huomautus nestekidenäytön taustavalosta Tiedä laitteistosi #1 -sivu, jos LCD -näytössäsi ei ole taustavalon vastusta, älä unohda lisätä sitä piiriin. Minun tapauksessani nestekidenäytöissä on jo sisäänrakennettu vastus, joten ohitin tämän vaiheen. Kontrastia käytetään 5 K ohmin potin kautta, yksi tappi menee GND: hen, toinen VCC: hen ja pyyhin LCD -näytön Vo -tappiin. Nestekidenäytöissä ja 595: n VCC -linjoissa käytetyt kondensaattorit ovat irrotettavia kondensaattoreita, joten ne poistavat häiriöt. Ne eivät ole pakollisia, jos työskentelet leipälaudalla, mutta niitä tulee käyttää, jos rakennat oman version tästä piiristä käytettäväksi "laboratorio -olosuhteiden" ulkopuolella. R5 ja C9 tässä erityisessä järjestyksessä muodostavat RC -viiveen, joka varmistaa, että 595: n ulostulojen tiedoilla on aikaa vakiintua, ennen kuin LCD -näytön Enable -nasta asetetaan korkeaksi ja lukee tiedot. Alemman 595 Q7 'menee ylhäällä olevan 595: n sarjatiedon syöttöön, mikä luo 595s: n ketjutuksen ja siten 16 -bittisen käyttöliittymän. Johdotus Arduinoon on helppoa. Käytämme 3-johtimista kokoonpanoa käyttäen Arduinon SPI-nastoja. Tämä mahdollistaa erittäin nopean tiedonsiirron. Kahden tavun lähettäminen nestekidenäyttöön kestää yleensä noin 8 mikrosekuntia. Tämä on erittäin nopeaa, ja se on itse asiassa paljon nopeampaa kuin aika, joka kuluu nestekidenäytöllä tietojen käsittelyyn, joten jokaisen kirjoituksen välillä tarvitaan 30 mikrosekunnin viive. Yksi erittäin suuri etu SPI: n käytöstä on se, että nastat D11 ja D13 jaetaan muiden SPI -laitteiden kanssa. Tämä tarkoittaa, että jos sinulla on jo toinen komponentti, joka käyttää SPI: tä, kuten kiihtyvyysmittari, tämä ratkaisu käyttää vain yhtä ylimääräistä tappia aktivointisignaaliin. Seuraavalla sivulla näemme tuloksen. Olen rakentanut reppun perfboardille ja se toimii toistaiseksi erittäin hyvin minulle.

Vaihe 5: Tulos + kirjasto

Tulos + kirjasto
Tulos + kirjasto
Tulos + kirjasto
Tulos + kirjasto
Tulos + kirjasto
Tulos + kirjasto
Tulos + kirjasto
Tulos + kirjasto

"Kuva on tuhannen sanan arvoinen", olen samaa mieltä tämän väitteen kanssa, joten tässä on muutamia kuvia tämän projektin lopputuloksesta. Nämä ovat kuvia valmistetusta tuotteesta, Fritzing PCB -näkymä on rei'itys, jota käytin reppuni rakentamiseen. Saatat pitää sitä hyödyllisenä, jos haluat rakentaa oman. Pidin siitä niin paljon, että suunnittelin piirilevyn DipTracen avulla ja tilasin 10 PCB: n erän. Tarvitsen 2 tai 3 yksikköä itselleni, mutta annan loput saataville symbolisella hinnalla, kun saan ne. Joten jos jotakuta kiinnostaa, niin ilmoittakaa. * Muokkaa: Piirilevyt ovat täällä ja ne toimivat. Tässä on koko kuvagalleria tästä projektista, mukaan lukien todelliset piirilevyt. https://imgur.com/a/mUkpw#0 En tietenkään unohtanut tärkeintä, kirjastoa, jolla tätä piiriä voi käyttää. Se on yhteensopiva Arduino IDE: n mukana toimitetun LiquidCrystal -kirjaston kanssa, joten voit helposti vaihtaa luonnoksen yläosassa olevat ilmoitukset ilman, että sinun tarvitsee muuttaa mitään luonnoksestasi. On myös esimerkkiluonnos, joka osoittaa, miten kaikki kirjaston toiminnot toimivat, joten tarkista se.

Suositeltava: