Cyfrowy licznik z siedmioma segmentami i przyciskiem przy użyciu ESPTOP 10 i Arduino IDE

Cyfrowy licznik z siedmioma segmentami i przyciskiem przy użyciu ESPTOP 10 i Arduino IDE
ESP32 to kompaktowy mikrokontroler, który ma wiele pinów GPIO, które pozwalają nam interfejs z wieloma czujnikami. ESP32 może wchodzić w interakcje z szeroką gamą urządzeń elektronicznych, w tym siedmioma wyświetlaczami segmentów. 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: łączenie siedmiu segmentów z ESP32 i przyciskiem
  • 5.1: Schemat
  • 5.2: Sprzęt
  • 5.3: Instalowanie wymaganej biblioteki
  • 6: Projektowanie licznika od 0 do 9 segmentu od 0 do 9 za pomocą ESP32 i przycisku
  • 6.1: Kod
  • 6.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 jego 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.

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
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
9 D Dolny szpilka LED
10 mi Dolna lewa szpilka LED

Każdy segment jest oznaczony jako Alfabet 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: Siedem rodzajów segmentów

Siedem segmentów można podzielić na 2 typy:

  • Wspólna katoda
  • Wspólna anoda.

1: w wspólna katoda Wszystkie ujemne zaciski segmentu LED są podłączone.

2: w Wspólna anoda siedem segmentów Wszystkie dodatnie terminale segmentu 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ć typ siedmiu segmentów:

  1. Trzymaj siedmiosegmentowy wyświetlacz mocno pod ręką i zidentyfikuj Pin 1 za pomocą pinout wyjaśnionego powyżej.
  2. Weź multimetr. Przyjmij czerwoną sondę dla pozytywnych (+) i czarna sonda multimetru dla negatywnych (-).
  3. Ustaw multimetr na test ciągłości.
  4. Po tym sprawdzaniu pracy miernika można sprawdzić, dotkając zarówno sond dodatnie, jak i ujemnych. Dźwięk sygnał eksploatacyjny zostanie wyprodukowany, jeśli miernik działa poprawnie. W przeciwnym razie wymień baterie w multimetrze na nowy.
  5. Umieść czarną sondę 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ą sondę multimetru na innych szpilkach siedmiu segmentów, takich jak 1 lub 5.
  7. Po dotknięciu czerwonej sondy, jeśli jakikolwiek segment świeci siedem segmentów 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 segmentów wyświetlacza świeci siedem segmentów Wspólna anoda. Jak w anodie com wszystkie dodatnie piny segmentów są powszechne, a pozostałe są połączone z ujemną podażą.
  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 czerwona sonda jest na com pin 8, a czarny jest w segmencie pinem, więc używamy Wspólna anoda Seven Segment:

5: łączenie siedmiu segmentów z ESP32 i przyciskiem

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

  • Mikrokontroler ESP32
  • Wyświetlacz siedmiosegmentowy
  • Naciśnij przycisk
  • Tablica chleba
  • Przewody zworki

Interfejsy ESP32 z siedmioma wyświetlaczami segmentów w kilku prostych krokach.

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

2: Następnie podłącz ESP32 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 dla ESP32 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 zaprojektować licznik przycisku za pomocą siedmiu segmentów najpierw musimy zaprojektować obwód podany poniżej i podłączyć siedem segmentów za pomocą przycisku i ESP32. Korzystanie z poniższego schematu odniesienia łączy płytę ESP32 z siedmioma segmentowymi wyświetlaczami.

Poniżej znajduje się tabela pinout dla połączenia ESP32 z jednym siedmioma segmentowymi wyświetlaczami. Przycisk jest również podłączony pod adresem D23:

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żej obraz pokazuje sprzęt ESP32 Connect z przyciskiem i Seven Segment:

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: Projektowanie siedmiu segmentów od 0 do 9 za pomocą ESP32 i Pushbutton

Aby zaprojektować licznik w czasie rzeczywistym od 0 do 9 za pomocą ESP32, potrzebny jest przycisk. Pushbutton wyśle ​​sygnał na cyfrowy pin ESP32, który wyświetli cyfrę na siedmiu segmentach. Za każdym razem, gdy przycisk jest naciśnięty, jedna cyfra jest zwiększana do siedmiu segmentów.

6.1: Kod

Otwórz IDE i połącz ESP32. Następnie prześlij dany kod siedmiu segmentu do ESP32:

#Include "sevseg.H " /*zawiera siedem biblioteki segmentowej* /
SEVSEG SEVSEG; /*Zmienna siedmiu segmentu*/
int State1; /*Zmienna do przechowywania stanu pushbutton*/
int count = 0; /*Zmienna, która będzie przechowywać wartość licznika*/
#Define Button1 23 / *ESP32 Pin dla PushButton * /
void setup ()
pinmode (przycisk1, input_pullup); /*Przypisz przycisk jako wejście*/
bajt sevensegments = 1; /*Liczba siedmiu segmentów, których używamy*/
bajt commonpins [] = ; /*Zdefiniuj wspólne szpilki*/
BYTE LEDSEGTERPINS [] = 15, 2, 4, 5, 18, 19, 21; /*ESP32 cyfrowe piny zdefiniowane dla siedmiu segmentowych sekwencji Pin A do G*/
Bool ResistorSonsegments = true;
SEVSEG.początek (common_anode, sevensegments, commonpins, ledsegmentPins, respesoronseGments);/ *konfiguracja siedmiopasmowej */
SEVSEG.setBrightness (80); /*Jasność siedmiu segmentów*/

void Loop ()
State1 = DigitalRead (Button1); /*Przeczytaj pushbutton State*/
if (state1 == Low) /*niski stan po naciśnięciu przycisku naciśnięcia* /
count ++; /*Zwiększ wartość wyświetlania o 1*/
SEVSEG.setNumber (Count); /*wyświetl wartość liczby*/
SEVSEG.RefreshDisplay (); / *Odśwież 7-segment */
opóźnienie (200);

if (count == 10)

Count = 0;

SEVSEG.setNumber (count);/*wyświetl wartość liczby*/
SEVSEG.RefreshDisplay ();/* odśwież 7-segment*/

Kod zaczął od dzwonienia SEVSEG biblioteka. Tutaj stworzyliśmy dwie zmienne State1 I liczyć. Obie te zmienne będą przechowywać obecny stan pchania i siedmiu segmentów.

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.

Następnie, ponieważ używamy Wspólna anoda Typ, więc zdefiniowaliśmy go w kodzie.

W przypadku Wspólna katoda Zastąp go poniżej kodu.

W końcu Jeśli Stosuje się warunek, który sprawdzi bieżący stan pushButton i za każdym razem, gdy naciśniemy przycisk, wartość jest zwiększana 1. To będzie trwa do liczyć Wartość zmienna staje się 10. Następnie zostanie ponownie zainicjowany od 0.

6.2: Wyjście

Wyjście pokazuje cyfry wydrukowane od 0 do 9.

Wniosek

Podsumowując, używając ESP32 z przyciskiem i kodem Arduino, możemy łatwo kontrolować stan każdego segmentu na wyświetlaczu siedmiosegmentowym, umożliwiając tworzenie niestandardowego licznika w czasie rzeczywistym do tworzenia interaktywnych projektów za pomocą przycisku naciśnięcia.