Thanks for all the input, sorry my diagram sucks so much but the relay coils are connected to ground in the actual circuit.
And yeah, its a bunch of delay()s controlled by variable resister input so i can change the speed of each pattern. I'm not too picky as long as it works. Although I am curious how I would do it without using delay. here is one of the patterns
if(buttonCount==0)//light pattern 1: scrolling down
{
sensorValue = analogRead(analogInPin);
if(cnt1==0)
{
allOff(digitalG,digitalG2,digitalG3,digitalY,digitalY2,digitalY3,digitalR,digitalR2,digitalR3);
digitalWrite(digitalG,HIGH);
digitalWrite(digitalG2,HIGH);
digitalWrite(digitalG3,HIGH);
cnt1++;
}
else if(cnt1==1)
{
delay(20*sensorValue);
allOff(digitalG,digitalG2,digitalG3,digitalY,digitalY2,digitalY3,digitalR,digitalR2,digitalR3);
digitalWrite(digitalY,HIGH);
digitalWrite(digitalY2,HIGH);
digitalWrite(digitalY3,HIGH);
cnt1++;
}
else if(cnt1==2)
{
delay(20*sensorValue);
allOff(digitalG,digitalG2,digitalG3,digitalY,digitalY2,digitalY3,digitalR,digitalR2,digitalR3);
digitalWrite(digitalR,HIGH);
digitalWrite(digitalR2,HIGH);
digitalWrite(digitalR3,HIGH);
cnt1++;
}
else if (cnt1 ==3)
{
delay(20*sensorValue);
allOff(digitalG,digitalG2,digitalG3,digitalY,digitalY2,digitalY3,digitalR,digitalR2,digitalR3);
cnt1++;
}
else
{
cnt1=0;//reset counter
}
}