arduino连接超声波模块测量不同的距离控制三色led
所需原价:arduino板子。超声波模块一个、led三色灯一枚。连接线若干
程序:
int inputPin=3;// 定义超声波信号接收接口
int outputPin=2; // 定义超声波信号发出接口
int ledpin1=5;
int ledpin2=6;
int ledpin3=7;//变色灯的三个输出接口
void setup()
{
Serial.begin(9600);
pinMode(ledpin1,OUTPUT);
pinMode(ledpin2,OUTPUT);
pinMode(ledpin3,OUTPUT);
pinMode(inputPin, INPUT);
pinMode(outputPin, OUTPUT);//设置数字IO脚模式,OUTPUT为输出
}
void loop()
{
unsigned char i,j;
digitalWrite(outputPin, LOW); // 使发出发出超声波信号接口低电平2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 使发出发出超声波信号接口高电平10μs,这里是至少10μs
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 保持发出超声波信号接口低电平
int distance = pulseIn(inputPin, HIGH);// 读出脉冲时间
distance= distance/58; // 将脉冲时间转化为距离(单位:厘米)
Serial.println(distance); //输出距离值
delay(50);
if (distance <=20)
{
digitalWrite(ledpin1,HIGH);
digitalWrite(ledpin2,LOW);
digitalWrite(ledpin3,LOW);
}
else
{
if(distance<=40)
{
digitalWrite(ledpin3,HIGH);
digitalWrite(ledpin1,LOW);
digitalWrite(ledpin2,LOW);
}
else
{
digitalWrite(ledpin2 ,HIGH);
digitalWrite(ledpin1,LOW);
digitalWrite(ledpin3,LOW);
}
}
}
连接线按照程序定义的接口就行啦!
其实关键就在于那个三色小灯上。
:):loveliness: 看到了给力版~ 三色led 灯从哪买的啊? GoStop 发表于 2012-2-28 22:28 static/image/common/back.gif
三色led 灯从哪买的啊?
淘宝很多店家卖家都有的,你仔细搜索下 理论上三色LED混合是不是可以实现全彩啊? 那个是两色的,当两色一起量,就出来第三个色彩了,所以叫三色小灯,没叫全彩LED灯
页:
[1]