Jak użyć mikrokontrolera do napędzania 7 -segmentowej grafiki LED?
W świecie elektroniki 7 segmentowych grafiki LED jest podstawą do wyświetlania liczbowych i niektórych informacji alfabetycznych w prosty i wydajny sposób. Jako dostawca7 Graphics LED segement, Byłem świadkiem rosnącego zapotrzebowania na te komponenty w różnych zastosowaniach, od prostych cyfrowych zegarów po złożone panele kontrolne przemysłowe. W tym poście na blogu poprowadzę Cię przez proces korzystania z mikrokontrolera do napędzania 7 segmentów graficznych LED, obejmujących wszystko, od podstaw 7 segmentów do aspektów programowania.
Zrozumienie grafiki LED 7 segmentów
Zanim zagłębiamy się w szczegóły prowadzenia grafiki LED 7 segmentu z mikrokontrolerem, konieczne jest zrozumienie, jak działają te wyświetlacze. 7 -segmentowy wyświetlacz LED składa się z siedmiu pojedynczych diod LED ułożonych w określonym wzorze, tworząc cyfry 0–9 i niektóre litery. Segmenty są zazwyczaj oznaczone jako A, B, C, D, E, F i G, a czasem uwzględniono dodatkowy segment punktów dziesiętnych (DP).
Istnieją dwa główne typy 7 segmentów wyświetlaczy LED: wspólna katoda i wspólna anoda. We wspólnym wyświetlaczu katody wszystkie terminale katodowe poszczególnych diod LED są połączone i uziemione, podczas gdy we wspólnym wyświetlaczu anody wszystkie zaciski anodowe są połączone i dostarczane z dodatnim napięciem. Wybór między tymi dwoma typami zależy od konkretnej aplikacji i możliwości wyjściowych mikrokontrolera.
Wybór mikrokontrolera
Pierwszym krokiem w prowadzeniu 7 segmentów grafiki LED jest wybranie odpowiedniego mikrokontrolera. Na rynku dostępnych jest wiele mikrokontrolerów, każdy z własnym zestawem funkcji i możliwości. Niektóre popularne wybory do prowadzenia 7 segmentów diod LED to Arduino Uno, Raspberry Pi Pico i Atmega328p.
Wybierając mikrokontroler, rozważ następujące czynniki:
- Piny we/wy: Upewnij się, że mikrokontroler ma wystarczającą liczbę cyfrowych pinów wyjściowych, aby kontrolować wszystkie segmenty wyświetlacza LED 7 segmentu. W przypadku wyświetlacza jednorazowego potrzebujesz co najmniej 7 pinów (lub 8, jeśli dołączysz punkt dziesiętny).
- Moc przetwarzania: Podczas prowadzenia 7-segmentu LED nie wymaga wysokowydajnego mikrokontrolera, posiadanie wystarczającej mocy przetwarzania może być korzystne, jeśli planujesz wdrożyć dodatkowe funkcje lub wykonać bardziej złożone zadania.
- Język programowania: Wybierz mikrokontroler, który obsługuje język programowania, który znasz. Na przykład Arduino używa uproszczonej wersji C/C ++, która jest łatwa do nauczenia się i wykorzystania dla początkujących.
Połączenie obwodu
Po wybraniu mikrokontrolera następnym krokiem jest podłączenie 7 -segmentowego wyświetlacza LED do mikrokontrolera. Poniższe kroki przedstawiają ogólny proces podłączenia wspólnego wyświetlacza LED katody 7 do Arduino UNO:
- Zidentyfikuj szpilki: Zapoznaj się z arkuszem danych 7 segmentu LED, aby zidentyfikować piny odpowiadające każdemu segmentowi (A - G i DP) i wspólnego pinu katodowego.
- Podłącz segmenty: Podłącz każdy segment (A - G i DP) z cyfrowym stykiem wyjściowym na Arduino Uno za pomocą odpowiednich rezystorów w celu ograniczenia prądu przepływającego przez diody LED. Typowa wartość dla rezystora wynosi około 220 - 330 omów.
- Podłącz wspólną katodę: Podłącz wspólny pin katodowy 7 -segmentowego wyświetlacza LED do gruntu (GND) na szpilku Arduino Uno.
Oto prosty schemat obwodu pokazujący połączenie między Arduino Uno a wspólnym wyświetlaczem LED segmentu katody 7:
Arduino UNO 7 segment Dift Dift Digital Pin 2 ------- segment cyfrowy pin 3 ------- segment b Pin cyfrowy 4 ------- segment c cyfrowy pin 5 ------- segment d cyfrowy pin 6 ------- segment e cyfrowy pin 7 ------- segment f cyfrowy pin 8 ------- segment g cyfrowy pin 9 ------- punkt dzienny (DP) GND -------
Programowanie mikrokontrolera
Po podłączeniu wyświetlacza LED 7 segmentu do mikrokontrolera następnym krokiem jest napisanie programu do kontrolowania wyświetlacza. Poniżej znajduje się prosty przykład programu napisanego w Arduino IDE do wyświetlania cyfr 0 - 9 na wspólnym wyświetlaczu LED katody 7 segmentu:


