动手制作超声波测距仪
0赞
这 个超声波型号为URM37 V3.2的测距传感器是一种智能传感器,所谓智能传感器就是信号采集,数字处理,和信息传送为一体。用户只要通过单片机TTL电平串口,向传感器发出四个 字节的信息读取命令,传感器接收命令后,会向单片机发回四个字节的信息,这四个字节里有两个字节就是16位被测距离信息。如果高位字节和低位字节都是 0xFF,这意味着测量无效,超出测量范围,否则,高位字节乘以256再加上低位字节就是被测距离,单位是厘米。
本实验的Arduino设备源于DFrobot官方旗舰店: http://dfrobot.taobao.com/
请看URM37V3.2超声波测距传感器文章:http://www.roboticfan.com/blog/user_2005/1229/201047153354.shtml
实验照片:
通过Labview前面板显示的距离信息与卷尺对比,测量比较精确。URM37V3.2超声波测距模块与单片机是通过TTL模式的串口连接的,只需四根线:VCC、GND、TXD,RXD具体接线图如下:
其实这个智能传感器除了测距,还有一些附加的实用功能,这样我把它的说明书给大家看,请下载
URM37V3.2超声波测距传感器与Arduino控制器的串口连线,可通过4根杜邦线一端插在传感器的引针上,另一端插在层叠在Arduino控制器的传感器扩展板的引针上。如图所示:
注意:当通过USB,下载Arduino程序,传感器的RXD和TXD这两根杜邦线要拔掉,否则无法下载程序。
讲到这里,另外再提一个话题,Arduino用户需特别注意,我曾经出现过类似下载故障:
在 使用Arduino的过程中,最令人头痛的估计就是bootloade毁坏,需要重新烧写bootloader了。最常见的一种情况就是,在 Arduino IDE环境中下载程序的时候,较长时间没有反应,这时很多人就直接选择断开USB连接线或者电源,然后就会出现无法再上传程序的错误。其实出现这种情况时 正确的做法是一直等到Arduino超时返回出错信息,直接断电的做法往往会导致bootloader毁坏。如果bootloader毁坏,唯一的办法就 是通过ISP下载线重新烧写bootloader。
这个实验的Arduino程序的任务是:
向传感器发出“读取距离信息”的命令,Ardiuno控制器马上接收传感器返回的距离信息,并把两个字节的距离信息换算为十进制数据,如果该数据小于等于30厘米,则连接在控制器数字接口的LED灯亮,否则熄灭。然后向上位机发送即将上传距离值的标志和两个字节的距离信息,上位机当接受到标志后,马上就接受两个字节的距离信息,再运算后把传感器所测距离实时显示在Labview前面板上。
上位机Labview前面板:
上位机Labview框图程序:
程序下载:10513969584274.zip
采用Labview、Arduino控制器和超声波智能传感器,象搭积木一样很快组建出自己的超声波测距仪。
实验时,把手掌当做障碍物,伸入到超声波传感器的视野里,前后晃动手掌,Labview前面板的滑动杆上的游标也跟着晃动,蛮有意思的!