VMAX 发表于 2012-10-21 19:51:41

[新手帖] arduino+ HC-SR04 + 超声波模拟倒车雷达

本帖最后由 VMAX 于 2012-10-21 20:02 编辑

发帖时已看到 191zzy的倒车雷达,不过我还是要发,因为我这个不需要库{:soso_e141:},

声光报警 20cm - 3cm, 之前我刚做了anduino的LED与BEEP实验,超声波是偶第3个实验,我的anduino所学全搁这个了,拿去吧{:soso_e113:}。以后还有433M的无线数传,等好了也发给大家! 这次没图,太简单了,不好意思发图




int beeppin = 8;
int ledpin=9;
int echo= 6;
int trig=7;
unsigned long time_echo=0; // record the pulse width by sensor returns
unsigned long distance =0; // record the distance value;

void setup(){
   Serial.begin(9600);
   pinMode(beeppin,OUTPUT);
   pinMode(ledpin,OUTPUT);   
   pinMode(echo,INPUT);
   pinMode(trig,OUTPUT);
}

void loop(){
digitalWrite(trig,HIGH);//send pulse
delayMicroseconds(80);    //set pulse width with 50us(>10us)
digitalWrite(trig,LOW);   //stop send

time_echo = pulseIn(echo,HIGH); //get return pulse width
if((time_echo<60000)&&(time_echo>1)) //valid scope 1-60000
{
    distance = (time_echo*34/100)/2; //mm   
    if(distance < 200)
   {
      if(distance<30){
      digitalWrite(beeppin,HIGH);
      digitalWrite(ledpin,HIGH);
      }else{   
      alert(distance/2);
      }
   }
    Serial.print(distance,DEC);
    Serial.println('\n');

}
delay(100);
}
void alert(unsigned i){
digitalWrite(beeppin,HIGH);
digitalWrite(ledpin,HIGH);
delay(i);
digitalWrite(beeppin,LOW);
digitalWrite(ledpin,LOW);
delay(i);
}

zhangdeyue1 发表于 2012-10-22 11:42:53

谢谢分享了
;P

wenhong2966 发表于 2012-10-26 14:57:09

这个程序没问题吗?兄弟,我也写了个类似的程序,但是感觉超声波测得不准。用来控制倒车不现实啊 ,准备上滤波程序了

菜鸟一只 发表于 2016-4-13 15:02:05

当它超过60000会在lcd上显示出5cm不变,该怎么办

xiaozeng 发表于 2016-4-16 00:02:44

一个超声波吗?
页: [1]
查看完整版本: [新手帖] arduino+ HC-SR04 + 超声波模拟倒车雷达