Jak zaprogramować 7-segmentowy wyświetlacz LCD do wyświetlania treści dynamicznych?

Nov 19, 2025Zostaw wiadomość

Hej tam! Jako dostawca 7-segmentowych wyświetlaczy LCD widziałem na własne oczy, jakie fajne rzeczy można zrobić z tymi małymi wyświetlaczami. W tym blogu przeprowadzę Cię przez proces programowania 7-segmentowego wyświetlacza LCD tak, aby wyświetlał dynamiczną zawartość. Niezależnie od tego, czy jesteś hobbystą, czy profesjonalistą, ten przewodnik zawiera szczegółowe informacje na temat ożywiania 7-segmentowych wyświetlaczy LCD.

Zrozumienie podstaw 7-segmentowych wyświetlaczy LCD

Na początek przyjrzyjmy się szybko, czym jest 7-segmentowy wyświetlacz LCD. Składa się z siedmiu segmentów, zwykle oznaczonych jako a, b, c, d, e, f i g, wraz z kropką dziesiętną. Podświetlając różne kombinacje tych segmentów, możesz wyświetlać cyfry od 0 do 9, a nawet niektóre litery.

Dostępne są różne typy 7-segmentowych wyświetlaczy LCD, npWyświetlacz LCD HTN,Wyświetlacz LCD VA, IWyświetlacz LCD STN. Każdy typ ma swoje własne cechy, takie jak kąt widzenia, kontrast i czas reakcji. Musisz wybrać ten, który najlepiej pasuje do Twojego projektu.

Wybór odpowiedniego mikrokontrolera

Aby zaprogramować 7-segmentowy wyświetlacz LCD, potrzebny będzie mikrokontroler. Do popularnych wyborów należą mikrokontrolery Arduino, Raspberry Pi i PIC. Są łatwe w obsłudze i zawierają mnóstwo zasobów online.

Arduino to świetna opcja dla początkujących. Jest oprogramowaniem typu open source, ma prosty język programowania i dużą społeczność. Możesz zacząć szybko, bez konieczności zajmowania się zbyt dużą złożonością. Z kolei Raspberry Pi jest mocniejsze i radzi sobie z bardziej złożonymi zadaniami. Działa jak minikomputer, więc można na nim uruchamiać pełnoprawne systemy operacyjne.

Połączenie sprzętowe

Po wybraniu mikrokontrolera przyszedł czas na podłączenie 7-segmentowego wyświetlacza LCD. Wyświetlacz LCD ma styki dla każdego segmentu i wspólny styk (albo wspólna anoda, albo wspólna katoda).

Jeśli używasz wyświetlacza LCD ze wspólną anodą, wspólny pin jest podłączony do napięcia dodatniego, a poszczególne piny segmentu są uziemiane, aby je podświetlić. W przypadku wyświetlacza LCD ze wspólną katodą jest odwrotnie: wspólny pin jest uziemiony, a do pinów segmentu przykładane jest napięcie dodatnie.

Oto podstawowy przykład podłączenia 7-segmentowego wyświetlacza LCD do Arduino:

  • Podłącz wspólny pin do odpowiedniego źródła zasilania (5 V dla wspólnej katody lub masa dla wspólnej anody).
  • Podłącz każdy pin segmentu (a - g i przecinek dziesiętny) do cyfrowego pinu wyjściowego Arduino.

Programowanie wyświetlacza

Teraz przychodzi zabawna część: programowanie! Zacznijmy od prostego przykładu wyświetlania pojedynczej cyfry na 7-segmentowym wyświetlaczu LCD za pomocą Arduino.

// Zdefiniuj piny dla każdego segmentu const int segA = 2; stała int segB = 3; stała int segC = 4; stała int segD = 5; stała int segE = 6; stała int segF = 7; stała int segG = 8; void setup() { // Ustaw wszystkie piny segmentu jako wyjścia pinMode(segA, OUTPUT); tryb pin(segB, WYJŚCIE); tryb pin(segC, WYJŚCIE); tryb pin(segD, WYJŚCIE); tryb pin(segE, WYJŚCIE); tryb pin(segF, WYJŚCIE); tryb pin(segG, WYJŚCIE); } void pętli() { // Wyświetl liczbę 0 digitalWrite(segA, HIGH); digitalWrite(segB, WYSOKI); digitalWrite(segC, WYSOKI); digitalWrite(segD, WYSOKI); digitalWrite(segE, WYSOKI); digitalWrite(segF, WYSOKI); digitalWrite(segG, NISKI); opóźnienie (2000); // Poczekaj 2 sekundy // Wyświetl cyfrę 1 digitalWrite(segA, LOW); digitalWrite(segB, WYSOKI); digitalWrite(segC, WYSOKI); digitalWrite(segD, NISKI); digitalWrite(segE, NISKI); digitalWrite(segF, NISKI); digitalWrite(segG, NISKI); opóźnienie (2000); // Poczekaj 2 sekundy }

W tym kodzie najpierw definiujemy piny dla każdego segmentu w plikuorganizować coś()funkcjonować. Następnie wpętla()funkcji włączamy i wyłączamy odpowiednie piny segmentowe, aby wyświetlać różne liczby. Theopóźnienie()Funkcja służy do wyświetlania każdej liczby przez określony czas.

Wyświetlanie zawartości dynamicznej

