Scusate ragazzi ho un problema con questo codice, praticamente io gli invio una serie tipo "0b00110011" tramite php ad arduino,
però praticamente, quando invio il messaggio, i led si spengono, si accendono 3 led (che non corrispondono al messaggio) e poi si riaccendono tutti i led e rimangono così fin quando non invio dell'altro.
Ma come is fa a fargli cambiare stato solo quando invio qualcosa tramite seriale?
questo è il codice:
//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;
void setup() {
//set pins to output so you can control the shift register
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.read())
{
digitalWrite(latchPin, LOW);
// shift out the bits:
shiftOut(dataPin, clockPin, MSBFIRST, Serial.read());
//take the latch pin high so the LEDs will light up:
digitalWrite(latchPin, HIGH);
// pause before next value:
delay(500);
}
}