Sadržaj:
- Korak 1: Opis dijelova - Modul štitnika LCD tipkovnice
- Korak 2: Opis dijelova - I2C serijski modul
- Korak 3: Veze
- Korak 4: Učinite ključ RST upotrebljivim kao i ostalih 5 ključeva
- Korak 5: Softver
- Korak 6: Pregled i rasprava
Video: Modul štita za LCD tipkovnicu 1602 s I2C ruksakom: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
U sklopu većeg projekta želio sam imati LCD zaslon i tipkovnicu za navigaciju nekim jednostavnim izbornicima. Ja ću koristiti mnoge I/O portove na Arduinu za druge poslove, pa sam htio I2C sučelje za LCD. Zato sam kupio neki hardver, koji se sastoji od modula štita LCD tipkovnice 1602 od DFRobota i anonimnog serijskog modula I2C za LCD -e. Želim ih koristiti s Arduino Nano. Tada sam otkrio da postoje neki izazovi u usklađivanju ovih komponenti - ali moguće je. Stoga ž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 tipki. LCD -om se upravlja putem I2C sučelja, 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 sučelje I2C).
Korak 1: Opis dijelova - Modul štitnika LCD tipkovnice
Modul štitnika LCD tipkovnice 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 priključaka 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 (tipkovnica) ploče uglavnom su označene, no igle na gornjoj strani, što je LCD sučelje, nisu označene. No 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 iglica zaglavlja za koje razumijem da se namjeravaju priključiti izravno na donju stranu LCD modula. Proučavajući oznake na LCD -u, uspio sam identificirati funkcije pinova na serijskom modulu.
Ovaj se modul temelji na IC PCF8574T koji završava I2C protokol, ima 3 pina za upravljanje adresom (20 do 27) i ima 8 digitalnih ulazno/izlaznih pinova P0 do P7. Prema podacima s računala 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 kontinuiranu vučnu struju od oko 0,1 mA.
Na ovom modulu sve digitalne U/I pinove, osim P3, jednostavno se izvlače na zaglavlje (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 pretpostavljeno u softverskoj knjižnici. Odnosno, pozadinsko osvjetljenje LCD -a je UKLJUČENO kada je pin P3 nizak, a ISKLJUČENO kada je pin P3 visok.
Oznaka na tranzistoru kaže L6, što prema mojim istraživanjima vjerojatno čini MMBC1623L6 s minimalnim pojačanjem struje od 200. S 0,1 mA bazne struje, trebao bi moći održavati NISKO stanje na svom kolektoru (modul Pin 16) s najmanje 20mA kolektorskom strujom.
Osim toga, ovaj modul ima 10K potenciometar spojen između +5 i uzemljenja, čiji je promjenjivi kabel izveden na pin 3 (treći od dna na fotografiji). Kada se spoji izravno 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. kolovoza 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 kao 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.
Vlast:
LCD modul ima iglu na donjoj strani 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 donjem rubu ima 16 pinova. Prvi od njih je uzemljen, a drugi je +5v. Druga je mogućnost koristiti dva donja pina na sučelju I2C za napajanje, ali smatram da je prikladnije koristiti pinove kako je gore opisano.
I2C sučelje. Na serijskom modulu, gornji pin je SCL (sat) i ide na Arduino A5. Drugo prikvačenje je SDA (podaci) i ide na Arduino A4.
Sučelje za LCD ispis. Između serijskog modula i štita LCD tipkovnice 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 Da, 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 za serijski modul // Pin za modul LCD tipkovnice
D4 // 11 // 5 D5 // 12 // 6 D6 // 13 // 7 D7 // 14 // 8 D8 // 4 // 9D9 // 6 // 10
Upravljanje pozadinskim osvjetljenjem LCD -a: Ovo koristi još jednu vezu:
Arduino ekvivalent // Igla za serijski modul // Pin za modul LCD tipkovnice
D10 // 16 // 11
Sučelje tipkovnice: Ovo koristi jednu žicu s pina LCD modula na donjoj strani s oznakom "A0", za pričvršćivanje A0 na Arduinu. Barem je to bilo prilično lako!
Korak 4: Učinite ključ RST upotrebljivim 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 desne tipke. Zatim lanac postupno većih otpornika za svaku drugu tipku (330R prema tipki GORE, 620R prema tipki DOLJE, 1K prema tipki LIJEVO i 3K3 prema tipki SELECT. Sve tipke (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.
S 15 k otpornikom prema RST -u isporučuje se oko 850.
Softver će koristiti vrijednosti oko srednjih točaka između ovih vrijednosti kako bi odlučio koja je tipka pritisnuta.
Korak 5: Softver
Korisni softver je naravno vježba za čitatelja. No za početak, možete pogledati moj testni softver. Koristio sam biblioteku NewLiquidCrystal koja sadrži podršku za sučelje I2C. Sve je uspjelo, nakon što ispravno instaliram knjižnice.
Glavna točka 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. kolovoza 2019
Ako imate problema s LCD zaslonom koji ne radi, provjerite I2C adresu serijskog ruksaka pomoću I2C skenera. Priložen je odgovarajući skener. Zatim, ako je potrebno, prilagodite prvi parametar u izjavi
LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7);
Korak 6: Pregled i rasprava
Kao što vidite, glavne su mi funkcije ispravne.
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 tipkovnice nije postavljen za ugradnju u kutiju. Bilo kakva kutija. Gumbi na 6 tipki znatno su ispod razine LCD zaslona, tako da ako je modul montiran u kutiju (npr. U poklopac) s vrhom ploče ploče u ravnini sa donjom stranom poklopca, vrhovi ključeva su oko 7 mm ispod vrha poklopca.
Moguća rješenja su:
a) Trpi to. Izbušite rupe za pristup u poklopcu i pomoću alata (npr. Odrezane igle za pletenje odgovarajućeg promjera) pritisnite gumbe.
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 prekratkim gumbima)
c) uklonite postojeće gumbe 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 zaštitni modul LCD tipkovnice i upotrijebite zasebne LCD i tipkovničke jedinice (tj. počnite ispočetka). Dostupan je širok raspon tipkovničkih jedinica, međutim nisam vidio onu 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 započeo s ovim modulom bio je taj što sam mislio da je ovaj raspored ključeva ono što želim.
Planiram ići gore s rješenjem c) i vidjeti kako ću proći.
Još jedan dio informacija koje bi mogle biti zanimljive:
S 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.
S 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čeni:
Model štita s LED svjetlima: 8 koraka
Model štita s LED svjetlima: Ovaj projekt je model štita s LED svjetlima za sjaj. Napravio sam ovaj projekt jer mi se jako svidio dizajn ovog štita i smatrao sam da je super napraviti ovaj model za svoj projekt. Ovaj štit inspiriran je likom u igri pod imenom League O
Serijski UDP/IP pristupnik za Arduino na temelju ESP8266 štita: 8 koraka
Serijski UDP/IP pristupnik za Arduino temeljen na ESP8266 Shieldu: Već sam 2016. objavio ovo uputstvo "Kako napraviti vlastiti Wifi pristupnik za povezivanje vašeg Arduina s IP mrežom". Budući da sam napravio neka poboljšanja koda i još uvijek koristim ovo rješenje. Ipak, sada postoje neki ESP8266 štitovi t
Korištenje štita LCD tipkovnice 1602 W/ Arduino [+Praktični projekti]: 7 koraka
Korištenje 1602 LCD štitnika tipkovnice 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 tipkovnicu sa 3 praktična projekta. Što ćete naučiti: Kako postaviti štit i identificirati ključeveHo
Odbrojavanje pomoću GLCD štita: 8 koraka (sa slikama)
Odbrojavanje pomoću GLCD štita: U ovom projektu crtam odbrojavanje na 1 -polnom GLCD štitu, korisnik ovog projekta može Odrediti trajanje odbrojavanja pomoću iscrtane tipke na GLCD -u, kada mjerač dosegne 0, oglasit će se zvučni signal i vibracija
Izgradite prilagođeni zaslon u LCD studiju (za tipkovnicu G15 i LCD zaslone) .: 7 koraka
Izgradite prilagođeni zaslon u LCD studiju (za tipkovnicu G15 i LCD ekrane) .: U redu, ako ste upravo dobili tipkovnicu G15 i niste impresionirani osnovnim zaslonima koji ste dobili s njim, provest ću vas kroz osnove korištenja LCD studija napraviti svoj vlastiti. Ovaj primjer će biti prikaz koji prikazuje samo bas