Hello
skipping the "i am new part"
Trying to make a "Traffic Light" and i want to make the delay time of the green for each side comes from the serial monitor.
my problem is what is the syntax for sending a number through the serial monitor and assign it to a variable in the delay()?
and i know there should be another way to make my code smaller any help would be appreciated.
this is my code and thanks.
int g1=2,y1=3,r1=4,g2=5,y2=6,r2=7,g3=8,y3=9,r3=10,g4=11,y4=12,r4=13;
int k;
int c=3000,d=3000,f=3000,g=3000;
void setup()
{
for(int i=2;i<14;i++)
pinMode(i,OUTPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(g1,1);
digitalWrite(y1,0);
digitalWrite(r1,0);
digitalWrite(g2,0);
digitalWrite(y2,0);
digitalWrite(r2,1);
digitalWrite(g3,0);
digitalWrite(y3,0);
digitalWrite(r3,1);
digitalWrite(g4,0);
digitalWrite(y4,0);
digitalWrite(r4,1);
delay(c);
for(k=1;k<4;k++)
{
digitalWrite(g1,0);
digitalWrite(y1,0);
delay(250);
digitalWrite(y1,1);
delay(250);
}
digitalWrite(g1,0);
digitalWrite(y1,0);
digitalWrite(r1,1);
digitalWrite(g2,1);
digitalWrite(y2,0);
digitalWrite(r2,0);
digitalWrite(g3,0);
digitalWrite(y3,0);
digitalWrite(r3,1);
digitalWrite(g4,0);
digitalWrite(y4,0);
digitalWrite(r4,1);
delay(d);
for(k=0;k<3;k++)
{
digitalWrite(g2,0);
digitalWrite(y2,0);
delay(250);
digitalWrite(y2,1);
delay(250);
}
digitalWrite(g1,0);
digitalWrite(y1,0);
digitalWrite(r1,1);
digitalWrite(g2,0);
digitalWrite(y2,0);
digitalWrite(r2,1);
digitalWrite(g3,1);
digitalWrite(y3,0);
digitalWrite(r3,0);
digitalWrite(g4,0);
digitalWrite(y4,0);
digitalWrite(r4,1);
delay(g);
for(k=0;k<3;k++)
{
digitalWrite(g3,0);
digitalWrite(y3,0);
delay(250);
digitalWrite(y3,1);
delay(250);
}
digitalWrite(g1,0);
digitalWrite(y1,0);
digitalWrite(r1,1);
digitalWrite(g2,0);
digitalWrite(y2,0);
digitalWrite(r2,1);
digitalWrite(g3,0);
digitalWrite(y3,0);
digitalWrite(r3,1);
digitalWrite(g4,1);
digitalWrite(y4,0);
digitalWrite(r4,0);
delay(f);
for(k=0;k<3;k++)
{
digitalWrite(g4,0);
digitalWrite(y4,0);
delay(250);
digitalWrite(y4,1);
delay(250);
}
}