Hvordan lage digital teller ved hjelp av 7 segment med Arduino Uno

Hvordan lage digital teller ved hjelp av 7 segment med Arduino Uno
En 7-segment-skjerm kan brukes til å vise en begrenset mengde data som har numeriske verdier og alfabeter. Slike typer skjermer brukes mest i banker, sykehus, supermarkeder for å vise tokentall og tellernumre. Så vi har også laget en digital teller ved hjelp av 7-segment-skjermen med Arduino Uno.

Hvordan lage digital teller ved hjelp av 7-segment med Arduino Uno

For å designe en digital teller først må vi lage en krets, og før det trenger vi komponentene som kreves for å lage kretsen. Vi har gitt skjemaet over kretsen designet for digital teller etter listen over nødvendige komponenter som brukes til å lage den digitale telleren:

  • Arduino Uno
  • Koble til kabler
  • Brødbrett
  • 7-segmentskjerm
  • 3 trykknapper

Maskinvareenhet for å lage den digitale terningen ved hjelp av 7-segmentet med Arduino

Bildet nedenfor viser maskinvarenheten for kretsen designet for å lage en digital teller. Fra bildet kan du tydelig forstå hvordan vi har koblet sammen komponentene.

For å lage en digital teller har vi brukt tre trykknapper, en for økning, en for Decrement og den tredje for å tilbakestille 7-segmentet. For å koble trykknappene med Arduino UNO har vi brukt pinnene 11, 10 og 9, og på bildet kan disse tilkoblingene identifiseres med gule, grå og blå fargekabler.

For å koble 7-segment-skjermen med Arduino har vi brukt 220-OHM-motstand for hver pinne på skjermen, og pinnene på skjermen er koblet til Arduino som starter fra A til G etter den alfabetiske rekkefølgen ved å bruke Arduino-pinner fra 2 til 8. Tilkoblingene til de øvre pinnene er representert med den grønne fargetråden, og tilkoblingene for de nedre pinnene er representert med den brune fargetråden.

Arduino -kode for å lage digital teller ved hjelp av 7 segment med Arduino Uno

For å programmere Arduino-koden for å lage den digitale telleren ved hjelp av 7-segment er gitt nedenfor

#include "sevseg.h "// Definere biblioteket for syv-segmentet
Sevsegsevseg; // initialisere variabelen for syv-segment
int state1;/* variabel for lagring av tilstanden til økningsknappen*/
int state2;/* variabel for lagring av tilstanden til decrement -knappen*/
int state3;/* variabel for lagring av tilstanden til tilbakestillingsknappen*/
int count = 0;/* variabel for lagring av tellerverdien*/
#Define Button1 11/ * tilordne Arduino -pinnen for inkrement -knappen */
#Define Button2 10/ * tilordne Arduino -pinnen for Decrement -knappen */
#Define Button3 9/ * tilordne Arduino -pinnen for tilbakestillingsknapp */
ugyldig oppsett ()

/* tilordne PIN -modus til trykknappene*/
pinmode (knapp1, input_pullup);
pinmode (knapp2, input_pullup);
pinmode (knapp3, input_pullup);
/* Definere konfigurasjonen av 7-segmentet*/
Byte Sevensegments = 1;/ *Definere antall syv-segmenter her bruker vi bare ett syv-segment */
byte CommonPins [] = 12;/* Definere de vanlige pinnene for syv-segmentet*/
Byte LedSegmentPins [] = 2, 3, 4, 5, 6, 7, 8;/ * Tilordne Arduino -pinnene for hvert segment fra A til G */
Bool ResistorsSeagments = True; /*tilordne boolsk type til registerene til Seven = segmentet*/
sevseg.Begynn (Common_anode, Sevensegments, Commonpins, LedSegmentPins, ResistorsSeagments);/ * Initialisering av konfigurasjonen av syv-segmentet */
sevseg.setBrightness (80); // Gi lysstyrken til syv-segmentet

ugyldig sløyfe ()

/* Lese tilstandene til trykknappene*/
State1 = DigitalRead (Button1);
State2 = DigitalRead (Button2);
State3 = DigitalRead (Button3);
if (state1 == lav) / * Hvis inkrement -knappen trykkes * /
telle ++; / *økning av en i verdien */
sevseg.setNumber (count);/*Vis telleverdien*/
sevseg.Refreshdisplay ();/ * Forfrisking av 7-segmentet */
forsinkelse (200);

ellers hvis (state1 == høy) / * Hvis inkrement -knappen ikke trykkes * /
sevseg.setNumber (count);/*Vis telleverdien*/
sevseg.Refreshdisplay ();/ * Forfrisking av 7-segmentet */

forsinkelse (200);
if (state2 == lav) / * Hvis reduksjonsknappen ikke trykkes */
telle-;/ *reduksjon av en i verdien */
sevseg.setNumber (count);/*Vis telleverdien*/
sevseg.Refreshdisplay (); / * Forfrisking av 7-segmentet */
forsinkelse (200);

ellers hvis (state2 == høy) / * Hvis reduksjonsknappen ikke trykkes * /
sevseg.setNumber (count);/*Vis telleverdien*/
sevseg.Refreshdisplay ();/ * Forfrisking av 7-segmentet */

if (state3 == lav) / * Hvis tilbakestillingsknappen ikke trykkes */
telle = 0;/ * Oppdater tellingen til null */
sevseg.setNumber (count);/*Vis telleverdien*/
sevseg.Refreshdisplay (); / * Forfrisking av 7-segmentet */
forsinkelse (200);

For å lage en digital teller ved hjelp av et 7-segment må vi først programmere mikrokontrolleren. For det har vi først definert biblioteket for skjermen og noen nødvendige variabler for trykknapper og lagring av tellerverdiene. I installasjonsseksjonen har vi definert konfigurasjonen av 7-segment-skjermen, og vi har brukt tre trykknapper i den digitale telleren. For å konfigurere trykknappene, har vi brukt om andre forhold som brukes til å øke, redusere og tilbakestille motverdiene.

For å oppsummere arbeidet med Arduino -programmet kan vi si at telleren fungerer på grunnlag av tre trykknapper. Ved hjelp av trykknappene kan vi endre verdiene til telleren.

Maskinvareimplementering av digital teller ved bruk av 7-segment med Arduino Uno

Bildet nedenfor viser maskinvaren som er opprettet i henhold til maskinvarenheten beskrevet ovenfor:

For å vise arbeidet med Arduino -koden som ble brukt for mikrokontrolleren, har vi lagt til en animasjon nedenfor:

Konklusjon

7-segment-skjermen brukes mest i applikasjonene der vi må vise en begrenset mengde informasjon enten i numerisk eller ved hjelp av alfabetene. Så i denne guiden har vi også brukt en 7-segment-skjerm for å lage en digital teller ved hjelp av tre trykknapper. For hjelp fra leseren har vi også gitt den respektive Arduino -koden og maskinvaresimulering.