ciao, sulla guida arduino.cc shiftout ho letto di mettere un condesatore in parallelo al latchPin verso terra. però se devono accendersi tutti e otto gli ultimi led non si accendono... senza effettivamente ci sono dei sfarfallamenti. qualcuno ha qualche consiglio?
Secondo me è un problema di collegamenti o software.
Se hai fatto il circuito su breadboard verifica che non ci sono falsi contatti; inoltre metti un condensatore da 100uF in parallelo ai pin di alimentazione della breadboard e un altro da 100nF più vicino possibile ai pin di alimentazione dello shift register (questo è fondamentale).
Nella pagina ci sono diversi esempi, quale hai fatto? Hai apportato modifiche allo sketch?
Comunque è SHIFTOUT no SHITOUT ![]()
io ne uso 3 collegati in serie ed è tutto pefetto.... ho fatto i collegamenti esattamente come da qui
il terzo è collegato esattamente come il secondo ....
i comandi li invio con una funzione che esegue quanto sotto riportato .....
void esegui_azione(byte azione1, byte azione2, byte azione3)
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, azione3); // shiftOut(dataPin, clockPin, MSBFIRST, value); terzo blocco di 8 comandi
shiftOut(dataPin, clockPin, LSBFIRST, azione2); // shiftOut(dataPin, clockPin, MSBFIRST, value); secondo blocco di 8 comandi
shiftOut(dataPin, clockPin, LSBFIRST, azione1); // shiftOut(dataPin, clockPin, MSBFIRST, value); primo blocco di 8 comandi
digitalWrite(latchPin, HIGH);
}
ciao