Interfejs Seven Segment Wyświetlacz z ESPTOP 10 za pomocą Arduino IDE

Interfejs Seven Segment Wyświetlacz z ESPTOP 10 za pomocą Arduino IDE

ESP32 to popularna platforma elektroniki typu open source, która może być używana do sterowania i interakcji z szeroką gamą urządzeń elektronicznych, w tym z siedmiosegmentowymi wyświetlaczami. Korzystając z mikrokontrolera ESP32, możliwe jest łatwe kontrolowanie stanu każdego segmentu na wyświetlaczu siedmiosegmentowym, umożliwiając tworzenie niestandardowych wyświetlaczy numerycznych i innych interaktywnych projektów.

Ten artykuł obejmuje następujące treści:

  • 1: Wprowadzenie do Seven Segment
  • 2: Pinout Seven Segment
  • 3: Rodzaje Seven Segment
  • 4: Jak sprawdzić siedem segmentów jest powszechną anodą lub wspólną katodą
  • 5: Interfejs siedem segmentów z ESP32
  • 5.1: Schemat
  • 5.2: Sprzęt
  • 5.3: Instalowanie wymaganej biblioteki
  • 6: Kontroluj Seven Segment za pomocą biblioteki z ESP32
  • 6.1: Kod
  • 6.2: Wyjście
  • 7: Kontroluj Seven Segment bez użycia biblioteki ESP32
  • 7.1: Kod
  • 7.2: Wyjście

1: Wprowadzenie do Seven Segment

Siedmiosegment może wyświetlać informacje numeryczne za pomocą programu mikrokontrolera. Składa się z siedmiu indywidualnych segmentów, z których każdy może być oświetlony lub wyłączony niezależnie, aby stworzyć różne postacie numeryczne.

Siedmiosegmentowy wyświetlacz działa poprzez oświetlenie różnych kombinacji siedmiu segmentów w celu wyświetlania znaków numerycznych. Każdy segment jest kontrolowany przez pojedynczy kodek, który można włączyć lub wyłączać, aby stworzyć pożądany znak numeryczny. Gdy segmenty są oświetlone we właściwej kombinacji, znak numeryczny jest widoczny dla widza.

Podczas korzystania z mikrokontrolera ESP32 do kontrolowania wyświetlacza siedmiosegmentowego, ESP32 wysyła sygnały do ​​konkretnych pinów na wyświetlaczu siedmiosegmentowym, mówiąc mu, które segmenty należy włączyć lub wyłączyć, aby wyświetlić określony znak numeryczny.

Odbywa się to poprzez pisanie programu w Arduino IDE (zintegrowane środowisko programistyczne) przy użyciu języka programowania C ++. Program wykorzystuje bibliotekę Arduino do kontrolowania stanu każdego segmentu za pomocą prostych poleceń. Program można również skonfigurować w celu wyświetlania różnych znaków numerycznych na podstawie danych wejściowych z czujników lub interakcji użytkownika.

2: Pinout Seven Segment

Wyświetlacz siedmiosegmentowy zwykle ma 10 szpilki, z jednym szpilką dla każdego segmentu, jeden dla dziesiętnych i dwa wspólne szpilki. Oto tabela typowego pinout:

Kod PIN Nazwa pin Opis
1 B Górna prawa szpilka LED
2 A Najwyższy szpilka LED
3 VCC/GND GND/VCC zależy od konfiguracji - wspólna katoda/anoda
4 F Górna lewa szpilka LED
5 G Środkowa szpilka LED
6 dp Pin LED DOT
7 C Pein LED dolnej prawej
8 VCC/GND GND/VCC zależy od konfiguracji - wspólna katoda/anoda
9 D Dolny szpilka LED
10 mi Dolna lewa szpilka LED

