本博客给大家介绍一下如何用DragonBoard 410c开发板实现红外检测障碍物.选择的红外传感模块如图1所示:
图1
该传感模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物时,红外线反射回来被接收管接收,经过比较器电路处理之后,输出显示灯会亮起,同时信号输出接口输出一个低电平信号,可以通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3V~5V.
本设计选择GPIO_13为输入脚,用于接收红外模块的信号(用中断方式实现),选择GPIO_69作为输出脚,用于控制RGB灯的亮灭.当检测到有障碍物时,RGB灯亮起,无障碍物时,RGB灯熄灭.实物连接如图2所示:
图2
代码实现如下:
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/sysfs.h>
#include <linux/platform_device.h>
#include <linux/err.h>
#include <li