[新手帖] 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);
}
谢谢分享了
;P 这个程序没问题吗?兄弟,我也写了个类似的程序,但是感觉超声波测得不准。用来控制倒车不现实啊 ,准备上滤波程序了 当它超过60000会在lcd上显示出5cm不变,该怎么办 一个超声波吗?
页:
[1]