Jak korzystać z pierwszego rejestru zmiany 10HCTOP 105 w Arduino

Jak korzystać z pierwszego rejestru zmiany 10HCTOP 105 w Arduino

Wszystkie tablice Arduino są wyposażone w określoną liczbę pinów we/wy, a jeśli istnieje duża liczba urządzeń, które mają być połączone z płytą Arduino, może powstać problem braku pinów. Aby zaspokoić ten problem, istnieją rejestry zmian, przez które możemy zwiększyć liczbę pinów we/wy Arduino. Jak działają te rejestry zmian i jak możemy je wykorzystać z Arduino, dowiedzmy się:

Jak działają rejestry zmiany

Jak opisano powyżej, rejestr przesunięcia służy głównie do rozwiązania niedoboru pinu mikrokontrolera w przypadku, gdy duża liczba urządzeń ma być połączona z mikrokontrolerem. Rejestr przesunięcia przesuwa dane z jednego bitu na drugie w odniesieniu do impulsów zegara rejestru, a dane, które przesuwa, są w nim przechowywane. Istnieją trzy główne szpilki rejestru zmiany: jeden to pin zegarowy, drugi jest pinem zatrzasku, a trzeci.

Konfiguracja PIN pojedynczego rejestru zmiany (74HC595) podano poniżej w tabeli:

Kategoria pinów (od lewej strony gaju) Liczby pin Reprezentacja Opis
Piny wyjściowe 1-7 i 15 Q1 do Q7, Q0 Piny, przy których urządzenie ma być połączone z kontrolerem
Pins Power 8 i 16 GND, VCC Piny, które zasilą rejestr zmiany
Wejście szeregowe 14 (DS) Serin PIN, który odbiera dane od kontrolera poprzez komunikację szeregową
Włącz wyjście 13 Oe Ten pin jest niski, gdy napięcie jest wysokie i odwrotnie
Pin 12 (ST_CP) RCLK Gdy ten pin jest wysoki, dane są wysyłane do pinów wyjściowych i są również przechowywane w pamięci
Pin ze zegarem 11 (Sh_cp) Pin zegarowy dla rejestru zmiany
Zresetować szpilkę 10 (Sh_cp) srclr Używanie pinów do zresetowania rejestru, nadając mu niski stan
Interfejs innych rejestrów 9 Q7s (qh ') Gdy należy użyć więcej niż jednego rejestrów, ten szpilka jest używana

Korzystanie z rejestru zmiany w Arduino

Aby wyjaśnić, w jaki sposób możemy użyć rejestru zmiany w Arduino, pokazaliśmy przykład łączenia wielu diod LED z Arduino Uno za pośrednictwem rejestru zmiany. Oto lista komponentów, których użyliśmy w tym przykładzie:

  • Tablica chleba
  • Łączenie przewodów
  • 8 diod LED
  • Arduino Uno
  • 74HC595 Rejestr zmiany

Zaprojektowaliśmy obwód za pomocą powyższych wymienionych komponentów, a jego schemat podano poniżej:

Zespół sprzętu do korzystania z rejestru Shift w Arduino Uno

Aby zobaczyć, jak będzie wyglądać obwód na tablicy chleba, po raz pierwszy stworzyliśmy montaż sprzętu, jak na zdjęciu poniżej:

Dla twojego zrozumienia wyjaśniliśmy połączenia komponentów używanych w obwodach:

  • Purple Wire pokazuje połączenie styku danych rejestru przesunięcia w Arduino za pomocą pin 4.
  • Biały drut reprezentuje połączenie pinu zatrzasku z Arduino UNO, które jest podłączone do jego pinu 5, podczas gdy brązowy drut służy do podłączenia zegara rejestru przesunięcia z Arduino za pomocą pinu 6.
  • Aby podłączyć diody LED z rejestrem zmiany biegów, użyliśmy szarych przewodów, a uziemienie diod LED odbywa się za pomocą czarnych przewodów.
  • Do podłączenia rejestru zmiany za pomocą zasilania użyliśmy opcji 5-woltowej Arduino z jego pinów zasilających.

Kod Arduino do korzystania z rejestru Shift w Arduino Uno

Aby użyć rejestru zmiany w Arduino, musimy go skonfigurować, programując mikrokontroler, więc poniżej podaliśmy kod:

int Latch = 5; // piny 5 Arduino dla pinu zatrzaskowego rejestru zmiany
int zegar = 6; // piny 6 Arduino dla pinu zegara rejestru zmiany
int data = 4; // PINS 4 Arduino dla danych danych rejestru zmiany
bajt LED = 0; // zmienna, która zapisuje wartość diod LED
void Setup ()

// Przypisanie trybów roboczych do pinów rejestru Shift
pinmode (zatrzask, wyjście);
pinmode (dane, wyjście);
pinmode (zegar, wyjście);

Void Loop ()

LED = 0; // na początku wszystkie diody LED pozostaną w stanie wyłączonym
Shiftregister (); // Włącz następną diodę LED
opóźnienie (500);
dla (int i = 0; i < 8; i++) // loop that will turn the LED one by one

bitset (LED, i); // Przypisanie odpowiednich LED wysokie wartości
Shiftregister (); // wyłącz poprzednią diodę LED
opóźnienie (500);


// funkcja, która zaktualizuje rejestr po każdej iteracji dla pętli
void Shiftregister ()

DigitalWrite (zatrzask, niski);
shiftout (dane, zegar, lsbfirst, LED);
DigitalWrite (zatrzask, High);

Demonstracja sprzętowa

Zaimplementowaliśmy obwód zaprojektowany do interfejsu rejestru zmiany 74HC595 w Arduino UNO zgodnie z zespołem sprzętowym, który opisaliśmy wcześniej. Aby zademonstrować, w jaki sposób obróciliśmy diody LED w wzorze, który podaliśmy poniżej animowanego GIF:

Wniosek

Rejestry zmiany biegów są używane głównie wtedy, gdy musimy zwiększyć piny we/wy mikrokontrolerów, abyśmy mogli z nim połączyć więcej urządzeń. Aby zademonstrować, w jaki sposób możemy użyć rejestru przesunięcia, interfejs 8 diod LED z mikrokontrolerem Arduino za pomocą tylko 3 pinów. W celu dalszego wyjaśnienia podaliśmy schemat obwodu i jego wdrożenie sprzętu wraz z szkicem Arduino używanym do zaprogramowania kontrolera.