Digital teller med syv segment og en trykknapp ved hjelp av esptop 10 og Arduino IDE

Digital teller med syv segment og en trykknapp ved hjelp av esptop 10 og Arduino IDE
ESP32 er en kompakt kraft som bevarer mikrokontroller som har en rekke GPIO -pinner som lar oss grensesnitt sammen med mange sensorer. ESP32 kan samhandle med et bredt utvalg av elektroniske enheter, inkludert syv segmentskjermer. Ved å bruke ESP32 mikrokontroller er det mulig å enkelt kontrollere tilstanden til hvert segment i en syv-segment-skjerm, noe som gir mulighet for å lage tilpassede numeriske skjermer og andre interaktive prosjekter.

Denne artikkelen dekker etter innhold:

  • 1: Introduksjon til syv segment
  • 2: syv segment pinout
  • 3: Typer på syv segment
  • 4: Hvordan sjekke et syv segment er vanlig anode eller vanlig katode
  • 5: grensesnitt til syv segment med ESP32 og trykknapp
  • 5.1: Skjematisk
  • 5.2: Maskinvare
  • 5.3: Installere det nødvendige biblioteket
  • 6: Designe en syv segment 0 til 9 teller ved hjelp av ESP32 og trykknapp
  • 6.1: Kode
  • 6.2: Output

1: Introduksjon til syv segment

Et syv-segment kan vise numerisk informasjon ved hjelp av et mikrokontrollerprogram. Den består av syv individuelle segmenter, som hver kan lyses opp eller slås av uavhengig for å lage forskjellige numeriske karakterer.

En syv-segment-skjerm fungerer ved å belyse forskjellige kombinasjoner av de syv segmentene for å vise numeriske tegn. Hvert segment styres av en individuell pin, som kan slås av eller på for å skape ønsket numerisk karakter. Når segmentene er opplyst i riktig kombinasjon, er den numeriske karakteren synlig for betrakteren.

Når du bruker en ESP32-mikrokontroller for å kontrollere en syv-segment-skjerm, sender ESP32 signaler til de spesifikke pinnene på syv-segment-skjermen, og forteller det hvilke segmenter som skal slå på eller på for å vise et spesifikt numerisk tegn.

2: syv segment pinout

Den syv-segment-skjermen har vanligvis 10 pinner, med en pinne for hvert segment, en for desimal og to vanlige pinner. Her er en tabell over den typiske pinout:

PIN-kode PIN -navn Beskrivelse
1 b Øverst til høyre LED -pinne
2 en Topp LED -pinne
3 VCC/GND GND/VCC avhenger av konfigurasjon
4 f Øverst til venstre LED -pinne
5 g Midt LED -pinne
6 DP Dot LED -pin
7 c Nederst til høyre LED -pinne
8 VCC/GND GND/VCC avhenger av konfigurasjon
9 d Bunn LED -pinne
10 e Nederst til venstre LED -pinne

Hvert segment er merket som A B C D E F og g. Den vanlige pinnen brukes vanligvis til å kontrollere alle segmentene samtidig. Den vanlige pinnen er enten aktiv lav eller aktiv høy, avhengig av displayet.

3: syv segmenttyper

Syv segment kan kategoriseres i 2 typer:

  • Vanlig katode
  • Vanlig anode.

1: I en Vanlig katode Alle negative LED -segmentterminaler er tilkoblet.

2: I en Vanlig anode Syv segment Alle positive LED -segmentterminaler er tilkoblet.

4: Hvordan sjekke et syv segment er vanlig anode eller vanlig katode

For å sjekke typen syv segmenter trenger vi bare et enkelt verktøy - Multimeter. Følg trinnene for å sjekke typen syv segmentvisning:

  1. Hold syv-segment-displayet godt i hånden og identifiser PIN 1 Bruke pinout forklart ovenfor.
  2. Ta et multimeter. Anta en rød sonde for positivt (+) og svart sonde av et multimeter for negativt (-).
  3. Sett multimeter til kontinuitetstest.
  4. Etter den sjekken av måleren kan sjekkes ved å berøre både positive og negative sonder. En pipelyd vil bli produsert hvis måleren fungerer som den skal. Ellers bytt ut batteriene i multimeteret ditt med en ny.
  5. Sett svart sonde på pinne 3 eller 8 av multimeteret. Begge disse pinnene er vanlige og internt tilkoblet. Velg hvilken som helst pinne.
  6. Sett nå den røde eller positive sonden av multimeteret på andre pinner med syv-segmenter som 1 eller 5.
  7. Etter å ha berørt den røde sonden hvis noe segment gløder, er det syv segmentet en Vanlig katode.
  8. Utveksle multimeteret fører hvis ingen segment lyser.
  9. Koble nå den røde ledningen til pinne 3 eller 8.
  10. Etter det satte svart eller negativ bly på de gjenværende pinnene på displayet. Nå hvis noen av segmentene på skjermen lyser, er de syv segmentene Vanlig anode. Som i com anode er alle segmenters positive pinner vanlige, og gjenværende er forbundet med negativ forsyning.
  11. Gjenta trinn for å sjekke alle andre skjermsegmenter en etter en.
  12. Hvis noen av segmentene ikke gløder, vil det være feil.

Her er et referansebilde for en syv-segment-test ved hjelp av en multimeter. Vi kan se at rød sonde er på com pin 8 og svart er på segment pin, så vi bruker Vanlig anode Seven segment:

5: grensesnitt til syv segment med ESP32 og trykknapp