Każdy segment jest oznaczony jako A, B, C, D, E, F i G. Wspólny pin jest zwykle używany do kontrolowania wszystkich segmentów jednocześnie. Wspólny pin jest aktywny niski lub aktywny wysoki w zależności od wyświetlacza.

3: Rodzaje Seven Segment

Istnieją dwa główne typy wyświetlaczy siedmiu segmentów:

  • Wspólna katoda
  • Wspólna anoda.

1: w wspólna katoda Wyświetl, wszystkie negatywne terminale segmentów LED są połączone razem.

2: w Wspólna anoda Wyświetlacz, wszystkie dodatnie terminale segmentów LED są podłączone.

4: Jak sprawdzić siedem segmentów jest powszechną anodą lub wspólną katodą

Aby sprawdzić rodzaj siedmiu segmentów, potrzebujemy tylko prostego narzędzia - Multimetr. Wykonaj kroki, aby sprawdzić rodzaj wyświetlacza siedmiosegmentowego:

  1. Trzymaj siedmiosegmentowy wyświetlacz mocno pod ręką i zidentyfikuj Pin 1 za pomocą pinout wyjaśnionego powyżej.
  2. Weź multimetr. Załóżmy czerwony ołów pozytywnie (+) i czarny przewagę multimetru dla negatywnych (-).
  3. Ustaw multimetr na test ciągłości.
  4. Po tym sprawdzaniu pracy miernika można sprawdzić, dotknięte zarówno pozytywnymi, jak i negatywnymi potencjalnymi klientami. Dźwięk sygnał eksploatacyjny zostanie wyprodukowany, jeśli miernik działa poprawnie. W przeciwnym razie wymień baterie w multimetrze na nowy.
  5. Umieść czarny ołów na styku 3 lub 8 multimetru. Oba te piny są powszechne i wewnętrznie połączone. Wybierz dowolną szpilkę.
  6. Teraz umieść czerwoną lub pozytywną przewagę multimetru na innych szpilkach siedmiu segmentów, takich jak 1 lub 5.
  7. Po dotknięciu czerwonej sondy, jeśli jakikolwiek segment świeci, wyświetlacz wynosi wspólna katoda.
  8. Zmieniać leady multimetrów, jeśli żaden segment nie świeci.
  9. Teraz podłącz czerwony przewód do pin 3 lub 8.
  10. Następnie umieścił czarny lub negatywny ołów na pozostałych szpilkach wyświetlacza. Teraz, jeśli którykolwiek z glow tego segmentu, Twój wyświetlacz jest Wspólna anoda, Jak we wspólnej anodzie, pin dodatnia jest powszechna, a reszta jest podłączona do ujemnego zasilania.
  11. Powtórz kroki, aby sprawdzić wszystkie inne segmenty wyświetlania jeden po drugim.
  12. Jeśli którykolwiek z segmentów nie świeci, będzie to wadliwe.

Oto obraz odniesienia do testu siedmiosegmentowego za pomocą a multimetr. Widzimy, że czerwony ołowiu znajduje się w com pin 8, a czarny jest w segmentowym styku, więc używamy Wspólna anoda siedem segmentów:

5: Interfejs siedem segmentów z ESP32

Aby połączyć się z siedmiosegmentowym wyświetlaczem z ESP32, będziesz potrzebować następujących materiałów:

  • Mikrokontroler ESP32
  • Wyświetlacz siedmiosegmentowy
  • Tablica chleba
  • Przewody zworki

Interfejsy ESP32 z siedmioprzesualnymi wyświetlaczami w kilku prostych krokach.

1: Najpierw podłącz siedmiosegmentowy wyświetlacz do płyty chlebowej.

2: Następnie podłącz Arduino Nano z siedmiosegmentowym wyświetlaczem za pomocą przewodów. ESP32 zostanie użyty do wysyłania sygnałów na siedmiosegmentowy wyświetlacz, mówiąc mu, które segmenty należy włączyć lub wyłączyć.

