红外传感器的原理就是通过一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),并且可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3V-5V。它有三只脚,1只就是VCC,1只就是GND,另一个就是OUT-IO,这个只需要接一个GPIO,然后监测它输出的是高电平还是低电平,当低电平就是检测到障碍物。
看开发板的电路图,我们得知J1的11和12分别是VCC和GND,分别对接上红外传感器vcc和GND,下面就是关键的OUT-IO这个就是红外传感器返回的数据(高低电平),这个我们在开发板找个闲置的GPIO进行接收,这里J1的29(P303)脚作为接收的GPIO,物理线路搞掂。我们就代码了,因为GPIO是最容易对接的,那么我们代码也很简单。首先声明接口,然后读取判断就可以了,具体代码如下:
#define infrared "P303"//定义引脚
static int out; //初始变量
out = rt_pin_read(MOMM_pin) ? PIN_LOW : PIN_HIGH;
if (PIN_LOW == out){
rt_kprintf("n 存在障外物n");
}else{
rt_kprintf("n 一路畅通n");
}
最后扫一下盲,什么是GPIO就是通用输入/输出端口,通俗地说,就是一些CPU的引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平;就是0:1输入和输出。
-
led灯
+关注
关注
22文章
1592浏览量
107823 -
电位器
+关注
关注
14文章
1005浏览量
66709 -
比较器
+关注
关注
14文章
1633浏览量
107086 -
红外传感器
+关注
关注
9文章
514浏览量
47507 -
GND
+关注
关注
2文章
529浏览量
38648
发布评论请先 登录
相关推荐
评论