Prowadzenie 7 segmentów za pomocą Shift Arduino i rejestruj 10HCTOP 105

Prowadzenie 7 segmentów za pomocą Shift Arduino i rejestruj 10HCTOP 105
Zastosowanie wyświetlaczy do wyświetlania wejść i wyjść projektu Arduino może się różnić w zależności od rodzaju danych. Aby wyświetlić ograniczoną ilość danych, można użyć 7 segmentu, ale te wyświetlacze mają dużą liczbę pinów, które mogą zabrać wiele cyfrowych pinów płyty Arduino, pozostawiając przestrzeń dla innych urządzeń.

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:

  • 7-segmentowy wyświetlacz
  • Tablica chleba
  • Arduino Uno
  • Łączenie przewodów
  • 74HC595 Rejestr zmiany
  • 7 220-OHM RESTORSO

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:

  • Aby podłączyć 7-segment z rejestrem zmiany biegów, podłączyliśmy pin „A” 7-segment z pinem 15 i kontynuować podłączanie pinów w kolejności alfabetycznej do „g” za pomocą szarego drutu.
  • Aby podłączyć styk danych rejestru przesunięcia z Arduino UNO, użyliśmy fioletowego przewodu, który łączy się z pinem 4 Arduino.
  • Użyliśmy białego drutu do podłączenia pinu zatrzasku rejestru przesunięcia za pomocą Arduino Uno za pomocą pinu 5.
  • Brązowy drut służy do podłączenia pinu zatrzasku rejestru przesunięcia z Arduino Uno za pomocą pinu 6.
  • Do zasilania obwodu użyliśmy zasilania 5-woltów z Arduino UNO, a połączenia są reprezentowane przez czerwone i czarne przewody.

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.