Arduino--超声波模块

淘宝购买地址:https://detail.tmall.com/item.htm?id=629617028735&spm=a1z09.2.0.0.6de32e8dvyfVWU&_u=j1lng7f9b2e    

 

 

说明:

一共有四个脚,分别为VC,Trig,Echo,GND,两边的两个为接电源的正负极,中间的两个一个发送一个接收,可以连接在任意信号端口是包括1到13口及A0~A5

 

 

实例

Trig引脚连接A0,echo连接A1

 

米思琪

 

 

 

 单位:厘米

 

 

Arduino

复制代码
float checkdistance() {  //定义函数--获得距离
  digitalWrite(A0,LOW);
  delayMicroseconds(2); 
  digitalWrite(A0, HIGH); 
  delayMicroseconds(10); 
  digitalWrite(A0, LOW); 
  float distance=pulseIn(A1, HIGH)/58.00;   //获取测得的距离
  //pluseIn函数用于检测引脚输出的高低电平的脉冲宽度
  /*
  关于距离中除以58的说明:
58也很好理解,声音在干燥、摄氏 20度的空气中的传播速度大约为343米/秒,合34,300厘米/秒。或者,我们作一下单位换算,34,300除以1,000,000厘米/微秒。即为:0.0343厘米/微秒,再换一个角度,1/(0.0343 厘米/微秒)即:29.15 微秒/厘米。这就意味着,每291.5微秒表示10CM的距离。1厘米就是29.15微秒。但是发送后到接收到回波,声音走过的是2倍的距离呀。
所以实际距离就是1厘米,对应58.3微秒。实际上整个测距过程是测的发出声波到收到回波的时间,你的程序里的第一个distance实际上是时间us。所以换成距离cm,要除以58。当然除以58.3可能更精确。所以程序中用 pulseIn(EcoPin, HIGH) / 58.00获取测得的距离

  */
   
  return distance;
复制代码

 

 

 

 

 

 

 

posted @   天子骄龙  阅读(636)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2020-01-19 python-opencv-图像镜像翻转
2020-01-19 python-opencv-图像的平移
2019-01-19 局部变量 全局变量
2019-01-19 目录
2019-01-19 python-格式化输出
2019-01-19 转义字符
点击右上角即可分享
微信分享提示

目录导航