Controlarea a 8 LED-uri folosind 3 pini de la microcontroler cu Arduino
Am cumpărat un circuit de control a 8 LED-uri si am decis sa ma joc un pic cu el sa vad ce poate sa facă.
Descrierea de mai jos am preluat-o de pe site-ul www.robofun.ro si mi-am creat un circuit bazat pe conceptul Arduino:
"Driver bazat pe chip-ul TPIC6B595, capabil sa ofere 8 canale de iesire cu maximum 150 mA per ieșire. Controlul chip-ului se face folosind 3 pini (DATAIN, LATCH, CLOCK). In plus, plăcile pot fi inlantuite foarte usor, permițând astfel sa controlezi un număr practic nelimitat de dispozitive (limitarea apare doar datorita rezistentei parazite a cablajului si a conectorilor, dar poți înlănțui cel puțin câteva zeci de dispozitive fără niciun fel de probleme).
Ca sa controlezi led-urile atașate pe cele 8 ieșiri, trebuie sa conectezi la un microcontroller (de exemplu Arduino) cei 3 pini de control, la pini digitali. Apoi, ca sa aprinzi al 3-lea led (spre exemplu) va trebui sa scrii pinul DATAIN acel număr care în binar este reprezentat cu un bit 1 pe poziția 3 și 0 în rest (adică "00100000" în binar, adică 32 în baza zece). Dacă vrei sa aprinzi toate led-urile, trebuie sa scrii acel număr care are toți biții 1 în binar ("11111111" în binar, adică 255 în baza zece). Trebuie sa fii atent la numerotarea pinilor de ieșire prezentata în schema de mai jos. Pentru un exemplu de cod, vezi mai jos."
Codul sursa este următorul:
int latchPin = 5;
int clockPin = 6;
int dataPin = 7;
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
for (int numberToDisplay = 0; numberToDisplay < 255; numberToDisplay++) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay);
digitalWrite(latchPin, HIGH); delay(300);
}
}
Chip-ul TPIC6B595
Teoria e frumoasă :) .... dar practica e si mai frumoasă dacă totul funcționează cum trebuie. În funcție de cele trei intrări dataPin,clockPin și latchPin va activa cele 8 ieșiri. Eu am folosit ieșirile pentru a aprinde 8 LED-uri dar se pot controla chiar și relee sau motoare.Simbolul logic al chip-ului TPIC6B595 este următorul:
Montajul pe placă
Și am purces la treabă ... am creat o placă de test să mă conving că funcționează conform cu datasheet-ului. Merge chiar bine și asta îmi dă speranțe pentru un proiect cu mai multe LED-uri( poate vreo 10x10).
Placa arată cam așa:
Linkuri ajutătoare:
Foaia de catalog a chip-ului TPIC6B595TPIC6B595 Troubles
O seară plăcută tuturor !