Aby wyświetlić zawartość dynamiczną, np. odliczanie lub wyświetlanie przewijanej wiadomości, musisz wykazać się nieco większą kreatywnością.

Odliczanie

Oto przykład liczenia od 0 do 9 na 7-segmentowym wyświetlaczu LCD:

// Zdefiniuj piny dla każdego segmentu const int segA = 2; stała int segB = 3; stała int segC = 4; stała int segD = 5; stała int segE = 6; stała int segF = 7; stała int segG = 8; // Tablica do przechowywania wzorców segmentów dla każdej cyfry intdigitPatterns[10][7] = {{HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW}, // 0 {LOW, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 1 {HIGH, HIGH, LOW, HIGH, HIGH, LOW, HIGH}, // 2 {WYSOKI, WYSOKI, WYSOKI, WYSOKI, NISKI, NISKI, WYSOKI}, // 3 {NISKI, WYSOKI, WYSOKI, NISKI, NISKI, WYSOKI, WYSOKI}, // 4 {WYSOKI, NISKI, WYSOKI, WYSOKI, NISKI, WYSOKI, WYSOKI}, // 5 {WYSOKI, NISKI, WYSOKI, WYSOKI, WYSOKI, WYSOKI, WYSOKI}, // 6 {WYSOKI, WYSOKI, WYSOKI, NISKI, NISKI, NISKI, NISKI}, // 7 {WYSOKI, WYSOKI, WYSOKI, WYSOKI, WYSOKI, WYSOKI, WYSOKI}, // 8 {WYSOKI, WYSOKI, WYSOKI, WYSOKI, NISKI, WYSOKI, WYSOKI} // 9 }; void setup() { // Ustaw wszystkie piny segmentu jako wyjścia pinMode(segA, OUTPUT); tryb pin(segB, WYJŚCIE); tryb pin(segC, WYJŚCIE); tryb pin(segD, WYJŚCIE); tryb pin(segE, WYJŚCIE); tryb pin(segF, WYJŚCIE); tryb pin(segG, WYJŚCIE); } void pętli() { for (int i = 0; i < 10; i++) { // Wyświetla bieżącą cyfrę digitalWrite(segA,digitPatterns[i][0]); digitalWrite(segB, cyfraPatterns[i][1]); digitalWrite(segC, cyfraPatterns[i][2]); digitalWrite(segD, cyfraPatterns[i][3]); digitalWrite(segE, cyfraPatterns[i][4]); digitalWrite(segF, cyfraPatterns[i][5]); digitalWrite(segG, cyfraPatterns[i][6]); opóźnienie (1000); // Poczekaj 1 sekundę } }

W tym kodzie używamy tablicy 2DcyfroweWzorydo przechowywania wzorów segmentów dla każdej cyfry. Następnie wpętla()funkcji, przeglądamy liczby od 0 do 9 i wyświetlamy każdą cyfrę przez 1 sekundę.

Przewijanie wiadomości

Aby wyświetlić przewijaną wiadomość, musisz użyć wielu wyświetlaczy 7-segmentowych i zwielokrotnić je. Multipleksowanie oznacza szybkie przełączanie między wyświetlaczami, dzięki czemu sprawia wrażenie, jakby wszystkie były włączone w tym samym czasie.

SEGMENT LCD for Curly2

Oto ogólny przegląd tego, jak to zrobić:

  1. Podziel wiadomość na pojedyncze cyfry lub znaki.
  2. Wyświetlaj pojedynczo jedną cyfrę na jednym wyświetlaczu i szybko przełączaj się do następnego ekranu.
  3. Powtarzaj ten proces w sposób ciągły, aby uzyskać efekt przewijania.

Rozwiązywanie problemów

Jeśli napotkasz problemy, nie martw się! Oto kilka typowych problemów i ich rozwiązań:

  • Segmenty nie świecą się: Sprawdź połączenia sprzętowe. Upewnij się, że styki są prawidłowo podłączone i że używasz odpowiedniego źródła zasilania.
  • Migający wyświetlacz: Może to być spowodowane niską częstotliwością odświeżania. Spróbuj zwiększyć prędkość multipleksowania wyświetlaczy.
  • Wyświetlane są nieprawidłowe cyfry: Double - sprawdź wzorce segmentów w kodzie. Upewnij się, że podświetlasz odpowiednie segmenty dla każdej cyfry.

Wniosek

Programowanie 7-segmentowego wyświetlacza LCD do wyświetlania dynamicznych treści to projekt ciekawy i satysfakcjonujący. Dzięki odpowiedniemu sprzętowi, odrobinie wiedzy programistycznej i pewnym umiejętnościom rozwiązywania problemów możesz tworzyć wszelkiego rodzaju fajne wyświetlacze.

Jeśli jesteś zainteresowany zakupem 7-segmentowych wyświetlaczy LCD do swoich projektów, mamy dla Ciebie rozwiązanie. Oferujemy szeroką gamęWyświetlacz LCD HTN,Wyświetlacz LCD VA, IWyświetlacz LCD STNopcje. Skontaktuj się z nami, aby omówić Twoje wymagania i rozpocząć kolejny projekt!

Referencje

  • Oficjalna dokumentacja Arduino
  • Oficjalna strona Raspberry Pi
  • Różne samouczki i fora dotyczące elektroniki online