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