i've changed the code to this as it seems to make more sense:
int latchPin = 8;
int clockPin = 12;
int dataPin = 11;
int pirPin = 10;
int pirState = LOW;
int val = 0;
const byte COL_COUNT = 8;
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(pirPin, INPUT);
}
void loop()
{
val = digitalRead(pirPin);
if (val == HIGH)
{
int col_data = 0;
for (int col = 0; col < COL_COUNT; col++)
bitWrite(col_data, col, HIGH);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, col_data);
digitalWrite(latchPin, HIGH);
delay(600);
}
delay(2500);
int col_data = 0;
for (int col = 0; col < COL_COUNT; col++)
{
bitWrite(col_data, col, LOW);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, col_data);
digitalWrite(latchPin, HIGH);
delay(600);
}
}
{
if (val == LOW)
{
digitalWrite (latchPin, LOW);
digitalWrite (clockPin, LOW);
digitalWrite (dataPin, LOW);
}
}
however, my last function "if (val == LOW)" doesnt seem to be working