Hej tamo! Kao dobavljač 7-segmentnih LCD-a, iz prve ruke sam vidio dobre stvari koje možete učiniti sa ovim malim ekranima. U ovom blogu ću vas provesti kroz kako programirati 7-segmentni LCD da prikazuje dinamički sadržaj. Bilo da ste hobi ili profesionalac, ovaj vodič će vam dati uvid u to kako oživjeti vaše 7-segmentne LCD-e.
Razumijevanje osnova 7-segmentnih LCD-a
Prvo, hajde da na kratko shvatimo šta je 7-segmentni LCD. Sastoji se od sedam segmenata, obično označenih a, b, c, d, e, f i g, zajedno sa decimalnim zarezom. Paljenjem različitih kombinacija ovih segmenata možete prikazati brojeve od 0 do 9, pa čak i neka slova.
Dostupni su različiti tipovi 7-segmentnih LCD-a, nprHTN LCD ekran,VA LCD ekran, iSTN LCD ekran. Svaki tip ima svoje karakteristike, kao što su ugao gledanja, kontrast i vrijeme odziva. Morat ćete odabrati onu koja najbolje odgovara vašem projektu.
Odabir pravog mikrokontrolera
Da biste programirali 7-segmentni LCD, trebat će vam mikrokontroler. Popularni izbori uključuju Arduino, Raspberry Pi i PIC mikrokontrolere. Sa njima je lako raditi i imaju tone resursa na mreži.
Arduino je odlična opcija za početnike. On je otvorenog koda, ima jednostavan programski jezik i veliku zajednicu. Možete brzo započeti bez potrebe da se bavite prevelikom složenošću. Raspberry Pi je, s druge strane, moćniji i može se nositi sa složenijim zadacima. To je kao mini računar, tako da na njemu možete pokrenuti punopravne operativne sisteme.
Hardverska veza
Nakon što odaberete svoj mikrokontroler, vrijeme je da povežete 7-segmentni LCD. LCD ima pinove za svaki segment i zajednički pin (bilo zajednička anoda ili zajednička katoda).
Ako koristite LCD sa zajedničkom anodom, zajednički pin je spojen na pozitivni napon i uzemljite pojedinačne pinove segmenta kako biste ih upalili. Za LCD sa zajedničkom katodom, to je suprotno: zajednički pin je uzemljen, a vi primjenjujete pozitivan napon na segmentne pinove.
Evo osnovnog primjera povezivanja 7-segmentnog LCD-a na Arduino:
- Spojite zajednički pin na odgovarajući izvor napajanja (bilo 5V za zajedničku katodu ili uzemljenje za zajedničku anodu).
- Povežite svaki segmentni pin (a - g i decimalni zarez) na digitalni izlazni pin na Arduinu.
Programiranje ekrana
Sada dolazi zabavni dio: programiranje! Počnimo s jednostavnim primjerom prikaza jedne cifre na 7-segmentnom LCD-u pomoću Arduina.
// Definirajte pinove za svaki segment const int segA = 2; const int segB = 3; const int segC = 4; const int segD = 5; const int segE = 6; const int segF = 7; const int segG = 8; void setup() { // Postavi sve pinove segmenta kao izlaze pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segE, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); } void loop() { // Prikaz broja 0 digitalWrite(segA, HIGH); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, HIGH); digitalWrite(segE, HIGH); digitalWrite(segF, HIGH); digitalWrite(segG, LOW); kašnjenje (2000); // Pričekajte 2 sekunde // Prikažite broj 1 digitalWrite(segA, LOW); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, LOW); digitalWrite(segE, LOW); digitalWrite(segF, LOW); digitalWrite(segG, LOW); kašnjenje (2000); // Sačekaj 2 sekunde }
U ovom kodu prvo definiramo pinove za svaki segment usetup()funkcija. Zatim, upetlja()funkciju, uključujemo i isključujemo odgovarajuće segmentne pinove za prikaz različitih brojeva. Thekašnjenje()funkcija se koristi za prikaz svakog broja za određeno vrijeme.
Prikaz dinamičkog sadržaja
Da biste prikazali dinamički sadržaj, poput brojanja ili prikazivanja poruke koja se pomiče, morat ćete biti malo kreativniji.
Counting Up
Evo primjera brojanja od 0 do 9 na 7-segmentnom LCD-u:
// Definirajte pinove za svaki segment const int segA = 2; const int segB = 3; const int segC = 4; const int segD = 5; const int segE = 6; const int segF = 7; const int segG = 8; // Niz za pohranjivanje uzoraka segmenta za svaku cifru int digitPatterns[10][7] = { {HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW}, // 0 {LOW, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 1 {HIGH, HIGH, LOW, // HIGH, HIGH, LOW, // 0 {HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH}, // 3 {LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH}, // 4 {HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH}, // 5 {HIGH, LOW, HIGH, HIGH, HIGH, LOW, HIGH, // 6 {HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 7 {HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH}, // 8 {HIGH, HIGH, HIGH, HIGH, LOW, HIGH, HIGH} // 9 }; void setup() { // Postavi sve pinove segmenta kao izlaze pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segE, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); } void loop() { for (int i = 0; i < 10; i++) { // Prikaz trenutne cifre digitalWrite(segA, digitPatterns[i][0]); digitalWrite(segB, digitPatterns[i][1]); digitalWrite(segC, digitPatterns[i][2]); digitalWrite(segD, digitPatterns[i][3]); digitalWrite(segE, digitPatterns[i][4]); digitalWrite(segF, digitPatterns[i][5]); digitalWrite(segG, digitPatterns[i][6]); kašnjenje (1000); // Sačekaj 1 sekundu } }
U ovom kodu koristimo 2D nizdigitPatternsza pohranjivanje uzoraka segmenta za svaku cifru. Zatim, upetlja()funkciju, petljamo kroz brojeve od 0 do 9 i prikazujemo svaku cifru na 1 sekundu.
Listanje poruke
Za prikaz poruke koja se pomiče, morat ćete koristiti više 7-segmentnih ekrana i multipleksirati ih. Multipleksiranje znači brzo prebacivanje između ekrana tako da izgleda kao da su svi uključeni u isto vrijeme.


