回复地方 发表于 2012-2-28 14:38:51

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);
    }
}
}



连接线按照程序定义的接口就行啦!

其实关键就在于那个三色小灯上。









回复地方 发表于 2012-2-28 19:33:46

:):loveliness:

弘毅 发表于 2012-2-28 20:37:00

看到了给力版~

GoStop 发表于 2012-2-28 22:28:37

三色led 灯从哪买的啊?

回复地方 发表于 2012-3-31 16:50:33

GoStop 发表于 2012-2-28 22:28 static/image/common/back.gif
三色led 灯从哪买的啊?

淘宝很多店家卖家都有的,你仔细搜索下

黑马 发表于 2012-4-1 13:04:50

理论上三色LED混合是不是可以实现全彩啊?

piaozhiling 发表于 2012-6-27 01:42:46

那个是两色的,当两色一起量,就出来第三个色彩了,所以叫三色小灯,没叫全彩LED灯
页: [1]
查看完整版本: arduino连接超声波模块测量不同的距离控制三色led