目录
介绍
HC-SR04超声波传感器模块
超声波模块HC-SR04的工作原理是SONAR和RADAR系统。它可用于确定物体在2 cm – 400 cm范围内的距离。
该模块只有4个引脚,Vcc,Gnd,Trig和Echo。
当给Trig引脚施加10μsec或更多的脉冲时,产生8个40kHz的脉冲。此后,模块中的控制电路使Echo引脚变为高电平。回声引脚保持高电平,直到它发回传输脉冲的回波信号。
回声引脚保持高电平的时间,即Echo引脚的宽度给出了产生的超声波传播到物体和返回所需的时间。
利用这个时间和空气中的声速,我们可以使用速度和时间的距离的简单公式找到物体的距离。
电路连接图
超声波传感器模块与MSP-EXP430G2 TI Launchpad连接
例
使用超声波模块查找障碍物的距离。
在这里,我们将使用HC-SR04库。
库下载:
提取库并将其添加到Energia IDE的库文件夹路径中。需要重新构建文件夹以使用库,并在Energia IDE的示例中显示该文件夹
有关如何将自定义库添加到Energia IDE并使用其中的示例的信息,请参阅“基础知识”部分中的“ 将库添加到Energia IDE ”。
我们在下面的附件部分提供了修改后的库文件夹。
注意:如果您选择从上面给出的链接下载库,请构建文件夹,使hcrs04.h和hcrs04.cpp直接位于文件夹内,而不是在某个子文件夹中。此外,将hcsr04.ino重命名为您喜欢的名称,并将其放在同名的子文件夹中。
我们根据上面显示的接口图修改了hcsr04.ino。修改后的草图在下面的源代码部分中给出,也可以在下面的草图中找到。
提示: MSP-EXP430G2 TI Launchpad主板具有512字节的RAM,可轻松上传,尤其是在使用不同库时。有时您需要串行缓冲区足够大以包含所需的数据,并且您必须修改串行库的缓冲区大小。在做这些事情时,我们必须确保代码不会使用超过70%的RAM。这可能导致代码以不稳定的方式工作,有时运行良好并且在其他方面失败。
有些时候RAM使用率可能会超过70%并且代码将完全正常工作,并且即使RAM使用率为65%,代码也无法工作。
在这种情况下,可能需要对缓冲区大小和/或变量进行一些试验和错误。
程序
#include <hcrs04.h>
#define PINTRIG 6
#define PINECHO 5
hcrs04 mySensor(PINTRIG, PINECHO);
void setup()
{
Serial.begin(9600); /* Define baud rate for serial communication */
Serial.println("Basic HC-SR04 Ultrasonic Sensor Example");
mySensor.begin(); /* Initialize the sensor */
}
余下程序:
完整程序下载
程序:
库下载: