Skocz do zawartości

Pomocna odpowiedź

Napisano (edytowany)

Cześć,  byłby ktoś w stanie wytłumaczyć łopatologicznie jak dokładnie dziala rejestr przesuwny (jako rozszerzenie pinów arduino)? Znalazlem w internecie jak to podłączyć,  nawet jakis kod ktory działa ale nie mam pojecia co sie tam dzieje. Jak tym sterować  żeby zapalic konkretną diodę,  czy wymusic miganie na innych. Szukalem dobre pare godzin w necie odpowiedzi i po za jakimś programem ktorego nie rozumiem nic nie znalazlem.

Dziekuje jeżeli znajdzie sie ktos cierpliwy:)

16494485543394849026199041283547.jpg

Edytowano przez EvieLove

@Treker

/*
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);
}

 Ten kod sprawia że diody migaja pokolej jedna po drugiej.  Ale spotkalem sie jeszcze z podobnymi programami lecz z innymi komendami

Do komunikacji z 74hc595 potrzebna jest magistrala SPI. Jest to w sumie komunikacja w jedną stronę, bo rejestr nic ciekawego nam nie odpowiada. Po SPI wysyłasz bity i w zależnosci jak podłączysz Ledy to albo 1 albo 0 włączasz je. Żeby te zmiany nie były widoczne podczas przesyłania danych, przechodzi to przez tzn zatrzask,czyli po przesłaniu danych linie latch wlaczamy na 1 potem na 0. Rejestry można laczyc kaskadowo, czyli połączyć 2 rejestry przesuwne i np sterować linijka 16 ledow. Ogólnie nie brałbym rejestrów przesuwnych pod uwagę jako alternatywne piny mikrokontrolera bo zazwyczaj te piny są tylko wyjściem. Dodatkowe piny można zrealizować używać ekspanderow. 

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...