超声波传感器的原理
声波在空气中的速度是340m/s,当声波发生之后,碰到障碍物后声波被反射,这时我们只要测量声波发出到返回的时间就可以计算出距离了。
假设测量时间是t(微妙) 则距离l(cm) = 340m/st1000000*(1/100)(1/2) 化简之后 l(厘米) = t17/1000
其中1/2指的是测的声波返回时间是一个来回,所以需要除以2。
接线方式
VCC ---- 5v
GND ---- GND
Trig — 2
Echo — 3
程序
float l; //测量距离
float t; //测量时间
void setup(){
Serial.begin(9600); // 串口波特率
pinMode(2,OUTPUT); //定义2号针脚是输出模式
pinMode(3,INPUT); //定义3号针脚是输入模式
}
void loop(){
digitalWrite(2,LOW); //给2号针脚发送一个低电平
delayMicroseconds(2); //延时2微妙
digitalWrite(2,HIGH); //给2号针脚一个一个高电平
delayMicroseconds(10); //延时10微妙
digitalWrite(2,LOW); //给2号针脚一个低电平
t = float(pulseIn(3,HIGH)); //储存回波时间
l = (t * 17)/1000; //计算距离
Serial.println("时间:"+String(t)); //输出回波时间
Serial.println("距离:"+String(l)+"cm"); //输出测量距离
delay(100); //延时100毫秒
}