代码:

int potpin=0;
int ledpin_red=9;
int ledpin_yellow=10;
int ledpin_green=11;
int val=0;

void setup()
{
  Serial.begin(9600);//设置波特率为9600
  pinMode(ledpin_red,OUTPUT);
  pinMode(ledpin_yellow,OUTPUT);
  pinMode(ledpin_green,OUTPUT);

//注意:模拟接口自动设置为输入
}
void loop()
{
val=analogRead(potpin);// 读取传感器的模拟值并赋值给val
Serial.println(val);//显示val 变量

//红灯
Serial.println("Red!   STOP!!!!!");
analogWrite(ledpin_red,val/4);//红灯亮,绿灯和黄灯灭
analogWrite(ledpin_green,LOW);
analogWrite(ledpin_yellow,LOW);
delay(5000);//延时5秒

//黄灯变换
Serial.println("Notice!SLOW DOWN!!! Yellow!");
analogWrite(ledpin_yellow,val/4);
delay(500);
analogWrite(ledpin_yellow,LOW);
delay(500);
analogWrite(ledpin_yellow,val/4);
delay(500);
analogWrite(ledpin_yellow,LOW);
delay(500);
analogWrite(ledpin_yellow,val/4);
delay(500);//黄灯闪烁三次,此时红灯仍是亮的

//绿灯
Serial.println("GREEN!   GOGOGO!");
analogWrite(ledpin_green,val/4);analogWrite(ledpin_red,val/4);//绿灯亮,红灯和黄灯灭
analogWrite(ledpin_red,LOW);
analogWrite(ledpin_yellow,LOW);
delay(5000);//延时5秒

//变换,完全复制上面的
Serial.println("Notice! Yellow!");
analogWrite(ledpin_yellow,val/4);
delay(500);
analogWrite(ledpin_yellow,LOW);
delay(500);
analogWrite(ledpin_yellow,val/4);
delay(500);
analogWrite(ledpin_yellow,LOW);
delay(500);
analogWrite(ledpin_yellow,val/4);
delay(500);//闪烁三次
}

效果:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注