6. 超声波传感器¶
野火超声波传感器模块有两个超声波探头,分别用于发射和接收超声波,TRIG 脚用于触发发射超 声波,若接收到返回的超声波 ECHO 脚会输出高电平,根据高电平的持续时间计算目标距离。
注解
关于传感器更详细的信息可以参考其规格手册。
鲁班猫扩展板板载1个超声波接口:
超声波接口的trig、echo引脚使用主控原生引脚,对应扩展板GPIO_5、GPIO_6:
以鲁班猫1为例,对应GPIO3_C1、GPIO3_B6:
登入系统,执行如下命令打开配置文件,并开启XL9535设备树插件:
1 | sudo vi /boot/uEnv/uEnv.txt
|
6.1. 基础实验¶
本次基础实验将打印超声波模块的测距距离。
python代码测试
python测试代码为:lubancat_rk_code_storage/expansion_board/hcsr04/hcsr04.py
关于程序中的引脚定义,需要自行根据具体板卡来修改:
注解
gpionum计算方法如下:
group = 0~3(A~D)
gpionum = group * 8 + x
举例 :
C1 = 2 * 8 + 1 = 17
B6 = 1 * 8 + 6 = 14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | '''
filename : hcsr04.py
'''
...
# gpionum
gpionum_trig = 17
gpionum_echo = 14
# gpiochip
gpiochip_num_trig = "3"
gpiochip_num_echo = "3"
...
|
将程序拷贝到板卡,执行如下命令运行程序:
1 2 | # 运行程序
sudo python hcsr04.py
|
验证时,超声波测距模块前方处尽量空旷,避免周围小物体的回波信号造成错误 待测目标面积尽量不小于0.5平方米,平面尽量平整且垂直于超声波探头。
c代码测试
c测试代码为:lubancat_rk_code_storage/expansion_board/hcsr04/hcsr04.c
关于程序中的引脚定义,需要自行根据具体板卡来修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 | /*
filename : hcsr04.c
*/
...
#define GPIOCHIP_TRIG "/dev/gpiochip3"
#define GPIONUM_TRIC (17)
#define GPIOCHIP_ECHO "/dev/gpiochip3"
#define GPIONUM_ECHO (14)
...
|
将程序拷贝到板卡,执行如下命令编译,运行程序:
1 2 3 4 5 | # 编译程序
sudo gcc -o hcsr04 hcsr04.c -lgpiod
# 运行程序
sudo ./hcsr04.c
|
验证时,超声波测距模块前方处尽量空旷,避免周围小物体的回波信号造成错误 待测目标面积尽量不小于0.5平方米,平面尽量平整且垂直于超声波探头。
6.2. 模拟倒车雷达¶
本次模拟倒车雷达将应用超声波传感器和蜂鸣器,蜂鸣器会根据测距距离改变鸣响频率。
python代码测试
python测试代码为:lubancat_rk_code_storage/expansion_board/hcsr04/radar.py
关于程序中的引脚定义,需要自行根据具体板卡来修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | '''
filename : radar.py
'''
...
# gpionum
gpionum_trig = 17
gpionum_echo = 14
# gpiochip
gpiochip_num_trig = "3"
gpiochip_num_echo = "3"
...
|
将程序拷贝到板卡,执行如下命令运行程序:
1 2 | # 运行程序
sudo python radar.py
|
c代码测试
c测试代码为:lubancat_rk_code_storage/expansion_board/hcsr04/radar.c
关于程序中的引脚定义,需要自行根据具体板卡来修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 | /*
filename : hcsr04.c
*/
...
#define GPIOCHIP_TRIG "/dev/gpiochip3"
#define GPIONUM_TRIC (17)
#define GPIOCHIP_ECHO "/dev/gpiochip3"
#define GPIONUM_ECHO (14)
...
|
将程序拷贝到板卡,执行如下命令编译,运行程序:
1 2 3 4 5 | # 编译程序
sudo gcc -o radar radar.c -lgpiod
# 运行程序
sudo ./radar.c
|