// Zdefiniuj piny podłączone do każdego segmentu const int segmentPins [] = {2, 3, 4, 5, 6, 7, 8, 9}; // Zdefiniuj wzorce dla każdej cyfry (0 - 9) Const Bajte DigitPatterns [] = {0b0011111, // 0 0b00000110, // 1 0b010111, // 2 0B01001111, // 3 0B01100110, // 4 0B01101101, // 5 0B011111111111111111, // 6 0B00000111 0B01111111, // 8 0B01101111 // 9}; void setup () {// Ustaw wszystkie piny segmentu jako wyjściowe dla (int i = 0; i <8; i ++) {pinmode (segmentPins [i], wyjściowe); }} void Loop () {// wyświetl każdą cyfrę od 0 do 9 z 1-sekundowym opóźnieniem między każdą cyfrą dla (int digit = 0; digit <10; digit ++) {displayDigit (cyfr); opóźnienie (1000); }} void displayDigit (int cyfr) {bajte wzór = digitPatterns [digit]; for (int i = 0; i <7; i ++) {digitalWrite (segmentPins [i], biTRead (wzór, i)); } // wyłącz punkt dziesiętny cyfrowy (segmentPins [7], niski); }
W tym programie najpierw definiujemy szpilki podłączone do każdego segmentu wyświetlacza LED 7 segmentu i wzory dla każdej cyfry (0–9). Worganizować coś()Funkcja, ustawiamy wszystkie piny segmentu jako wyjście. Wpętla()funkcja, iterujemy każdą cyfrę od 0 do 9 i wywołujemydisplayDigit ()funkcja wyświetlania cyfry na wyświetlaczu LED 7 segmentu. .displayDigit ()Funkcja przyjmuje liczbę całkowitą reprezentującą cyfrę do wyświetlania i ustawia odpowiednie piny wysokie lub niskie w zależności od wzoru cyfr.
Prowadzenie wielu cyfr
Jeśli chcesz wyświetlać wiele cyfr za pomocą 7 segmentów LED, możesz użyć techniki o nazwie Multiplexing. Multipleksowanie polega na szybkim przełączaniu się między cyframi o wysokiej częstotliwości, aby ludzkie oko postrzegało wszystkie cyfry jako jednocześnie zapalone.
Aby zaimplementować multipleksowanie, musisz użyć dodatkowych pinów na mikrokontrolerze do kontrolowania wspólnej katody lub pinów anody każdej cyfry. Na przykład, jeśli chcesz prowadzićTrójcyfrowy 7 segmentu LEDWyświetlacz, będziesz potrzebować 3 dodatkowych pinów do kontrolowania wspólnej katody lub pinów anody każdej cyfry.
Oto zmodyfikowana wersja poprzedniego programu, aby napędzać trójcyfrowy wyświetlacz LED z segmentu Cathode 7 za pomocą multipleksowania:
// Zdefiniuj piny podłączone do każdego segmentu const int segmentPins [] = {2, 3, 4, 5, 6, 7, 8, 9}; // Zdefiniuj piny połączone z wspólną katodą każdego cyfry const int digitpins [] = {10, 11, 12}; // Zdefiniuj wzorce dla każdej cyfry (0 - 9) Const Bajte DigitPatterns [] = {0b0011111, // 0 0b00000110, // 1 0b010111, // 2 0B01001111, // 3 0B01100110, // 4 0B01101101, // 5 0B011111111111111111, // 6 0B00000111 0B01111111, // 8 0B01101111 // 9}; void setup () {// Ustaw wszystkie piny segmentu jako wyjściowe dla (int i = 0; i <8; i ++) {pinmode (segmentPins [i], wyjściowe); } // Ustaw wszystkie piny cyfr jako wyjściowe dla (int i = 0; i <3; i ++) {pinmode (digitpins [i], wyjściowe); }} void Loop () {// wyświetl Digits 123 int cyfr [] = {1, 2, 3}; for (int digitIndex = 0; digitIndex <3; digitIndex ++) {displayDigit (cyfry [cyfrIndex], digitIndex); opóźnienie (2); // Dostosuj opóźnienie, aby kontrolować prędkość multipleksowania}} void displayDigit (int digit, int digitIndex) {// wyłącz wszystkie cyfry dla (int i = 0; i <3; i ++) {digitalWrite (digitpins [i], high); } bajte wzór = digitPatterns [cyfr]; for (int i = 0; i <7; i ++) {digitalWrite (segmentPins [i], biTRead (wzór, i)); } // wyłącz punkt dziesiętny cyfrowy (segmentPins [7], niski); // Włącz wybrany cyfr DigitalWrite (DigitPins [DigitIndex], Low); }
W tym programie dodajemy szereg pinów (Digitpin) Aby kontrolować wspólne szpilki katodowe każdej cyfry. Wpętla()funkcja, iterujemy każdą cyfrę i wywołujemydisplayDigit ()funkcja wyświetlania cyfry w odpowiedniej pozycji cyfr. .displayDigit ()Funkcja najpierw wyłącza wszystkie cyfry, a następnie ustawia odpowiednie piny segmentu na podstawie wzorca cyfr, a na koniec włącza wybraną cyfrę.
Wniosek
Prowadzenie grafiki LED 7 segmentu za pomocą mikrokontrolera jest stosunkowo prostym procesem, który można łatwo osiągnąć przy odpowiednich komponentach i umiejętnościach programowania. Postępując zgodnie z krokami opisanymi w tym poście na blogu, powinieneś być w stanie podłączyć 7 -segmentowy wyświetlacz LED do mikrokontrolera i wyświetlić informacje numeryczne.
Jeśli jesteś zainteresowany zakupem wysokiej jakości7 Graphics LED segementWTrójcyfrowy 7 segmentu LED, LubCzterocyfrowy 7 segmentu LEDWyświetlacze, prosimy o kontakt z nami, aby uzyskać więcej informacji i omówić swoje konkretne wymagania. Jesteśmy zaangażowani w zapewnianie naszym klientom najlepszych produktów i usług w konkurencyjnych cenach.
Odniesienia
- Dokumentacja Arduino: https://www.arduino.cc/reference/en/
- 7 segmentowych arkuszów danych DISPADA LED: Strony internetowe różnych producentów