3: Teraz napisz kod Arduino w IDE. Program będzie musiał wysłać sygnały do ​​konkretnych pinów na wyświetlaczu siedmiosegmentowym, mówiąc, które segmenty należy włączyć lub wyłączyć, aby wyświetlić określony znak numeryczny.

4: Arduino IDE zapewnia bibliotekę za pomocą której możemy łatwo kontrolować stan każdego segmentu za pomocą prostych poleceń.

5: Po napisaniu i przesłaniu programu do ESP32, siedmiosegmentowy wyświetlacz powinien zacząć wyświetlać znaki numeryczne zgodnie z programem.

5.1: Schemat

Aby najpierw zaprogramować siedem segmentów, musimy zaprojektować obwód i podłączyć go z ESP32. Korzystanie z poniższego schematy odniesienia łączy płytę ESP32 z siedmiosegmentowym wyświetlaczem.

Podążając za tabelą pinout dla połączenia ESP32 z pojedynczym wyświetlaczem siedmiosegmentowym:

Kod PIN Nazwa pin Pin ESP32
1 B D2
2 A D15
3 Com GND/VCC zależy od konfiguracji - wspólna katoda/anoda
4 F D19
5 G D21
6 dp Pin LED DOT
7 C D4
8 Com GND/VCC zależy od konfiguracji - wspólna katoda/anoda
9 D D5
10 mi D18

5.2: Sprzęt

Poniższy obraz pokazuje sprzęt ESP32 i siedmio-segmentu:

5.3: Instalowanie wymaganej biblioteki

Po podłączeniu siedmiu segmentów musimy zainstalować bibliotekę w Arduino IDE. Korzystając z tej biblioteki, możemy łatwo zaprogramować ESP32 z siedmioma segmentami.

Przejdź do menedżera biblioteki wyszukiwanie SEVSEG Biblioteka i zainstaluj w Arduino IDE.

6: Kontroluj Seven Segment za pomocą biblioteki z ESP32

Po zainstalowaniu biblioteki napiszemy kod Arduino za pomocą tej samej biblioteki.

6.1: Kod

Otwórz IDE i prześlij podany kod na ESP32:

#Include "sevseg.H " /*zawierał siedmiopasmowe bibliotekę* /
SEVSEG SEVSEG; /*Utwórz bibliotekę siedmiosegmentową*/
void Setup ()

bajt sevensegments = 1; /*Liczba połączonych siedmio-segmentów*/
bajt commonpins [] = ; /*Zdefiniuj wspólny pin z siedmiu segmentu*/
BYTE LEDSEGTERPINS [] = 15, 2, 4, 5, 18, 19, 21; /*Zdefiniuj cyfrowe szpilki ESP32 dla siedmiu segmentu*/
Bool ResistorSonsegments = true; /*Przypisanie typu boolean do rejestrów Seven = Segment*/
SEVSEG.początek (common_anode, sevensegments, commonpins, ledsegmentPins, resperaSonsegments);/ *konfiguracja siedmiopasmowa */
SEVSEG.setBrightness (80); /*Jasność Seven Segment*/

Void Loop ()

dla (int i = 0; i < 10; i++) /*Display number from 0 to 9 using for loop*/

SEVSEG.setNumber (i);
SEVSEG.RefreshDisplay (); /*Odśwież wyświetlacz siedmioprzesualny po każdej iteracji*/
opóźnienie (1000); /*Opóźnienie czasowe dla iteracji pętli*/

Kod zaczął od dzwonienia SEVSEG biblioteka. Następnie zdefiniowaliśmy liczbę segmentów, używamy z ESP32. Piny segmentu LED są zdefiniowane dla płyt ESP32. Zmień pin według rodzaju używanego ESP32.

Można użyć dowolnego z cyfrowych pinów ESP32.

Dalej, ponieważ używamy wspólnego typu anody, więc zdefiniowaliśmy go w kodzie.

