Grensesnitt syv segment display med esptop 10 ved bruk av arduino ide

Grensesnitt syv segment display med esptop 10 ved bruk av arduino ide

ESP32 er en populær åpen kildekode-elektronikkplattform som kan brukes til å kontrollere og samhandle med et bredt utvalg av elektroniske enheter, inkludert syv-segment-skjermer. 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
  • 5.1: Skjematisk
  • 5.2: Maskinvare
  • 5.3: Installere det nødvendige biblioteket
  • 6: Kontroller syv segment ved hjelp av bibliotek med ESP32
  • 6.1: Kode
  • 6.2: Output
  • 7: Kontroller syv segment uten å bruke bibliotek ESP32
  • 7.1: Kode
  • 7.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 syv-segmenter 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.

Dette gjøres ved å skrive et program på Arduino IDE (Integrated Development Environment) ved bruk av C ++ programmeringsspråk. Programmet bruker Arduino -biblioteket for å kontrollere tilstanden til hvert segment med enkle kommandoer. Programmet kan også settes opp for å vise forskjellige numeriske tegn basert på inngang fra sensorer eller brukerinteraksjon.

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 - vanlig katode/anode
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 - vanlig katode/anode
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: Typer på syv segment

Det er to hovedtyper av syv-segmenter:

  • Vanlig katode
  • Vanlig anode.

1: I en Vanlig katode Display, alle de negative terminalene i LED -segmentene er koblet sammen.

2: I en Vanlig anode Display, alle positive terminaler i LED -segmentene 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-segmentskjerm:

  1. Hold syv-segment-displayet godt i hånden og identifiser PIN 1 Bruke pinout forklart ovenfor.
  2. Ta et multimeter. Anta rød bly for positivt (+) og svart bly av multimeter for negativ (-).
  3. Sett multimeter til kontinuitetstest.
  4. Etter den sjekken av måleren kan sjekkes ved å berøre både positive og negative ledninger. 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 bly 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 ledelsen 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 displayet 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 noe av segmentets glød, er skjermen din en Vanlig anode, Som vanlig anode er den positive pinnen vanlig, og resten er koblet til en 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 bly er på com pin 8 og svart er på segment pin, så vi bruker Vanlig anode syv-segment:

5: grensesnitt til syv segment med ESP32

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

  • En ESP32 mikrokontroller
  • En syv-segment-skjerm
  • En brødplate
  • Jumper ledninger

ESP32 grensesnitt med syv-segment-skjermer i flere enkle trinn.

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

2: Deretter kobler du Arduino Nano 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 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 å programmere syv-segmenter først må vi designe kretsen og koble den til ESP32. Bruke referanseskjema nedenfor kobler til ESP32-brettet.

Etter pinout-tabellen for ESP32-tilkobling med en enkelt syv-segment-skjerm:

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 og syv-segment:

5.3: Installere det nødvendige biblioteket

Etter tilkobling av 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: Kontroller syv segment ved hjelp av bibliotek med ESP32

Etter å ha installert biblioteket, skriver vi en Arduino -kode ved hjelp av det samme biblioteket.

6.1: Kode

Åpne IDE og laste opp gitt kode til ESP32:

#include "sevseg.H " /*Inkludert syv-segmentbibliotek* /
Sevseg sevseg; /*Opprett et syv-segmentbibliotek*/
ugyldig oppsett ()

byte sevensegments = 1; /*Antall tilkoblet syv-segment*/
byte CommonPins [] = ; /*Definere vanlig pinne av syv-segment*/
Byte LedSegmentPins [] = 15, 2, 4, 5, 18, 19, 21; /*Definer ESP32 digitale pinner for syv-segment*/
Bool ResistorsSeagments = True; /*tilordne boolsk type til registerene til Seven = segmentet*/
sevseg.Begynn (Common_anode, Sevensegments, Commonpins, LedSegmentPins, ResistorsSeagments);/ *Syv-segmentkonfigurasjon */
sevseg.setBrightness (80); /*Syv segment lysstyrke*/

ugyldig sløyfe ()

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

sevseg.setNumber (i);
sevseg.Refreshdisplay (); /*Oppdater syv-segment-visning etter hver iterasjon*/
forsinkelse (1000); /*Tidsforsinkelse for sløyfe -iterasjon*/

Kode startet med å ringe Sevseg bibliotek. 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 som vi bruker den vanlige anodetypen, så vi har definert den inne i koden.

I tilfelle av vanlig katode erstatter den med kode under:

Endelig a til Loop brukes som viser sifre fra 0 til 9 og oppdater skjermen hver gang et tall vises:

6.2: Output

Vi kan se syv-segmenter som viser tall fra 0 til 9:

7: Kontroller syv segment uten å bruke bibliotek med ESP32

For å kontrollere syv-segmenter uten noe bibliotek må vi definere tallene manuelt i Arduino-koden i deres binære representasjon.

7.1: Kode

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

int segpins [] = 15, 2, 4, 5, 18, 19, 21;/*esp32 pin for syv-segment*/
byte segcode [10] [7] = /*matrise av nummer 0-9 i rekkefølge fra a av g* /
// a b c d e f g
0, 0, 0, 0, 0, 0, 1, /*Display 0* /
1, 0, 0, 1, 1, 1, 1, /*Display 1* /
0, 0, 1, 0, 0, 1, 0, /*Display 2* /
0, 0, 0, 0, 1, 1, 0, /*Display 3* /
1, 0, 0, 1, 1, 0, 0, /*Display 4* /
0, 1, 0, 0, 1, 0, 0,, /*Display 5* /
0, 1, 0, 0, 0, 0, 0, /*Display 6* /
0, 0, 0, 1, 1, 1, 1, /*Display 7* /
0, 0, 0, 0, 0, 0, 0, /*Display 8* /
0, 0, 0, 0, 1, 0, 0, /*Display 9* /
;
void displayDigit (int siffer) /*funksjon for å initialisere hvert segment* /

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

DigitalWrite (Segpins [A], Segcode [Digit] [A]);/ * Instruere de respektive segmentene for tallene fra 0 til 9 */


ugyldig oppsett ()

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

pinmode (segpins [a], utgang);


ugyldig sløyfe ()

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

displayDigit (b);/*Vis tallene som genereres*/
forsinkelse (1000);

I ovennevnte kode definerte vi de digitale pinnene for ESP32 der syv-segmenter vil bli tilkoblet. En matrise initialiseres for å definere tallet fra 0 til 9.

Neste inne i matrisen er alle 10 sifrene fra 0 til 9 definert i sin binære representasjon.

Neste i ugyldig oppsett () Del A for sløyfe er definert. Dette for loop ved hjelp av pinmode Funksjonen angir syv-segmentpinnene som utgang.

Endelig i tomrom Løkke() Funksjon en annen for loop er definert som vil generere et tall fra 0 til 9 hver gang programmet kjører.

7.2: Output

Her kan vi se alle tall som er definert i koden ved hjelp av deres binære ekvivalent vises på syv-segmenter:

Konklusjon

Avslutningsvis er det en enkel prosess som kan gjøres med noen få grunnleggende materialer og litt programmeringskunnskap som kan gjøres med en SEV-segment-skjerm med en ESP32-mikrokontroller. Med en ESP32- og Arduino-kode kan du enkelt kontrollere tilstanden til hvert segment i en syv-segment-skjerm, noe som gir mulighet for å lage tilpassede numeriske skjermer og andre interaktive prosjekter.