Sadržaj:
- Korak 1: Opis dijelova - Modul štita LCD tastature
- Korak 2: Opis dijelova - I2C serijski modul
- Korak 3: Veze
- Korak 4: Učinite RST tipku upotrebljivom kao i ostalih 5 ključeva
- Korak 5: Softver
- Korak 6: Pregled i diskusija
Video: 1602 LCD modul štitnika tastature sa I2C ruksakom: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
Kao dio većeg projekta, želio sam imati LCD zaslon i tipkovnicu za navigaciju nekim jednostavnim izbornicima. Koristit ću puno I/O portova na Arduinu za druge poslove, pa sam htio I2C sučelje za LCD. Zato sam kupio neki hardver, koji se sastojao od modula štita od 1602 LCD tastature od DFRobota i anonimnog serijskog modula I2C za LCD ekrane. Želim ih koristiti s Arduino Nano -om. Tada sam otkrio da postoje neki izazovi u usklađivanju ovih komponenti - ali moguće je. Zato želim podijeliti svoje iskustvo i možda pomoći drugima.
Ova fotografija je radna ploča koja može prikazati poruke na LCD -u i identificirati pritiske tastera. LCD -om se upravlja putem I2C interfejsa, uključujući pozadinsko osvjetljenje LCD -a. Arduino pritisne tipke na pin A0 (to može biti bilo koji od analognih pinova, osim za A4 i A5 koji su vezani za I2C sučelje).
Korak 1: Opis dijelova - Modul štita LCD tastature
Modul štitnika LCD tastature sastoji se od uobičajeno korištenog 1602 LCD -a montiranog na ploču s pločicama koja drži ključeve i koji uzima podskup LCD veza i čini ih dostupnim pinovima zaglavlja na donjoj strani ploče. Razumijem da je ova ploča namijenjena za postavljanje na Arduino Uno ili slično i pruža pravi raspored pinova za rad u tom okruženju. Ovaj modul sam kupio na Ebayu od dobavljača u Kini. Igle zaglavlja na donjoj strani (tastatura) ploče uglavnom su označene, ali pinovi na gornjoj strani, što je LCD interfejs, nisu označeni. Međutim, pinovi na samom LCD -u su označeni.
Korak 2: Opis dijelova - I2C serijski modul
Serijski modul ima uobičajeno 4-pinsko zaglavlje za I2C i skup neoznačenih pinova zaglavlja za koje razumijem da se namjeravaju priključiti direktno na donju stranu LCD modula. Proučavajući oznake na LCD -u, uspio sam identificirati funkcije pinova na serijskom modulu.
Ovaj modul je zasnovan na IC PCF8574T koji završava I2C protokol, ima 3 pina za kontrolu adrese (20 do 27) i ima 8 digitalnih ulazno/izlaznih pinova P0 do P7. Prema podacima sa računara PCF8574T, svaki U/I pin ima FET koji ga povlači na zemlju radi LOW stanja i može potonuti najmanje 20 mA. U visokom stanju ima prolazno aktivno povlačenje, a zatim kontinuirano povlačenje od oko 0,1 mA.
Na ovom modulu svi digitalni I/O pinovi, osim P3, jednostavno se izvlače na zaglavlje zaglavlja (desno na fotografiji). U slučaju P3, spojen je na bazu tranzistora (vidljivo na fotografiji u gornjem desnom dijelu odmah ispod oznake "LED"). Emiter tog tranzistora spojen je na Vss (uzemljenje), a kolektor je spojen na pin 16 zaglavlja, gdje se može koristiti za upravljanje pozadinskim osvjetljenjem LCD -a. Zbog tranzistora, logičko stanje je obrnuto u odnosu na ono koje se pretpostavlja u softverskoj biblioteci. To jest, pozadinsko osvjetljenje LCD -a je UKLJUČENO kada je pin P3 nizak, a ISKLJUČEN kada je pin P3 visok.
Oznaka na tranzistoru kaže L6, što prema mojim istraživanjima vjerovatno čini MMBC1623L6 s minimalnim pojačanjem struje od 200. S 0,1 mA bazne struje, trebao bi biti u stanju održavati NISKO stanje na svom kolektoru (modul Pin 16) sa najmanje 20mA kolektorskom strujom.
Osim toga, ovaj modul ima 10K potenciometar spojen između +5 i uzemljenja, čiji je promjenjivi vodič izveden na pin 3 (treći od dna na fotografiji). Kada se spoji direktno na LCD, ovaj lonac će kontrolirati kontrast LCD -a. Međutim, tu funkciju pruža zaseban sličan lonac na LCD ekranu, tako da ovaj lonac na serijskom modulu nema funkciju.
Nisam uspio pronaći nikakvu vezu s INT pinom PCF8574T.
AŽURIRAJTE 22. avgusta 2019
Kao što je gore spomenuto, PCF8574 ima 3 kontrolna pina za adresu. Čini se da su izneseni na jastučiće na ploči ruksaka na kojima su označeni A0, A1 i A2. Mogu se vidjeti na fotografiji. Nisam ovo testirao, ali čini se gotovo sigurnim da se premošćivanjem jednog ili više ovih pinova na susjedne jastučiće, I2C adresa može kontrolirati u rasponu od 20 do 27. Nadalje, postoji drugi gotovo identičan uređaj, PCF8574A koji ima identičnu funkcionalnost sa PCF8574, ali pokriva raspon adresa od 0x38 do 0x3F.
Adresa koju vaš uređaj zapravo koristi može se provjeriti pomoću I2CScannera. Dostupno je nekoliko jednostavnih I2C skenera iz različitih izvora. Ovaj na https://github.com/farmerkeith/I2CScanner također identificira neke od pronađenih uređaja.
Korak 3: Veze
Zahvaljujući ChaitanyiM17 koji je dao Fritzingov dijagram koji prikazuje veze, dolje opisane.
Snaga:
LCD modul ima iglu sa donje strane označenu sa "5.0V". Desno, uz to, nalaze se dvije neoznačene igle koje su obje uzemljene.
Držeći serijski modul s I2C sučeljem na lijevom kraju, na donjoj ivici nalazi se 16 pinova. Prvi od njih je uzemljen, a drugi je +5v. Druga mogućnost je da za napajanje koristite donja dva pina na sučelju I2C, ali smatram da je prikladnije koristiti pinove kako je gore opisano.
I2C interfejs. Na serijskom modulu, gornji pin je SCL (sat) i ide na Arduino A5. Drugi dodatak je SDA (podaci) i ide na Arduino A4.
LCD interfejs za štampanje. Između serijskog modula i štita LCD tastature postoji 6 veza, sve između pinova bez oznaka. Identificirat ću ih na LCD modulu brojeći zdesna nalijevo, s prvim pinom kao 1. Postoje 2 bloka od 8, pa idu od 1 do 16. Identificiram ih na serijskom modulu I2C brojeći od lijeva do Tačno, ima ih i 16. Osim toga, svakoj žici dajem oznaku, što je ekvivalentni pin na Arduinu koji je obično povezan s tom funkcijom, u slučaju izravne veze bez serijskog modula.
Dakle, 6 podatkovnih veza su:
Arduino ekvivalent // Igla serijskog modula // Igla modula LCD tastature
D4 // 11 // 5 D5 // 12 // 6 D6 // 13 // 7 D7 // 14 // 8 D8 // 4 // 9D9 // 6 // 10
Kontrola pozadinskog osvetljenja LCD -a: Ovo koristi još jednu vezu:
Arduino ekvivalent // Igla serijskog modula // Igla modula LCD tastature
D10 // 16 // 11
Sučelje tipkovnice: Ovo koristi jednu žicu s pina LCD modula na donjoj strani označenoj s "A0" za pričvršćivanje A0 na Arduinu. Barem je to bilo prilično lako!
Korak 4: Učinite RST tipku upotrebljivom kao i ostalih 5 ključeva
RST se može spojiti izravno na ulaz RESTART Arduino Nano.
Međutim, ako želite da se tipka RST može koristiti u softveru za druge stvari, to se može učiniti spajanjem 15K otpornika između RST pina i A0 pina na donjoj strani štitnika LCD tipkovnice.
Ovo funkcionira na sljedeći način: Postoji 2K otpornik između +5V i desnog ključa. Zatim lanac progresivno većih otpornika za svaki od ostalih ključeva (330R prema tipki GORE, 620R prema tipki DOLJE, 1K prema tipki LIJEVO i 3K3 prema tipki SELECT. Svi ključevi (uključujući tipku RST) povezuju se s Kada su spojeni na 10 -bitni A/D pretvarač (kao za Arduino Nano A0), isporučuju približno sljedeće vrijednosti:
Desno = 0; Gore = 100; Dolje = 260; Lijevo = 410; Odaberite = 640.
Uz otpornik od 15 k prema RST -u, isporučuje se oko 850.
Softver će koristiti vrijednosti oko srednjih točaka između ovih vrijednosti kako bi odlučio koji je taster pritisnut.
Korak 5: Softver
Korisni softver je naravno vježba za čitatelja. Međutim, za početak, možete pogledati moj softver za testiranje. Koristio sam biblioteku NewLiquidCrystal koja sadrži podršku za I2C sučelje. Sve je funkcioniralo, nakon što ispravno instaliram biblioteke.
Glavna stvar je bila preokrenuti polaritet naredbi OFF i ON za pozadinsko osvjetljenje (zbog tranzistora na I2C modulu kako je objašnjeno u odjeljku Opis dijelova).
AŽURIRAJTE 22. avgusta 2019
Ako imate problema s LCD zaslonom koji ne radi, provjerite I2C adresu vašeg serijskog ruksaka pomoću I2C skenera. Priložen je odgovarajući skener. Zatim, ako je potrebno, prilagodite prvi parametar u naredbi
LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7);
Korak 6: Pregled i diskusija
Kao što vidite, glavne funkcije mi rade.
Moja sljedeća namjera je staviti ovo u okvir projekta kao dio drugog projekta. Međutim, nakon što sam krenuo ovim putem, saznao sam da postoji još jedna poteškoća koju nisam predvidio.
Poteškoća je u tome što ovaj modul LCD tastature nije postavljen za ugradnju u kutiju. Bilo kakva kutija. Dugmad na 6 tipki su znatno ispod nivoa LCD ekrana, tako da ako se modul montira u kutiju (npr. U poklopac) s vrhom ploče sa pločom u ravnini sa donjom stranom poklopca, vrhovi ključevi su oko 7 mm ispod vrha poklopca.
Moguća rješenja su:
a) Trpi to. Izbušite rupe za pristup u poklopcu i upotrijebite alat (npr. Odrezanu iglu za pletenje odgovarajućeg promjera) da pritisnete tipke.
b) Uklonite LCD s ploče modula i izvedite operaciju na tipkovnici tako da se dvije komponente mogu neovisno pričvrstiti na poklopac kutije za projekt (mislim da još uvijek može postojati problem s tim što su tipke prekratke)
c) uklonite postojeće tipke i zamijenite ih višim gumbima. Novi gumbi moraju biti visoki oko 13 mm kako bi se njima moglo upravljati kroz poklopac kutije za projektiranje). Zamjenski prekidači s gumbima dostupni su u različitim visinama, uključujući 13 mm.
d) odbacite modul štitnika LCD tastature i koristite zasebne LCD ekrane i jedinice tastature (tj. počnite ispočetka). Dostupan je širok raspon jedinica tipkovnice, međutim nisam vidio nijednu sa istim rasporedom od 6 tipki kao na ovom modulu (tj. Odaberi, Lijevo, Gore, Dolje, Desno, Ponovo pokreni). Možda to nije veliki problem, ali jedan od razloga zašto sam počeo s ovim modulom bio je taj što sam mislio da je ovaj raspored ključeva ono što želim.
Planiram ići gore sa rješenjem c) i vidjeti kako ću proći.
Još jedan dio informacija koje bi vas mogle zanimati:
Sa uključenim pozadinskim osvjetljenjem, trenutna potrošnja ovog projekta je: Arduino Nano 21,5 ma; Serijski modul 3,6 ma; LCD modul 27,5 mA; Ukupno 52 mA.
Sa isključenim pozadinskim osvjetljenjem, trenutna potrošnja ovog projekta je: Arduino Nano 21,5 ma; Serijski modul 4,6 ma; LCD modul 9,8 mA; Ukupno 36 mA.
Preporučuje se:
Lemljenje SSS konfiguriranog štitnika za gitaru: 3 koraka
Lemljenje SSS konfiguriranog štitnika za gitaru: U uputama ću proći kroz proces ožičenja vašeg vlastitog štitnika za gitaru. Prije svega, ako radite na ovom projektu, trebali biste pokušati pristojno razumjeti dijelove koji ulaze u proces. SSS format je u osnovi tri
Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tastature: 4 koraka
Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tastature: Zdravo momci u ovim uputama napravit ćemo kalkulator pomoću Arduina koji može obaviti osnovne proračune. U osnovi ćemo uzeti unos sa 4x4 tastature i ispisati podatke na 16x2 LCD ekranu, a arduino će izvršiti proračune
Korištenje više od 4 motora - slaganje više štitnika motora: 3 koraka
Korištenje više od 4 motora - slaganje višestrukih štitova motora: Vibrotaktilni senzorski uređaj za zamjenu i povećanje senzora (https: //www.instructables.com/id/Vibrotactile-Sens …) pokazuje način kako izgraditi uređaj koji prevodi senzorni unos u vibracione stimulanse. Ti vibracijski stimulansi su p
Korištenje 1602 LCD štitnika tipkovnice W/ Arduino [+Praktični projekti]: 7 koraka
Korištenje 1602 LCD štitnika za tipkovnicu W/ Arduino [+Praktični projekti]: Ovaj i druge nevjerojatne vodiče možete pročitati na službenoj web stranici ElectroPeak -a Pregled U ovom vodiču naučit ćete kako koristiti Arduino LCD štitnik tipkovnice s 3 praktična projekta. Što ćete naučiti: Kako postaviti štit i identificirati ključeveHo
Interfejs tastature sa 8051 i prikazom brojeva tastature u 7 segmenata: 4 koraka (sa slikama)
Interfejs tastature sa 8051 i prikaz brojeva tastature u 7 segmenta: U ovom vodiču ću vam reći o tome kako možemo povezati interfejs tastature sa 8051 i prikazati brojeve tastature na ekranu sa 7 segmenata