Evo pregleda na visokom nivou kako to učiniti:
- Podijelite svoju poruku na pojedinačne cifre ili znakove.
- Prikazujte jednu po jednu cifru na jednom displeju i brzo pređite na sledeći ekran.
- Ponavljajte ovaj proces neprekidno kako biste stvorili efekat pomicanja.
Rješavanje problema
Ako naiđete na probleme, ne brinite! Evo nekih uobičajenih problema i njihovih rješenja:
- Segmenti ne svijetle: Provjerite svoje hardverske veze. Provjerite jesu li pinovi ispravno povezani i da li koristite pravi izvor napajanja.
- Treperi ekran: Ovo može biti zbog niske stope osvježavanja. Pokušajte povećati brzinu kojom multipleksirate ekrane.
- Prikazane su netačne cifre: Dvostruko - provjerite svoje segmentne obrasce u kodu. Provjerite jeste li osvijetlili prave segmente za svaku cifru.
Zaključak
Programiranje 7-segmentnog LCD-a za prikaz dinamičkog sadržaja je zabavan i koristan projekat. Uz pravi hardver, malo znanja o programiranju i neke vještine rješavanja problema, možete kreirati sve vrste cool ekrana.
Ako ste zainteresovani za kupovinu 7-segmentnih LCD-a za svoje projekte, mi ćemo vas pokriti. Nudimo širok asortimanHTN LCD ekran,VA LCD ekran, iSTN LCD ekranopcije. Kontaktirajte nas da razgovaramo o vašim zahtjevima i započnete svoj sljedeći projekat!
Reference
- Arduino službena dokumentacija
- Raspberry Pi službena web stranica
- Razni onlajn tutorijali i forumi o elektronici
