Tartalomjegyzék:

3 vezetékes HD44780 LCD kijelző kevesebb, mint 1 dollárért: 5 lépés
3 vezetékes HD44780 LCD kijelző kevesebb, mint 1 dollárért: 5 lépés

Videó: 3 vezetékes HD44780 LCD kijelző kevesebb, mint 1 dollárért: 5 lépés

Videó: 3 vezetékes HD44780 LCD kijelző kevesebb, mint 1 dollárért: 5 lépés
Videó: uc/IoT Kurzus 5 : LCD kijelző 1/2 rész 2024, Július
Anonim
3 vezetékes HD44780 LCD kijelző kevesebb, mint 1 dollárért
3 vezetékes HD44780 LCD kijelző kevesebb, mint 1 dollárért

Ebben az oktatóanyagban megtanuljuk, hogyan csatlakoztathatjuk a HD44780 lapkakészleten alapuló LCD -t az SPI buszhoz, és csak 3 vezetékkel hajthatjuk meg, kevesebb mint 1 dollárért. Bár ebben az oktatóanyagban a HD44780 alfanumerikus kijelzőre fogok összpontosítani, ugyanez az elv nagyjából ugyanúgy fog működni minden más LCD -n, amely 8 bites párhuzamos adat buszt használ, és nagyon könnyen adaptálható a 16 bites adatbusszal rendelkező kijelzőkhöz. A HD44780 (és kompatibilis) alapú alfanumerikus kijelzők általában 16x2 (2 sor, 16 karakterből álló) és 20x4 -es konfigurációban állnak rendelkezésre, de még sok más formában is megtalálhatók. A legbonyolultabb kijelző egy 40x4 -es kijelző lenne, ez a fajta kijelző különleges, mivel 2 HD44780 vezérlővel rendelkezik, az egyik a felső két sorban, a másik az alsó két sorban. Néhány grafikus LCD két vezérlővel is rendelkezik. A HD44780 LCD -k nagyszerűek, nagyon olcsók, olvashatók és meglehetősen könnyen kezelhetők. De van néhány hátrányuk is, ezek a kijelzők sok I/O érintkezőt foglalnak el az Arduino -hoz csatlakoztatva. Egyszerű projekteknél ez nem aggodalomra ad okot, de ha a projektek nagyok lesznek, sok IO -val, vagy ha bizonyos csapokra szükség van olyan dolgokhoz, mint az analóg olvasás vagy a PWM, akkor az a tény, hogy ezek az LCD -k legalább 6 tűt igényelnek probléma. De ezt a problémát olcsón és érdekes módon meg tudjuk oldani.

1. lépés: Az összetevők beszerzése

Ebben a projektben a legtöbb komponenshez a TaydaElectronics programot használtam. Ezeket az alkatrészeket az ebay -en is beszerezheti, de a könnyebb használat érdekében linkelni foglak a Tayda -hoz. Vásárlási lista2 - 74HC595 csomag DIP161 - Generic male header - 2 pins. Ez nem szükséges, ezt használtam a háttérvilágítás végleges letiltására. 3 - Kerámia kondenzátor - 0,1 µF kapacitás; feszültség 50V1 - Elektrolit kondenzátor - kapacitás 10µF; feszültség 35V1 - Kerámia kondenzátor - kapacitás 220pF; feszültség 50V1 - NPN -tranzisztor - alkatrész # PN2222A* 1 - 1k Ω Ellenállás1 - Vágó potenciométer - maximális ellenállás 5kΩ1 - 470 Ω Ellenállás* NPN tranzisztorral a háttérvilágítás addig nem világít, amíg azt a szoftver be nem kapcsolja. Ha alapértelmezés szerint be szeretné kapcsolni a háttérvilágítást, használjon PNP típusú tranzisztorokat. A könyvtár kódját azonban módosítani kell. A lista részösszege 0,744 USD. A tűfejléc szintén nem kötelező, így 15 centet spórolhat meg, és a részösszeg 0,6 dollár lesz.

2. lépés: Ismerje meg a hardvert #1

Ismerje meg a hardvert #1
Ismerje meg a hardvert #1

