int latchPin = 9; int clockPin = 8; int dataPin = 10; int irRead2 = 5; //PA5 Photodiode 3 int counter = 0; void setup() { pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); //pinMode(irRead1, INPUT); pinMode(irRead2, INPUT); //pinMode(irRead3, INPUT); //pinMode(irRead4, INPUT); } void loop() { baseLine(); for (int i=0;i<10;i++) { int analogValue2 = analogRead(irRead2); if (analogValue2 > 100) { counter ++; delay(100); } } if (counter > 4) { lightLeft(); } if ((counter > 0) && (counter < 4)){ lightRight(); } counter = 0; } void lightRight() { for (int i=0; i<3; i++) { digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, 16); shiftOut(dataPin, clockPin, LSBFIRST, 252); digitalWrite(latchPin, HIGH); delay(1000); digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, 0); shiftOut(dataPin, clockPin, LSBFIRST, 0); digitalWrite(latchPin, HIGH); delay(1000); } } void lightLeft() { for (int i=0; i<3; i++) { digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, 0); shiftOut(dataPin, clockPin, LSBFIRST, 254); digitalWrite(latchPin, HIGH); delay(1000); digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, 0); shiftOut(dataPin, clockPin, LSBFIRST, 0); digitalWrite(latchPin, HIGH); delay(1000); } } void baseLine(){ digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, 0); // Shiftregister IC3 shiftOut(dataPin, clockPin, LSBFIRST, 0); // Shiftregister IC1 digitalWrite(latchPin, HIGH); delay(100); }