**
arduino入门——互动交通灯
**
int carred=12;
int caryellow=11;
int cargreen=10;
int button=9;
int pedred=8;
int pedgreen=7;
int crosstime=5000;
unsigned long changetime;
void setup() {
// put your setup code here, to run once:
pinMode(carred,OUTPUT);
pinMode(caryellow,OUTPUT);
pinMode(cargreen,OUTPUT);
pinMode(pedred,OUTPUT);
pinMode(pedgreen,OUTPUT);
pinMode(button,INPUT);
digitalWrite(cargreen,HIGH);
digitalWrite(pedred,HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
int state=digitalRead(button);
if(state==HIGH&&(millis() - changetime)>5000)
{
changelights();
}
}
void changelights(){
digitalWrite(cargreen,LOW);
digitalWrite(caryellow,HIGH);
delay(2000);
digitalWrite(caryellow,LOW);
digitalWrite(carred,HIGH);
delay(1000);
digitalWrite(pedred,LOW);
digitalWrite(pedgreen,HIGH);
delay(crosstime);
for(int x=0;x<10;x++)
{
digitalWrite(pedgreen,HIGH);
delay(250);
digitalWrite(pedgreen,LOW);
delay(250);
}
digitalWrite(pedred,HIGH);
delay(500);
digitalWrite(carred,LOW);
digitalWrite(caryellow,HIGH);
delay(1000);
digitalWrite(caryellow,LOW);
digitalWrite(cargreen,HIGH);
changetime=millis();
}
按下按钮,行车道绿灯灭黄亮,黄灭,红亮,行人红灯灭,绿灯亮,一段时间后,行人绿灯闪烁后灭,红灯亮,行车道红灯灭,绿灯亮