For å grensesnitt en syv-segment-skjerm med en ESP32, trenger du følgende materialer:

  • En ESP32 mikrokontroller
  • En syv-segment-skjerm
  • Trykk på knappen
  • En brødplate
  • Jumper ledninger

ESP32 grensesnitt med syv segmentskjermer i flere enkle trinn.

1: Først må du koble syv-segment-skjermen til brødplaten.

2: Deretter kobler du ESP32 med en syv-segment-skjerm ved hjelp av ledninger. ESP32 vil bli brukt til å sende signaler til syv-segment-skjermen, og forteller det hvilke segmenter som skal slå på eller av.

3: Skriv nå en Arduino -kode for ESP32 i IDE. Programmet må sende signaler til de spesifikke pinnene på den syv-segment-skjermen, og forteller det hvilke segmenter som skal slå på eller på for å vise et spesifikt numerisk tegn.

4: Arduino IDE gir et bibliotek som vi enkelt kan kontrollere tilstanden til hvert segment med enkle kommandoer.

5: Når programmet er skrevet og lastet opp til ESP32, skal den syv-segment-skjermen begynne å vise de numeriske tegnene i henhold til programmet.

5.1: Skjematisk

For å designe en trykknapp -teller ved hjelp av syv segmenter først må vi designe kretsen gitt nedenfor og koble syv segmenter med trykknapp og ESP32. Bruke referanseskjema nedenfor kobler til ESP32 -brettet.

Følgende er Pinout -tabellen for ESP32 -tilkobling med en enkelt syv -segmentskjerm. En trykknapp er også koblet til på D23:

PIN-kode PIN -navn ESP32 PIN
1 b D2
2 en D15
3 Com GND/VCC avhenger av konfigurasjon - vanlig katode/anode
4 f D19
5 g D21
6 DP Dot LED -pin
7 c D4
8 Com GND/VCC avhenger av konfigurasjon - vanlig katode/anode
9 d D5
10 e D18

5.2: Maskinvare

Under bildet viser maskinvaren til ESP32 Connect med trykknapp og syv segment:

5.3: Installere det nødvendige biblioteket

Etter å ha koblet til syv segmenter må vi installere et bibliotek i Arduino IDE. Ved hjelp av dette biblioteket kan vi enkelt programmere ESP32 med syv segmenter.

Gå til Library Manager -søk etter Sevseg bibliotek og installere det i Arduino IDE.

6: Designe en syv segment 0 til 9 -teller ved hjelp av ESP32 og trykknapp

For å designe en sanntidsteller fra 0 til 9 ved hjelp av ESP32 er det nødvendig med en trykknapp. Trykknapp vil sende et signal på den digitale tappen til ESP32 som vil vise et siffer på syv segmenter. Hver gang knappen trykker på, økes ett siffer på syv segmenter.

6.1: Kode

Åpne IDE og koble til ESP32. Etter det last opp den gitte syv segmentkoden til ESP32:

#include "sevseg.h " /*inkluderer syv segmentbibliotek* /
Sevseg sevseg; /*Syv segmentvariabel*/
int state1; /*Variabel for å lagre trykknappen State*/
int count = 0; /*Variabel som vil lagre motverdien*/
#Define Button1 23 / *ESP32 Pin for trykknapp * /
void setup ()
pinmode (knapp1, input_pullup); /*Tildel knappen som inngang*/
byte sevensegments = 1; /*Antall syv segmenter vi bruker*/
byte CommonPins [] = ; /*Definere vanlige pinner*/
Byte LedSegmentPins [] = 15, 2, 4, 5, 18, 19, 21; /*ESP32 Digitale pinner definert for syv segmentsekvensstift A til G*/
Bool ResistorsSeagments = True;
sevseg.Begynn (Common_anode, Sevensegments, Commonpins, LedseGmentPins, ResistorsSeagments);/ *Konfigurasjon av syv-segment */
sevseg.setBrightness (80); /*Lysstyrke på syv segment*/

void loop ()
State1 = DigitalRead (Button1); /*Les trykknappen*//
if (state1 == lav) /*lav tilstand når trykknappen trykkes* /
telle ++; /*Øk visningsverdien med 1*/
sevseg.setNumber (count); /*Vis telleverdien*/
sevseg.Refreshdisplay (); / *Oppdater 7-segment */
forsinkelse (200);

if (count == 10)

telling = 0;

sevseg.setNumber (count);/*Vis telleverdien*/
sevseg.refreshdisplay ();/* oppdater 7-segment*/

Kode startet med å ringe Sevseg bibliotek. Her opprettet vi to variabler State1 og telle. Begge disse variablene vil lagre den nåværende tilstanden til henholdsvis trykknapp og syv segmentverdi.

Etter det definerte vi antall segmenter, vi bruker med ESP32. LED -segmentpinner er definert for ESP32 -brett. Endre pinnen i henhold til typen ESP32 du bruker.

Enhver av ESP32 digitale pinner kan brukes.

Neste når vi bruker Vanlig anode type, så vi har definert det inne i koden.

I tilfelle Vanlig katode Bytt den ut med kode nedenfor.

Endelig en hvis Tilstand brukes som vil sjekke gjeldende tilstand av trykknappen, og hver gang vi trykker på knappen, økes en verdi av 1. Dette vil fortsette til telle Variabel verdi blir 10. Etter det blir det igjen initialisert fra 0.

6.2: Output

Utgangen viser sifre trykt fra 0 til 9.

Konklusjon

Avslutningsvis kan vi bruke ESP32 med trykknapp og Arduino-kode, og kan enkelt kontrollere tilstanden til hvert segment i en syv-segment-skjerm, noe.