Hej där! Som leverantör av 7-segment LCD-skärmar har jag sett de coola sakerna du kan göra med dessa små skärmar. I den här bloggen kommer jag att gå igenom hur du programmerar en LCD-skärm med 7 segment för att visa dynamiskt innehåll. Oavsett om du är en hobby eller ett proffs, kommer den här guiden att ge dig bottensatsen på att få dina 7-segments LCD-skärmar att leva.
Förstå grunderna för LCD-skärmar med 7 segment
Först och främst, låt oss få en snabb förståelse av vad en 7 segment LCD är. Den består av sju segment, vanligtvis märkta a, b, c, d, e, f och g, tillsammans med en decimalkomma. Genom att lysa upp olika kombinationer av dessa segment kan du visa siffror från 0 - 9, och även vissa bokstäver.
Det finns olika typer av 7-segment LCD-skärmar tillgängliga, t.exHTN LCD-skärm,VA LCD-skärm, ochSTN LCD-skärm. Varje typ har sina egna egenskaper, såsom betraktningsvinkel, kontrast och svarstid. Du måste välja den som passar ditt projekt bäst.
Att välja rätt mikrokontroller
För att programmera en 7-segments LCD-skärm behöver du en mikrokontroller. Populära val inkluderar Arduino, Raspberry Pi och PIC mikrokontroller. Dessa är lätta att arbeta med och har massor av resurser online.
Arduino är ett bra alternativ för nybörjare. Det är öppen källkod, har ett enkelt programmeringsspråk och en stor community. Du kan komma igång snabbt utan att behöva hantera för mycket komplexitet. Raspberry Pi, å andra sidan, är kraftfullare och kan hantera mer komplexa uppgifter. Det är som en minidator, så du kan köra fullfjädrade operativsystem på den.
Hårdvaruanslutning
När du har valt din mikrokontroller är det dags att ansluta 7-segments LCD-skärmen. LCD-skärmen har stift för varje segment och ett gemensamt stift (antingen gemensam anod eller gemensam katod).
Om du använder en vanlig anod-LCD är det gemensamma stiftet anslutet till den positiva spänningen och du jordar de enskilda segmentstiften för att tända dem. För en vanlig katod-LCD är det tvärtom: det gemensamma stiftet är jordat och du lägger på positiv spänning på segmentstiften.
Här är ett grundläggande exempel på att ansluta en 7-segments LCD-skärm till en Arduino:
- Anslut det gemensamma stiftet till lämplig strömkälla (antingen 5V för gemensam katod eller jord för gemensam anod).
- Anslut varje segmentstift (a - g och decimaltecknet) till ett digitalt utgångsstift på Arduino.
Programmering av displayen
Nu kommer den roliga delen: programmering! Låt oss börja med ett enkelt exempel på att visa en enda siffra på LCD-skärmen med 7 segment med Arduino.
// Definiera stift för varje 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() { // Ställ in alla segmentstift som utgångar pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segE, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); } void loop() { // Visa talet 0 digitalWrite(segA, HIGH); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, HIGH); digitalWrite(segE, HIGH); digitalWrite(segF, HIGH); digitalWrite(segG, LOW); fördröjning(2000); // Vänta i 2 sekunder // Visa siffran 1 digitalWrite(segA, LOW); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, LOW); digitalWrite(segE, LOW); digitalWrite(segF, LOW); digitalWrite(segG, LOW); fördröjning(2000); // Vänta i 2 sekunder }
I den här koden definierar vi först stiften för varje segment isetup()fungera. Sedan, islinga()funktion slår vi på och av lämpliga segmentstift för att visa olika nummer. Dedröjsmål()funktionen används för att visa varje nummer under en viss tid.
Visar dynamiskt innehåll
För att visa dynamiskt innehåll, som att räkna upp eller visa ett rullande meddelande, måste du bli lite mer kreativ.
Räknar upp
Här är ett exempel på hur man räknar från 0 till 9 på LCD-skärmen med 7 segment:
// Definiera stift för varje 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; // Array för att lagra segmentmönster för varje siffra int digitPatterns[10][7] = { {HÖG, HÖG, HÖG, HÖG, HÖG, HÖG, LÅG}, // 0 {LÅG, HÖG, HÖG, LÅG, LÅG, LÅG, LÅG}, // 1 {HÖG, HÖG, HÖG, HÖG, HÖG, HÖG, // 2 {HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH}, // 3 {LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH}, // 4 {HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH}, // HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH}, // 6 {HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 7 {HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH}, // 8 {HIGH, HIGH, HIGH, HIGH, LOW, } HIGH; void setup() { // Ställ in alla segmentstift som utgångar 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++) { // Visa den aktuella siffran 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]); fördröjning(1000); // Vänta i 1 sekund } }
I den här koden använder vi en 2D-arraydigitPatternsför att lagra segmentmönstren för varje siffra. Sedan, islinga()funktion går vi igenom siffrorna från 0 till 9 och visar varje siffra i 1 sekund.
Rullande meddelande
För att visa ett rullande meddelande måste du använda flera skärmar med 7 segment och multiplexa dem. Multiplexing innebär att snabbt växla mellan bildskärmarna så att det ser ut som om alla är på samtidigt.


Här är en översikt över hur du gör det på hög nivå:
- Dela upp ditt meddelande i enskilda siffror eller tecken.
- Visa en siffra på en skärm i taget och växla snabbt till nästa skärm.
- Upprepa denna process kontinuerligt för att skapa en rullningseffekt.
Felsökning
Om du stöter på problem, oroa dig inte! Här är några vanliga problem och deras lösningar:
- Segmenten lyser inte upp: Kontrollera dina hårdvaruanslutningar. Se till att stiften är korrekt anslutna och att du använder rätt strömkälla.
- Flimrande display: Detta kan bero på en låg uppdateringsfrekvens. Försök att öka hastigheten med vilken du multiplexar skärmarna.
- Felaktiga siffror visas: Dubbel - kontrollera dina segmentmönster i koden. Se till att du lyser upp rätt segment för varje siffra.
Slutsats
Att programmera en 7-segments LCD för att visa dynamiskt innehåll är ett roligt och givande projekt. Med rätt hårdvara, lite programmeringskunskap och lite felsökningsfärdigheter kan du skapa alla möjliga coola skärmar.
Om du är intresserad av att köpa 7-segment LCD-skärmar för dina projekt, har vi dig täckt. Vi erbjuder ett brett utbud avHTN LCD-skärm,VA LCD-skärm, ochSTN LCD-skärmalternativ. Kontakta oss för att diskutera dina krav och komma igång med ditt nästa projekt!
Referenser
- Arduino officiella dokumentation
- Raspberry Pi officiella hemsida
- Olika online elektronikhandledningar och forum