W przypadku wspólnej katody zastąp go poniżej kodu:

W końcu a Do Używana jest pętla, która wyświetla cyfry od 0 do 9 i odświeży wyświetlacz za każdym razem, gdy wyświetlana jest liczba:

6.2: Wyjście

Możemy zobaczyć siedem segmentów wyświetlanych liczbami od 0 do 9:

7: Kontroluj Seven Segment bez korzystania z biblioteki z ESP32

Aby kontrolować siedem segmentów bez żadnej biblioteki, musimy ręcznie zdefiniować liczby w kodzie Arduino w ich binarnej reprezentacji.

7.1: Kod

Otwórz IDE i połącz ESP32. Następnie przesłaj dany kod siedmiosegmentowy do ESP32:

int segpins [] = 15, 2, 4, 5, 18, 19, 21;/*esp32 pin dla siedmiopasmowego*/
bajt segcode [10] [7] = /*tablica numeru 0-9 w kolejności od g* /
// a b c d e f g
0, 0, 0, 0, 0, 0, 1, /*Wyświetl 0* /
1, 0, 0, 1, 1, 1, 1, /*Wyświetl 1* /
0, 0, 1, 0, 0, 1, 0, /*Wyświetl 2* /
0, 0, 0, 0, 1, 1, 0, /*Wyświetl 3* /
1, 0, 0, 1, 1, 0, 0, /*Wyświetl 4* /
0, 1, 0, 0, 1, 0, 0,, /*Wyświetl 5* /
0, 1, 0, 0, 0, 0, 0, /*Wyświetl 6* /
0, 0, 0, 1, 1, 1, 1, /*Wyświetl 7* /
0, 0, 0, 0, 0, 0, 0, /*Wyświetl 8* /
0, 0, 0, 0, 1, 0, 0, /*Wyświetl 9* /
;
void displayDigit (int cyfr) /*funkcja zainicjowania każdego segmentu* /

for (int a = 0; a < 7; a++)

DigitalWrite (segpins [a], segcode [cyfr] [a]);/ * instruujący odpowiednie segmenty dla liczb od 0 do 9 *//


void Setup ()

for (int a = 0; a < 7; a++) // for loop for setting the pins as output*/

pinmode (segpins [a], wyjście);


Void Loop ()

for (int b = 0; b < 10; b++)/* generating numbers from 0 to 9 */

displayDigit (b);/*wyświetl wygenerowane liczby*/
opóźnienie (1000);

W powyższym kodzie najpierw zdefiniowaliśmy cyfrowe piny dla ESP32, w których połączone zostaną siedem segmentów. Tablica jest inicjowana w celu zdefiniowania liczby od 0 do 9.

Następnie wewnątrz tablicy Wszystkie 10 cyfr od 0 do 9 jest zdefiniowane w ich binarnej reprezentacji.

Następnie void Setup () Część A dla pętli jest zdefiniowana. To dla pętli z pomocą Pinmode Funkcja ustawia piny siedmiosegmentowe jako wyjście.

W końcu w pustce pętla() Funkcja kolejna dla pętli jest zdefiniowana, która wygeneruje liczbę od 0 do 9 za każdym razem, gdy program będzie działał.

7.2: Wyjście

Tutaj możemy zobaczyć wszystkie liczby zdefiniowane w kodzie za pomocą ich binarnego odpowiednika są wyświetlane na siedmiu segmentach:

Wniosek

Podsumowując, interfejs siedmiosegmentowy wyświetlacz z mikrokontrolerem ESP32 to prosty proces, który można wykonać za pomocą kilku podstawowych materiałów i odrobiny wiedzy programowej. Dzięki kodowi ESP32 i Arduino możesz łatwo kontrolować stan każdego segmentu na wyświetlaczu siedmiosegmentowym, umożliwiając tworzenie niestandardowych wyświetlaczy numerycznych i innych interaktywnych projektów.