简介
这是一款开放式双探头超声波测距模块,采用Gravity标准PH2.0-3P立式贴片座接口,输出为模拟电压,兼容arduino、树莓派等各种3.3V或5V逻辑电平的主控板。
该模块自带温度补偿,避免高温或低温环境对测量结果产生影响。模拟电压值输出,ADC简单转化即可直接读取距离值,简化操作步骤,降低实验难度。经测试,平整墙面的有效测距量程为2–500cm,分辨率为1cm,误差约为±1%。双探头设计,极大缩小探测盲区。板载状态指示小灯,方便查看测试进程。
本款测距模块体积小,环境适用性强,精度高,测量范围广,即插即用,方便快捷,可以广泛应用于户外环境中,尤其适用于温差变化较快的环境。是机器人自动避障行走,汽车倒车报警器、门铃、警戒报警器、地铁安全线提示、银行及取款机的一米线提示等等项目的绝佳选择。
⚠由于esp32芯片模拟输入精度和电压问题,esp32芯片相关主控板(firebeetle、掌控板)无法正常作为精确测距使用。
技术规格
- 供电电压:3.3V~5.5V DC
- 输出信号:0~VCC
- 工作电流:20mA
- 工作温度范围 :-10℃~+70℃
- 有效测距量程:2cm~500cm
- 分辨率:1cm
- 精度:1%
- 声学频率: 38~42KHz
- 测量频率:30Hz Max
- 模块尺寸:47mm × 22 mm
- 距离计算公式:距离(cm)=Vout(mV)*520/Vin(mV)
模块测量角度
接口说明
引脚 | 引脚说明 |
---|---|
- | 电源地 |
+ | 电源输入(3.3V-5.5V) |
A | 模拟输出 |
使用教程
URM09是一款简洁实用的超声波传感器,它采用的是模拟电压输出方式,通过Gravity 3Pin模拟传感器线可以方便的与主板连接
硬件连接
将模块通过A1模拟量接口与UNO连接,如图:
Arduino代码编程
模块输出为与距离成正比的模拟电压值,通过ADC采集输出后,经过简单的处理就可以得到距离值
演示代码
// # Editor : roker
// # Date : 18.02.2019
// # Product name: URM09 Ultrasonic Sensor(Gravity Analog)(V1.0)
// # Product SKU : SEN0307
// # Version : 1.0
#define MAX_RANG (520)//the max measurement vaule of the module is 520cm(a little bit longer than effective max range)
#define ADC_SOLUTION (1023.0)//ADC accuracy of Arduino UNO is 10bit
int sensityPin = A0; // select the input pin
void setup() {
// Serial init
Serial.begin(9600);
}
float dist_t, sensity_t;
void loop() {
// read the value from the sensor:
sensity_t = analogRead(sensityPin);
// turn the ledPin on
dist_t = sensity_t * MAX_RANG / ADC_SOLUTION;//
Serial.print(dist_t, 0);
Serial.println("cm");
delay(500);
}
Mind+ 上传模式编程
- 下载及安装软件。下载地址:https://www.mindplus.cc
- 切换到上传模式。
- 扩展中选择主控板中的Arduino Uno,传感器中选择模拟量超声波测距传感器。
- 进行编程,程序如下图:
- 菜单连接设备,上传到设备
- 程序上传完毕后,打开串口即可看到数据输出。
Mind+ Python模式编程(行空板)
Mind+Python模式为完整Python编程,因此需要能运行完整Python的主控板,此处以行空板为例说明
连接图
注意:
模拟量超声波支持的引脚有 0、1、2、3、4、10、21、22,积木块中标 “ A ” 的引脚
操作步骤
1、下载及安装官网最新软件。下载地址:https://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装
2、切换到“Python模式”。“扩展”中选择“官方库”中的“行空板”和“pinpong库”中的”pinpong初始化“和“模拟超声波测距传感器”。切换模式和加载库的详细操作链接
3、进行编程
4、连接行空板,程序点击运行后,可在终端查看数据。行空板官方文档-行空板快速上手教程 (unihiker.com)
代码编程
以pinpong库为例,行空板官方文档-行空板快速上手教程 (unihiker.com)
# -*- coding: UTF-8 -*-
# MindPlus
# Python
from pinpong.libs.dfrobot_analog_urm09 import ANALOG_URM09
from pinpong.extension.unihiker import *
from pinpong.board import Board,Pin
from pinpong.board import Board
import time
Board().begin()
urm091 = ANALOG_URM09(Pin((Pin.P21)))
while True:
print(urm091.distance_cm())
time.sleep(0.2)
探测角度及灵敏度说明
超声波传感器的物理特性决定了其实际具有不规则的探测区域,因此超声波测距传感器的探测角度难以被准确的定义。我们分别使用了2种参考目标障碍物对多样本产品进行了测试,对应目标的参照检测区域如下图示:
更多
疑难解答
如果遇到技术问题,请登陆到我们的售后论坛留言,我们会尽快解答您的问题。
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖!