Arduino超声波传感器测量距离
时间:2022-08-13 18:30:02
超声波传感器的原理
空气中声波的速度是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毫秒
}