Kjører 7 segmenter ved hjelp av Arduino Shift og registrerer topp 10HCTOP 105

Kjører 7 segmenter ved hjelp av Arduino Shift og registrerer topp 10HCTOP 105
Bruken av skjermer for å vise inngangene og utgangene til et Arduino -prosjekt kan variere basert på typen data. For å vise den begrensede datamengden kan 7 -segmentdisplayet brukes, men disse skjermene har et stort antall pinner som kan ta mange digitale pinner i Arduino -brettet som ikke gir noen plass for andre enheter.

For å imøtekomme slike problemer kan skiftregistre brukes som kan lagre pinnene til Arduino -brettet for andre enheter. Vi har diskutert hvordan vi grenser til 7-segmentet med Arduino ved å bruke skiftregisteret.

7 segmenter med Arduino ved hjelp av skiftregisteret

Som forklart tidligere, er skiftregistre godt med når antallet enheter som skal kobles sammen med mikrokontrolleren er stort. For å grensesnitt 7-segmentet med Arduino ved å bruke skiftregistrene, vil du kreve følgende komponenter:

  • 7-segmentskjerm
  • Brødbrett
  • Arduino Uno
  • Koble til ledninger
  • 74HC595 Skiftregister
  • 7 220-OHM-motstander

For å bruke skiftregisteret for å grensesnitt.

Maskinvareenhet for bruk av skiftregisteret med Arduino for 7-segment Display

Før vi implementerer kretsen på den faktiske maskinvaren, har vi laget maskinvarenheten som vil hjelpe til med å lage tilkoblinger av komponentene på den faktiske maskinvaren. Under det gitte bildet viser maskinvarenheten for å bruke skiftregisteret med Arduino for å grensesnitt 7-segmentet med det.

Tilkoblingene for de 7 segmentene med skiftregister er ganske enkle hvis du følger tappnumrene i skiftregisteret. Vi har forklart tilkoblinger av kretsen i følgende punkter:

  • For å koble 7-segmentet med skiftregisteret har vi koblet tapp.
  • For å koble datapinnen til skiftregisteret med Arduino UNO, har vi brukt den lilla ledningen som kobles til pinne 4 i Arduino.
  • Vi har brukt den hvite ledningen for å koble låsestiften til skiftregisteret med Arduino UNO ved hjelp av pinnen 5.
  • Den brune ledningen brukes til å koble låsestiften til skiftregisteret med Arduino UNO ved hjelp av PIN 6.
  • For å drive kretsen har vi brukt 5-volts forsyningen fra Arduino UNO, og tilkoblingene er representert av de røde og svarte ledningene.

Arduino-program for bruk av skiftregisteret til grensesnitt 7-segment med Arduino Uno

For å grensesnitt 7-segmentet med Arduino ved å bruke skiftregisteret, må vi programmere mikrokontrolleren som er gitt nedenfor:

const int data = 4; // Arduino Pin for datapin i skiftregisteret
const int latch = 5; // Arduino Pin for Latch Pin av skiftregisteret
const int clock = 6; // Arduino Pin for klokkepinne av skiftregisteret
const char common = 'c'; // 7-segment med vanlig katode
void setup ()
// tilordne arbeidsmodusene til skiftregisterpinnene
pinmode (data, output);
pinmode (sperre, utgang);
pinmode (klokke, utgang);

void loop ()
for (int i = 0; i <= 9; i++) // for loop to generate number from 0 to 9
bytebiter = binær (i); / * Oppdag det binære gitt for respektive antall fra sakene gitt nedenfor */
skjerm (biter); // vise tallene på 7-segment
forsinkelse (500);


void display (byte åtteBits)
if (vanlig == 'c') // Hvis konfigurasjonen er vanlig katode
åtteBits = åtteBits ^ B11111111; // Bytt deretter bitene fra 0 til 1

digitalwrite (sperre, lav); // utarbeide skiftregister for data
Skift (data, klokke, LSBFIRST, EightBits); /* Sende dataene til 7Segmnet fra minst betydelig bit*/
DigitalWrite (Latch, High); / * Viser dataene på 7 -segmentet */

/ *Tilfeller for å oppdage binæren i tallene som genereres fra 0 til 9 */
byte binær (int -nummer)
bryter (nummer)
sak 0:
return b11111100; // Hvis 0 genereres, så binær for null
gå i stykker;
Sak 1:
return b01100000; // hvis 1 genereres, og gir binær for en
gå i stykker;
sak 2:
return b11011010; // hvis 2 genereres, og gir binær for to
gå i stykker;
sak 3:
return b11110010; // hvis 3 genereres, og gir binær for tre
gå i stykker;
Sak 4:
Returner B01100110; // Hvis 4 genereres, og gir binær for fire
gå i stykker;
Sak 5:
return b10110110; // hvis 5 genereres, og gir binær for fem
gå i stykker;
Sak 6:
return b10111110; // hvis 6 genereres, og gir binær for seks
gå i stykker;
Sak 7:
return b11100000; // hvis 7 genereres, og gir binær for syv
gå i stykker;
Sak 8:
Returner B11111110; // Hvis 8 blir generert, og gir binær for åtte
gå i stykker;
sak 9:
Retur B11110110; // Hvis 9 genereres, og gir binær for ni

Ved å kontrollere låsestiften til skiftregisteret kan vi sende dataene fra Arduino til 7-segmentet. Så når låsestiften er i lav tilstand mottar den dataene, og når pinnen går i høy tilstand sender den dataene videre.

For å generere tallene har vi brukt for -loopen og ved hver iterasjon av loopen blir låsestatus endret ved å bruke DigitalWrite () -funksjonen, og for hvert nummer har vi gitt det binære for det som vil slå på LED for de 7 -Segmenter deretter.

Maskinvaredemonstrasjon for bruk av skiftregister med Arduino for å grensesnitt 7-segmentet

Vi har implementert kretsen på brødtavlen for å grensesnitt 7-segmenter ved hjelp av et skiftregister med Arduino UNO i henhold til maskinvarenheten som vi har beskrevet tidligere. For å demonstrere har vi gitt den animerte GIF nedenfor:

Konklusjon

Skiftregistrene er av stor betydning i prosjektene der det er et stort antall enheter som skal brukes med Arduino. Vi har koblet til 7-segment-skjermen med Arduino ved hjelp av et skiftregister som reduserer bruken av Arduino-pinner fra 6 til 3. Vi har også gitt kretskjema, maskinvareenhet og Arduino -kode som vil hjelpe deg med å forstå konseptet med å bruke skiftregisteret.