Itt egy szabványos csap a HD44780 LCD -ből, ez is nagyon hasonlít néhány grafikus LCD -hez. A HD44780 két módban működhet: 1. 4 bites mód, ahol az LCD-re küldött minden bájt 2 4 bites részből áll. 2. 8 bites mód, amelyre összpontosítunk. Az LCD -n összesen 16 érintkező van, 3 vezérlőtű és 8 adattű: RS - Azt szabályozza, hogy parancsot vagy adatokat akarunk -e küldeni az LCD -re. Ahol a „magas” adatot (karakter), az „alacsony” pedig egy parancsbájtot jelent. R/W - A HD44780 vezérlő lehetővé teszi a RAM -ból történő olvasást. Ha ez a tű "magas", akkor ki tudjuk olvasni az adatokat az adatszegeiből. Ha alacsony, akkor adatokat írhatunk az LCD -re. Bár az LCD -ről való olvasás lehetősége bizonyos esetekben hasznos lehet, ebben az oktatóanyagban nem térünk ki rá, és egyszerűen földeljük ezt a csapot, hogy mindig írási módban legyen. E - E az „Engedélyezés” gomb, ezt a tűt „magas”, majd „alacsony” fokozatba kapcsolják, hogy az adatokat a RAM -ba írják, és végül megjelenítsék a képernyőn. DB0-7 - Ezek az adatcsapok. 4 bites módban csak a 4 magas bites DB4 -DB7 -et használjuk, és 8 bites módban mindegyiket használjuk. VSS - Ez a földelőcsap. VCC - Ez a táp, az LCD 5 V -os tápegységről működik, könnyedén táplálhatjuk árammal az Arduino + 5v -os tűjéről. Vo - Ez az a tű, amely lehetővé teszi a kijelző kontrasztjának beállítását, ehhez potenciométerre van szükség, általában 5K ohmos edényt használnak. LED + - Ez az áramforrás a háttérvilágításhoz. Néhány LCD kijelző nem rendelkezik háttérvilágítással, és csak 14 érintkezővel rendelkezik. A legtöbb esetben ez a tű +5 V -os csatlakozást is igényel. LED- - Ez a háttérvilágítás talaja. ** Fontos, hogy ellenőrizze a kijelző adatlapját, vagy ellenőrizze a nyomtatott áramköri lapját, hogy ellenőrizze -e a háttérvilágítás ellenállását. A legtöbb LCD beépíti őket -in, ebben az esetben nem kell mást tennie, mint a LED+ -re áramot kapcsolni, a LED-et pedig földelni. De abban az esetben, ha az LCD-nek nincs beépített ellenállása a háttérvilágításhoz, fontos, hogy adjon hozzá egyet, különben a háttérvilágítás sok energiát fogyaszt, és végül kiég. A legtöbb esetben ezt az LCD-t az Arduino-hoz csatlakoztatják, ha 4 bites módban használják, és földelik az R/W tűt. Ily módon RS, E és DB4-DB7 csapokat használunk. A 4 bites módban való futtatásnak van egy másik hátránya, hogy kétszer annyi időt vesz igénybe az adatok írása a képernyőre, mint 8 bites konfiguráció esetén. Az LCD „leülepedési” ideje 37 mikroszekundum, azaz 37 mikroszekundumot kell várnia, mielőtt elküldi a következő parancsot vagy adatbájtot az LCD-nek. Mivel 4 bites módban minden bájtra kétszer kell adatokat küldenünk, az egyetlen bájt írásához szükséges idő 74 mikroszekundumig terjed. Ez még mindig elég gyors, de azt akartam, hogy a tervezésem a lehető legjobb eredményeket hozza. A használt csapok számával kapcsolatos problémánk megoldása a soros -párhuzamos átalakítóban rejlik…

3. lépés: Ismerje meg a hardvert #2

Ismerje meg hardverét #2
Ismerje meg hardverét #2

