GD32F407单片机开发入门(二十二)红外避障传感器模块实战含源码
文章目录
- 一.概要
- 二.红外避障模块主要参数
- 1.模块引脚定义
- 2.模块特点
- 3.模块原理图
- 三.GD32单片机红外避障模块检测实验
- 四.工程源代码下载
- 五.小结
一.概要
红外避障模块具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测遇到障碍物时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接回输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3v-5v。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合。
二.红外避障模块主要参数
1.模块引脚定义
2.模块特点
1、当模块检测到前方障碍物信号时,电路板上绿色指示灯点亮电平,同时OUT端口持续输出低电平信号,该模块检测距离2~30cm,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。
2、传感器主动红外线反射探测,因此目标的反射率和形状是探测距离的关键。其中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。
3、传感器模块输出端口OUT可直接与单片机IO口连接即可,连接方式:VCC-VCC;GND-GND;OUT-IO,单片机检测到OUT脚为低电平,就说明模块检测到障碍物。
4、比较器采用LM393,工作稳定。
5、可采用3-5V直流电源对模块进行供电。当电源接通时,红色电源指示灯点亮。
6、具有3mm的螺丝孔,便于固定、安装。
7、电路板尺寸:3.2CM*1.4CM。
8、每个模块在发货已经将阈值比较电压通过电位器调节好,非特殊情况,请勿随意调节电位器。
3.模块原理图
LM393是通过比较两个输入端的电压(同相端IN+和反相端IN-)来决定输出状态:
当 IN+ > IN- 时,输出端为 高电平(外部有上拉)。
当 IN+ < IN- 时,输出端为 低电平。
所以避障模块的原理如下:
当红外遇到障碍物的时候,红外管的接收端导通,导致IN+端的电平接近低电平,所以IN+<IN-,LM393输出低电平,开关指示灯亮。
当红外没有遇到障碍物的时候,红外管的接收端不导通,IN+端的电平接近高电平,IN+>IN-,LM393输出高电平,开关指示灯灭。
没有遇到障碍物开关指示灯灭,如下图:
遇到障碍物开关指示灯亮,如下图:
三.GD32单片机红外避障模块检测实验
硬件准备:
STLINK接GD32F407VET6开发板,STLINK接电脑USB口,OLED接开发板。
用杜邦线连接:
开发板3.3V <->模块VCC
开发板PA0脚 <->模块OUT
开发板GND <->模块GND
主要代码
#include "gd32f4xx.h"
#include "gd32f4xx_libopt.h"
#include "systick.h"
#include "oled.h"int main(void)
{systick_config();//配置系统主频168M,外部8M晶振,配置在#define __SYSTEM_CLOCK_168M_PLL_8M_HXTAL (uint32_t)(168000000)gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_0);//PA0配置成输输入OLED_Init();//OLED初始化 OLED_Clear();//OLED清屏 while(1) { OLED_Clear();OLED_ShowCHinese(18,0,0);//光OLED_ShowCHinese(36,0,1);//子OLED_ShowCHinese(54,0,2);//物OLED_ShowCHinese(72,0,3);//联OLED_ShowCHinese(90,0,4);//网OLED_ShowCHinese(10,3,5);//障OLED_ShowCHinese(28,3,6);//碍OLED_ShowCHinese(46,3,7);//物OLED_ShowString(80,3,"TEST");if(gpio_input_bit_get(GPIOA,GPIO_PIN_0)==0)//读取PA0引脚电平,如果是低电平,说明有障碍物{OLED_ShowCHinese(46,6,8);//有}else{ OLED_ShowCHinese(46,6,9);//无}delay_1ms(5000);//等待2秒} }
如下图所示,遇到障碍物,模块开关指示灯亮,屏幕显示有障碍物,说明PA0引脚检测到低电平。
四.工程源代码下载
源代码下载链接如下:
CSDN
五.小结
红外避障模块是常用于智能小车、机器人等设备中的传感器模块,用于检测周围环境中的障碍物。对于小车检测前方是否存在障碍物,是很好的选择。