Bok tamo! Kao dobavljač 7-segmentnih LCD-ova, iz prve ruke sam vidio cool stvari koje možete učiniti s ovim malim zaslonima. U ovom blogu ću vas provesti kroz programiranje 7-segmentnog LCD-a za prikazivanje dinamičkog sadržaja. Bilo da ste hobist ili profesionalac, ovaj će vam vodič dati kratke informacije o tome kako oživjeti svoj 7-segmentni LCD.
Razumijevanje osnova 7-segmentnih LCD zaslona
Prvo, idemo brzo razumjeti što je 7 segmentni LCD. Sastoji se od sedam segmenata, obično označenih s a, b, c, d, e, f i g, zajedno s decimalnom točkom. Osvjetljavanjem različitih kombinacija ovih segmenata možete prikazati brojeve od 0 do 9, pa čak i neka slova.
Dostupni su različiti tipovi LCD-a sa 7 segmenata, nprHTN LCD zaslon,VA LCD zaslon, iSTN LCD zaslon. Svaka vrsta ima svoje karakteristike, kao što su kut gledanja, kontrast i vrijeme odziva. Morat ćete odabrati onaj koji najbolje odgovara vašem projektu.
Odabir pravog mikrokontrolera
Za programiranje LCD-a sa 7 segmenata trebat će vam mikrokontroler. Popularni izbori uključuju Arduino, Raspberry Pi i PIC mikrokontrolere. S njima je lako raditi i imaju mnoštvo resursa na mreži.
Arduino je izvrsna opcija za početnike. Otvorenog je koda, ima jednostavan programski jezik i veliku zajednicu. Možete brzo započeti bez suočavanja s previše složenosti. Raspberry Pi je, s druge strane, snažniji i može se nositi sa složenijim zadacima. To je poput mini računala, tako da na njemu možete pokretati punopravne operativne sustave.
Hardverska veza
Nakon što ste odabrali mikrokontroler, vrijeme je za spajanje 7-segmentnog LCD-a. 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, a vi uzemljite pojedinačne segmentne igle da ih osvijetlite. Za LCD s običnom katodom, suprotno je: zajednički pin je uzemljen, a vi primjenjujete pozitivni napon na segmentne igle.
Evo osnovnog primjera povezivanja LCD-a sa 7 segmenata na Arduino:
- Spojite zajednički pin na odgovarajući izvor napajanja (ili 5V za zajedničku katodu ili uzemljenje za zajedničku anodu).
- Spojite svaki segmentni pin (a - g i decimalna točka) na digitalni izlazni pin na Arduinu.
Programiranje zaslona
Sada dolazi zabavni dio: programiranje! Počnimo s jednostavnim primjerom prikaza jedne znamenke 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 segmentne pinove kao izlaze pinMode(segA, OUTPUT); pinMode(segB, IZLAZ); pinMode(segC, IZLAZ); pinMode(segD, IZLAZ); pinMode(segE, IZLAZ); pinMode(segF, IZLAZ); pinMode(segG, IZLAZ); } void loop() { // Prikaži broj 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); // Pričekajte 2 sekunde }
U ovom kodu prvo definiramo pinove za svaki segment upostavljanje()funkcija. Zatim, upetlja()funkciju, uključujemo i isključujemo odgovarajuće segmentne igle za prikaz različitih brojeva. Theodgoditi()funkcija se koristi za prikaz svakog broja određeno vrijeme.
Prikaz dinamičkog sadržaja
Za prikaz dinamičkog sadržaja, poput odbrojavanja ili prikazivanja poruke koja se pomiče, morat ćete biti malo kreativniji.
Odbrojavanje
Evo primjera brojanja od 0 do 9 na LCD-u sa 7 segmenata:
// 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 pohranu uzoraka segmenata za svaku znamenku int digitPatterns[10][7] = {{VISOKO, VISOKO, VISOKO, VISOKO, VISOKO, VISOKO, NISKO}, // 0 {NISKO, VISOKO, VISOKO, NISKO, NISKO, NISKO, NISKO}, // 1 {VISOKO, VISOKO, NISKO, VISOKO, VISOKO, NISKO, VISOKO}, // 2 {VISOKO, VISOKO, VISOKO, NISKO, NISKO, VISOKO}, // 3 {NISKO, VISOKO, VISOKO, NISKO, NISKO, VISOKO, VISOKO}, // 4 {VISOKO, NISKO, VISOKO, VISOKO, NISKO, VISOKO, VISOKO}, // 5 {VISOKO, NISKO, VISOKO, VISOKO, VISOKO, VISOKO}, // 6 {VISOKO, VISOKO, VISOKO, NISKO, NISKO, NISKO, NISKO}, // 7 {VISOKO, VISOKO, VISOKO, VISOKO, VISOKO, VISOKO}, // 8 {VISOKO, VISOKO, VISOKO, VISOKO, NISKO, VISOKO, VISOKO} // 9 }; void setup() { // Postavi sve segmentne pinove kao izlaze pinMode(segA, OUTPUT); pinMode(segB, IZLAZ); pinMode(segC, IZLAZ); pinMode(segD, IZLAZ); pinMode(segE, IZLAZ); pinMode(segF, IZLAZ); pinMode(segG, IZLAZ); } void loop() { for (int i = 0; i < 10; i++) { // Prikaz trenutne znamenke 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); // Pričekajte 1 sekundu } }
U ovom kodu koristimo 2D nizdigitPatternsza pohranjivanje uzoraka segmenata za svaku znamenku. Zatim, upetlja()funkciju, prolazimo kroz brojeve od 0 do 9 i prikazujemo svaku znamenku 1 sekundu.
Pomicanje poruke
Za prikaz poruke koja se pomiče, morat ćete koristiti višestruke zaslone od 7 segmenata i višestruko ih spojiti. Multipleksiranje znači brzo prebacivanje između zaslona tako da se čini kao da su svi uključeni u isto vrijeme.


Evo pregleda na visokoj razini kako to učiniti:
- Podijelite svoju poruku na pojedinačne znamenke ili znakove.
- Prikažite jednu po jednu znamenku na jednom zaslonu i brzo se prebacite na sljedeći zaslon.
- Ponavljajte ovaj postupak kontinuirano kako biste stvorili efekt 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 igle pravilno spojene i koristite li pravi izvor napajanja.
- Treperenje zaslona: To bi moglo biti zbog niske stope osvježavanja. Pokušajte povećati brzinu kojom multipleksirate zaslone.
- Prikazane netočne brojke: Dvaput - provjerite uzorke segmenata u kodu. Pazite da osvijetlite prave segmente za svaku znamenku.
Zaključak
Programiranje 7-segmentnog LCD-a za prikaz dinamičkog sadržaja zabavan je i koristan projekt. S pravim hardverom, malo znanja o programiranju i nekim vještinama rješavanja problema, možete stvoriti razne vrste cool zaslona.
Ako ste zainteresirani za kupnju LCD-a sa 7 segmenata za svoje projekte, mi ćemo vas pokriti. Nudimo širok izborHTN LCD zaslon,VA LCD zaslon, iSTN LCD zaslonopcije. Kontaktirajte nas kako bismo razgovarali o vašim zahtjevima i započeli s vašim sljedećim projektom!
Reference
- Arduino službena dokumentacija
- Službena stranica Raspberry Pi
- Razni online vodiči i forumi o elektronici