Csinálunk egy adaptert, amely soros típusú kommunikációt fogad az Arduino -ból, és átalakítja az adatokat párhuzamos kimenetre, amelyet az LCD -n keresztül lehet táplálni. Jön a 74HC595 chip. Ez egy nagyon olcsó és egyszerűen kezelhető műszakregiszter. Lényegében az, hogy vesz egy órát és adatjeleket, amelyeket egy belső 8 bites puffer feltöltésére használ az utolsó 8 órával. Miután a „Retesz” (ST_CP) csap „magasra” került, ezeket a biteket a 8 kimenetébe helyezi át. Az 595 -nek nagyon szép tulajdonsága van, soros adatkimeneti tüskével (Q7 ') rendelkezik, ezzel a tűvel a 2 -es vagy több 595 -ös láncot lehet szétválasztani, hogy 16 vagy több bit széles soros -párhuzamos adaptereket hozzunk létre. Ehhez a projekthez 2 ilyen chipre lesz szükségünk. A vázlat módosítható úgy is, hogy egyetlen 595-tel is működjön 4 bites módban, de ez az oktatóanyag nem foglalkozik vele.

4. lépés: Az összes bekötése

Az összes bekötése
Az összes bekötése

Most, hogy tudjuk, hogyan működik a hardverünk, beköthetjük az egészet. A sematikus ábrán 2 595 chipet látunk, amelyek össze vannak láncolva, és 16 bites párhuzamos kimenetet képeznek. Az alsó chip valójában a fő, a felső pedig százszorszép láncolva hozzá. Itt azt látjuk, hogy az alsó 595 8 bites konfigurációban hajtja az LCD adattűit, a felső chip vezérli az RS jelet és a háttérvilágítást egy tranzisztor be- vagy kikapcsolásával. Ne feledje a *megjegyzést az LCD háttérvilágítással kapcsolatban Ismerje meg a hardver #1 oldalt, abban az esetben, ha az LCD -n nincs háttérvilágítási ellenállás, ne felejtsen el egyet hozzáadni az áramköréhez. Az én esetemben az LCD-k már beépített ellenállással érkeztek, ezért kihagytam ezt a lépést. A kontrasztot 5K ohmos edényen keresztül alkalmazzák, az egyik érintkező a GND -hez, a másik a VCC -hez, az ablaktörlő pedig az LCD -n lévő Vo csaphoz. Az LCD és az 595 VCC vonalán használt kondenzátorok szétkapcsolt kondenzátorok, azért vannak, hogy megszabaduljanak az interferenciától. Ezek nem kötelezőek, ha kenyérlapon dolgozik, de érdemes használni, ha saját verzióját építi ennek az áramkörnek, amelyet a "laboratóriumi körülményeken" kívül kell használni. Az R5 és a C9 ebben a nagyon specifikus sorrendben RC késleltetést hoz létre, amely biztosítja, hogy az 595 kimenetein lévő adatok stabilizálódjanak, mielőtt az LCD -n lévő Engedélyezés gomb „magasra” áll, és beolvassa az adatokat. Az alsó 595 Q7 'a felső 595 soros adatbevitelébe kerül, ez 595 -ös százszázalékos láncot hoz létre, és így egy 16 bites interfészt. Az Arduino csatlakoztatása egyszerű. 3 vezetékes konfigurációt használunk, az Arduino SPI csapjaival. Ez nagyon gyors adatátvitelt tesz lehetővé, 2 bájt elküldése az LCD -re általában körülbelül 8 mikroszekundumot vesz igénybe. Ez nagyon gyors, és valójában sokkal gyorsabb, mint amennyi idő alatt az LCD feldolgozza az adatokat, így 30 mikroszekundumos késleltetésre van szükség minden egyes írás között. Az SPI használatának egyik nagyon nagy előnye, hogy a D11 és D13 csapok más SPI -eszközökkel vannak megosztva. Ez azt jelenti, hogy ha már van egy másik összetevője, amely SPI -t használ, például gyorsulásmérő, akkor ez a megoldás csak egy extra tűt használ az engedélyezési jelhez. A következő oldalon láthatjuk az eredményt. Hátizsákot építettem egy perfboardra, és eddig nagyon jól működik számomra.

5. lépés: Az eredmény + könyvtár

Az eredmény + könyvtár
Az eredmény + könyvtár
Az eredmény + könyvtár
Az eredmény + könyvtár
Az eredmény + könyvtár
Az eredmény + könyvtár
Az eredmény + könyvtár
Az eredmény + könyvtár

"Egy kép ezer szót ér", egyetértek ezzel az állítással, ezért itt van néhány kép a projekt végeredményéről. Ezek az elkészült termék képei, a Fritzing PCB nézet a hátizsákom építéséhez használt perfboard elrendezés. Hasznos lehet, ha sajátot szeretne építeni. Annyira tetszett, hogy a DipTrace segítségével megterveztem egy NYÁK -t, és 10 darab PCB -t rendeltem. 2 vagy 3 egységre lesz szükségem magamnak, de a többit jelképes áron elérhetővé teszem, amikor megkapom. Szóval ha valakit érdekel, kérem jelezze. * Szerkesztés: A PCB -k itt vannak, és működnek. Itt található a projekt teljes képgalériája, beleértve a tényleges PCB -ket. https://imgur.com/a/mUkpw#0 Természetesen nem felejtettem el a legfontosabbat, egy könyvtárat, amellyel ezt az áramkört használhatom. Kompatibilis az Arduino IDE -hez mellékelt LiquidCrystal könyvtárral, így könnyedén kicserélheti a vázlat tetején található nyilatkozatokat, és nem kell semmit változtatnia a vázlaton. Van egy példa vázlat is, amely bemutatja a könyvtár egyes funkcióinak működését, ezért nézze meg.

Ajánlott: