Arduino – Rejestr przesuwny 74HC595

W pewnym momencie dojdziesz lub już doszedłeś do etapu gdzie, nie masz wystarczająco dużo wyjść w swoim Arduino, aby ich wystarczyło do twojego projektu lub prototypu. Rozwiązanie tego problemu jest banalnie proste, wystarczy zastosować rejestr przesuwny.

Rejestr przesuwny pozwala nam na zwiększenie liczby pinów z jakich możemy korzystać w naszym Arduino (lub innym mikrokontroler).

 

Do wykonania będą nam potrzebne następujące elementy:

– Arduino np. Arduino UNO,
– Rejestr przesuwny 74HC595
– Rezystor 220Ω x 8,
– Dioda LED czerwona x 2
– Dioda LED żółta x3
– Dioda LED zielona x3
– Płytka stykowa
– Kable do połączenia wszystkiego.

Schemat ideowy:

Rejestr przesuwny 74HC595

Schemat połączeń z Arduino:

Rejestr przesuwny 74HC595

 

Program:
/*
Using a 74HC595 Shift Register by swistak / misza
*/

int clockPin = 9;
int latchPin = 10;
int dataPin = 11;
byte leds = 0;
int currentLED = 0;

void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);

leds = 0;
}

void loop()
{
leds = 0;

if (currentLED == 7)
{
currentLED = 0;
}
else
{
currentLED++;
}

bitSet(leds, currentLED);

digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
/*
TIME LED
*/
delay(250);
}

Post Author: swistak

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Potwierdz, że nie jesteś botem. *