Grensesnitt syv segment display med Arduino nano

Grensesnitt syv segment display med Arduino nano
Arduino Nano 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 en Arduino Nano-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 av syv-segmenter
  • 4: Hvordan sjekke en syv-segment er vanlig anode eller vanlig katode
  • 5: grensesnitt til syv-segment med Arduino nano
  • 5.1: Skjematisk
  • 5.2: Maskinvare
  • 5.3: Installere det nødvendige biblioteket
  • 6: Kontroller syv-segment ved hjelp av bibliotek med Arduino Nano
  • 6.1: Kode
  • 6.2: Output
  • 7: Kontroller syv-segment uten å bruke bibliotek Arduino Nano
  • 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 Arduino-mikrokontroller for å kontrollere en syv-segment-skjerm, sender Arduino 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 av syv-segmenter

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 tilkoblet.

2: I en Vanlig anode Display, alle positive terminaler i LED -segmentene er tilkoblet.

4: Hvordan sjekke en 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 noen av segmentene lyser, 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 Arduino nano

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

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

Arduino nano 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. Arduino nano vil bli brukt til å sende signaler til den 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 Arduino Nano, bør 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 Arduino Nano. Bruke referanseskjema nedenfor kobler Arduino Nano-brettet med en syv-segment-skjerm.

Etter Pinout-tabellen for Arduino Nano-tilkobling med en enkelt syv-segment-skjerm:

PIN-kode PIN -navn Arduino Nano Pin
1 b D3
2 en D2
3 Com GND/VCC avhenger av konfigurasjon - vanlig katode/anode
4 f D7
5 g D8
6 DP Dot LED -pin
7 c D4
8 Com GND/VCC avhenger av konfigurasjon - vanlig katode/anode
9 d D5
10 e D6

5.2: Maskinvare

Under bildet viser maskinvaren til Arduino nano 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 Arduino Nano med syv-segmenter. Gå til Library Manager -søk etter Sevseg Bibliotek og installer den i Arduino IDE:

6: Kontroller syv-segment ved hjelp av bibliotek med Arduino Nano

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

6.1: Kode

Åpne IDE og last opp den gitte koden til Arduino Nano:

#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 [] = 2, 3, 4, 5, 6, 7, 8; /*Definer Arduino 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 Arduino Nano. LED -segmentpinner er definert for Arduino Nano -tavler. Endre pinnen i henhold til typen Arduino Nano du bruker.

Enhver av Arduino Nano digitale pinner kan brukes. Neste når vi bruker Vanlig anode Type, så vi har definert den inne i koden:

I tilfelle Vanlig katode Bytt den ut med kode nedenfor:

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 Arduino Nano

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 Arduino Nano. Etter det last opp den gitte syv-segmentkoden til Arduino Nano:

int Segpins [] = 2, 3, 4, 5, 6, 7, 8;/*Arduino-pinne 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 Arduino Nano 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 ugyldig sløyfe () 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 i syv-segmenter.

Konklusjon

Avslutningsvis er det en enkel prosess som kan gjøres med noen få grunnleggende materialer og litt programmeringskunnskapskunnskap. Med en Arduino Nano 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.