Aby zaspokoić takie problemy, można użyć rejestrów zmiany, które mogą zapisać szpilki tablicy Arduino dla innych urządzeń. Omówiliśmy, w jaki sposób łączymy 7-segment z Arduino za pomocą rejestru Shift.
7 segmentów z Arduino za pomocą rejestru zmiany
Jak wyjaśniono wcześniejsze rejestry zmiany, gdy liczba urządzeń, które mają być połączone z mikrokontrolerem, jest duża. Aby połączyć 7-segment z Arduino za pomocą rejestrów Shift, będziesz wymagać następujących elementów:
Aby użyć rejestru zmiany do interfejsu 7-segmentu z Arduino UNO, zaprojektowaliśmy obwód, którego schemat podano poniżej, który używa listy komponentów podanych powyżej.
Zespół sprzętu do korzystania z rejestru zmiany w Arduino dla wyświetlacza 7-segmentowego
Przed wdrożeniem obwodu na faktycznym sprzęcie stworzyliśmy zespół sprzętu, który pomoże w nawiązywaniu połączeń komponentów na rzeczywistych sprzętach. Poniżej podanego obrazu pokazuje zespół sprzętu do używania rejestru przesunięcia w Arduino do interfejsu 7-segmentu z nim.
Połączenia dla 7 segmentów z rejestrem Shift są dość proste, jeśli śledzisz numery PIN rejestru zmiany. Wyjaśniliśmy połączenia obwodu w następujących punktach:
Program Arduino do korzystania z rejestru zmiany do interfejsu 7-segment z Arduino Uno
Aby połączyć 7-segment z Arduino za pomocą rejestru zmiany, musimy zaprogramować mikrokontroler, który podano poniżej:
const int data = 4; // PIN arduino dla danych danych rejestru zmiany
const int zatrzekanie = 5; // PIN Arduino dla pinu zatrzaskowego rejestru zmiany
const int clock = 6; // szpilka Arduino dla pinu zegara rejestru zmiany
const char common = „c”; // 7-segment ze wspólną katodą
void setup ()
// Przypisanie trybów roboczych do pinów rejestru zmiany
pinmode (dane, wyjście);
pinmode (zatrzask, wyjście);
pinmode (zegar, wyjście);
void Loop ()
dla (int i = 0; i <= 9; i++) // for loop to generate number from 0 to 9
bajtowe bity = binarne (i); / * wykryć binarny podany dla odpowiedniej liczby z przypadków podanych poniżej */
wyświetlacz (bity); // Wyświetlanie liczb na 7-segment
opóźnienie (500);
void wyświetlacz (bajt ośmioro)
if (common == 'c') // jeśli konfiguracja jest wspólną katodą
osiembits = osiembits ^ b11111111; // następnie zmień bity na 0 na 1
DigitalWrite (zatrzask, niski); // Przygotowanie rejestru zmiany do danych
shiftout (dane, zegar, lsbfirst, osiembits); /* wysyłanie danych do 7Segmnet, zaczynając od najmniej znaczącego bitu*/
DigitalWrite (zatrzask, High); / * Wyświetlanie danych w segmencie 7
/ *Przypadki wykrywania binarnego liczb wygenerowanych od 0 do 9 */
bajt binary (liczba int)
przełącznik (numer)
Przypadek 0:
return B11111100; // jeśli 0 jest generowane, wówczas binarny dla zero
przerwa;
przypadek 1:
powrót B01100000; // Jeśli 1 jest generowane, to podawanie binarne dla jednego
przerwa;
Przypadek 2:
return B11011010; // Jeśli 2 jest generowane, wówczas podawanie binarne dla dwóch
przerwa;
Przypadek 3:
return B11110010; // Jeśli 3 jest generowane, to podawanie binarne dla trzech
przerwa;
Przypadek 4:
powrót B01100110; // Jeśli 4 jest generowane, wówczas podawanie binarne dla czterech
przerwa;
Przypadek 5:
return B10110110; // Jeśli 5 jest generowane, wówczas daje binarny dla pięciu
przerwa;
Przypadek 6:
return B10111110; // Jeśli 6 jest generowane, wówczas podawanie binarne dla sześciu
przerwa;
Przypadek 7:
powrót B11100000; // Jeśli 7 jest generowane, wówczas daje binarny dla siedmiu
przerwa;
Przypadek 8:
powrót B11111110; // Jeśli 8 jest generowane, wówczas podawanie binarne dla ośmiu
przerwa;
Przypadek 9:
return B11110110; // jeśli 9 jest generowane, to daje binarny dla dziewięciu
Kontrolując pin z rejestrem zmiany biegów, możemy wysłać dane z Arduino do 7-segmentu. Tak więc, gdy pin zatrzasny jest w niskim stanie, otrzymuje dane, a następnie gdy pin idzie w wysokim stanie, wysyła dane dalej.
Do generowania liczb użyliśmy pętli dla i na każdej iteracji pętli stan zatrzasku jest zmieniany za pomocą funkcji DigitalWrite () i dla każdej liczby, którą podaliśmy binarny, który włączy diodę LED 7 -Odpowiednio segmenty.
Demonstracja sprzętowa do korzystania z rejestru zmiany w Arduino do interfejsu 7-segmentu
Zaimplementowaliśmy obwód na tablicy chleba, aby połączyć się z 7 segmentami za pomocą rejestru zmiany w Arduino UNO zgodnie z zespołem sprzętowym, który opisaliśmy wcześniej. Aby zademonstrować, podaliśmy animowany GIF poniżej:
Wniosek
Rejestry zmian mają ogromne znaczenie w projektach, w których istnieje duża liczba urządzeń do użycia z Arduino. Interfejsowaliśmy 7-segmentowy wyświetlacz z Arduino za pomocą rejestru zmiany, który zmniejsza użycie pinów Arduino z 6 do 3. Zapewniliśmy również schemat obwodu, montaż sprzętu i kodu Arduino, które pomogą ci zrozumieć koncepcję korzystania z rejestru zmiany.