Arduino超声波传感器测量距离

超声波传感器的原理

声波在空气中的速度是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毫秒
}
发布了5 篇原创文章 · 获赞 13 · 访问量 429

猜你喜欢

转载自blog.csdn.net/weixin_42690388/article/details/102907984