用8266学习单片机-13-HC-SR04超声波模块测距示例-Ultrasonic-US-015
HC-SR04原理
重点
5v供电、Tri引脚需要至少10us的高脉冲去触发、Echo返回的是超声波发射到返回的时间
距离怎么算看上面第三张图,US-015原理相似,注意测量范围最小值和最大值
接线
ESP8266采用USB供电,HC-SR04的VCC、GND分别接ESP8266的Vin、GND,Trial和Echo找两个IO就行,这里以D2、D1为例
代码
/* ESP8266* HC-SR04、US-015超声波模块测距示例*/const unsigned int EchoPin = D1; // D1引脚连接Echo
const unsigned int TrigPin = D2; // D2引脚连接Tric
const int delayTime = 1000; //每两次之间的测量时间间隔
unsigned long Time_Echo_us = 0; //发出和反射总时间
unsigned long Len_mm = 0; //探测距离,单位mmvoid setup()
{ Serial.begin(9600); pinMode(EchoPin, INPUT); pinMode(TrigPin, OUTPUT);
}void loop()
{ digitalWrite(TrigPin, LOW); //发出11us的触发脉冲,大于10s即可digitalWrite(TrigPin, HIGH); delayMicroseconds(11); digitalWrite(TrigPin, LOW); Time_Echo_us = pulseIn(EchoPin, HIGH); //获取传播总时间if((Time_Echo_us < 60000) && (Time_Echo_us > 1)) //有效传播时间之内,2-400cm,大约为1-60000us{Len_mm = (Time_Echo_us*34/100)/2; //计算距离 Len_mm = (Time_Echo_us * 0.34mm/us) / 2 (mm)Serial.print("Present Distance is: "); //输出结果到串口监视器Serial.print(Len_mm, DEC); Serial.println("mm"); }else //超出测量范围或者测量范围太小{Serial.println("Error! Too long or too short!!!"); }delay(delayTime);
}
Conclusion
当距离小于2cm,测量结果会偏大,HC-SR04在0-2cm之间会显示20-40cm不等的结果,而US-015在0-2cm之间会显示2-4cm。。
这些问题可以通过时间过滤掉或者采取多次测量取平均值的方法
参考
- https://www.arduino.cn/thread-3194-1-1.html
用8266学习单片机-13-HC-SR04超声波模块测距示例-Ultrasonic-US-015相关推荐
- 快速上手Arduino -- 打印超声波模块测距信息到OLED屏幕上
文章目录 快速上手Arduino -- 打印超声波模块测距信息到OLED屏幕上 实现效果: 模块说明: 引脚接线方法: 程序源码 附录 快速上手Arduino – 打印超声波模块测距信息到OLED屏幕 ...
- 树莓派超声波模块测距
参考:树莓派超声波模块测距及C语言demo 作者:一只青木呀 发布时间: 2020-07-22 16:54:16 网址:https://blog.csdn.net/weixin_45309916/ar ...
- 超声波模块测距 Arduino代码
1.本篇是记录关于使用超声波模块测距的记录,本次使用的超声波测距模块(HC-SR04)探测角度为<5° 宽电压工作在3.3~5V之间,最大测距为7m. 在Arduino中定义引脚,距离变量等. ...
- 蓝桥杯单片机设计与开发⑫ ---超声波模块
一.基本原理 超声波发射模块向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时. 二.计算公式 距离 = 声速 × 发 ...
- 蓝桥杯51单片机(一)超声波模块
使用超声波模块并通过数码管显示距离 #include<stc15f2k60s2.h> #include"intrins.h" #define somenop {_nop ...
- Arduino实现使用超声波模块测距
硬件材料: Arduino UNO R3.超声波模块.面包板一块.连接线若干 超声波模块如下图,一个超声波模块价格在5元以内. arduino实物连接图如下: 源码: void setup() { ...
- STM32超声波模块测距串口输出/通用定时器中断并输出PWM控制舵机/系统定时器延时
参考:stm32 超声波模块 原理 实现测距 +舵机使用 作者:点灯小哥 发布时间: 2021-03-10 19:37:16 网址:https://blog.csdn.net/weixin_46016 ...
- 32、树莓派的简单测试串口通信和超声波模块测距
基本思想:随手记录一下众灵科技树莓派的测试串口通信和超声波模块,其镜像还是很nice,基本的库都给你安装了,比较大 链接:https://pan.baidu.com/s/11tMdoRh3bHmcYz ...
- STM32 超声波模块测距
目录 HC-SR04模块 HC-SR04超声波测距模块工作原理 HC-SR04超声波模块的时序触发图 思路步骤 代码 实验结果 总结 HC-SR04模块 HC-SR04超声波测距模块工作原理 (1)采 ...
最新文章
- c#+ArcGIS Engine-获取矢量图层的空间参考
- 处理字符串_8_判断字符串含有汉字
- 个人工作总结05(第二次冲刺)
- ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory解决方案
- 总结XMLHttpRequest对象
- 第六章-深入理解类(一)
- postman:Could not get any response解决方法
- 工训物流小车视觉开源代码,包含二维码、条形码、物块、标识靶识别
- 原生ajax调用,JavaScript进阶之原生AJAX接口请求的方式
- linux pe ef 详解,PE工具列表(看雪學院)
- mysql 共享锁(读写锁) 修改数据问题(update,insert)(LOCK IN SHARE MODE)
- 互联网晚报 | 12月10日 星期五 | B站月均活跃UP主达270万人;宝马电动车总销量破百万;苹果市值逼近3万亿美元...
- js中var self=this的用法解释
- FcaNet: Frequency Channel Attention Networks
- 组态王bitset用法_宇电AI系列仪表和组态王在产品检测装置中的应用
- 将光标从下划线变成竖线的方法
- 智能大屏和HTML5的小时代-杨勇强,乐视网CTO
- 如何去远程控制公司电脑 这三样必备一样也不能少
- 虚拟化技术发展与虚拟化体系结构
- android将引入aot编译器,JIT与AOT编译模式