基于Arduino使用HC-SR04 超声波模块
超声波传感器简介
超声波传感器是将超声波信号转换成其他能量信号(通常是电信号)的传感器,超声波是振动频率高于20kHz的机械波,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点,超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,超声波碰到杂质或分界面会产生显著反射形成反射回波,碰到活动物体能产生多普勒效应,超声波传感器广泛应用在工业、国防、生物医学等方面。
具体应用
一、超声波传感器可以对集装箱状态进行探测,将超声波传感器安装在塑料熔体罐或塑料粒料室顶部,向集装箱内部发出声波时,就可以据此分析集装箱的状态,如满、空或半满等。 二、超声波传感器可用于检测透明物体、液体、任何表粗糙、光滑、光的密致材料和不规则物体,但不适用于室外、酷热环境或压力罐以及泡沫物体。 三、超声波传感器可以应用于食品加工厂,实现塑料包装检测的闭环控制系统,配合新的技术可在潮湿环如洗瓶机、噪音环境、温度极剧烈变化环境等进行探测。 四、超声波传感器可用于探测液位、探测透明物体和材料,控制张力以及测量距离,主要为 包装、制瓶、物料搬检验煤的设备运、塑料加工以及汽车行业等,超声波传感器可用于流程监控以提高产品质量、检测缺陷、确定有无以及其它方面。
(HC-SR04超声波模块)
HC-SR04超声波模块特点
HC-SR04超声波模块性能稳定,测度距离精确,能和国外的SRF05,SRF02等超声波测距模块相媲美,模块高精度,盲区(2cm)超近,稳定测距。
技术参数
使用电压:DC5V 静态电流:小于2mA 电平输出:高5V 电平输出:低0V 感应角度:不大于15度 探测距离:2cm-450cm 高精度:可达3mm
工作原理
1、采用IO触发测距,给至少10us的高电平信号 2、模块自动发送8个40khz的方波,自动检测是否有信号返回 3、有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2
使用方法
一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出,一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离,如此不断的周期测,就可以达到你移动测量的值了。
接线方式
Arduino Nano <------> HC-SR04超声波模块 5V <------> VCC GND <------> GND D7 <------> Trig D8 <------> Echo
实验原理
利用Arduino Nano 结合HC-SR04超声波模块,读取测量距离的数值
程序测试----读取HC-SR04超声波模块在不同测距情况下的数值
1、Mixly 图形化编程程序
(图形化程序)
打开串口监视器,会显示HC-SR04超声波模块读取到不同距离的数值1、HC-SR04超声波模块距离障碍物近时读取到的数值
(串口数值显示)
2、HC-SR04超声波模块距离障碍物远时读取到的数值
(串口数值显示)
程序实现代码
- float checkdistance_7_8() {
- digitalWrite(7, LOW);
- delayMicroseconds(2);
- digitalWrite(7, HIGH);
- delayMicroseconds(10);
- digitalWrite(7, LOW);
- float distance = pulseIn(8, HIGH) / 58.00;
- delay(10);
- return distance;
- }
- void setup(){
- pinMode(7, OUTPUT);
- pinMode(8, INPUT);
- Serial.begin(9600);
- }
复制代码
|