零基础国产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.模块原理图

在这里插入图片描述

三.GD32单片机红外避障模块检测实验

硬件准备:

STLINK接GD32F103C8T6开发板,STLINK接电脑USB口。
在这里插入图片描述

用杜邦线连接:
开发板3.3V <->模块VCC
开发板PA0脚 <->模块OUT
开发板GND <->模块GND

主要代码

/*****************************************************************************
  文件: main.c
  作者: Zhengyu https://gzwelink.taobao.com
  版本: V1.0.0
  时间: 202101201
  平台:MINI-GD32F103C8T6开发板


*******************************************************************************/
#include "gd32f10x.h"
#include "gd32f10x_libopt.h"
#include "systick.h"
#include "oled.h"

int main(void)
{
	rcu_ahb_clock_config(RCU_AHB_CKSYS_DIV1);//AHB主频是1分频
	systick_config();//系统主频108MHZ,采用外部晶振,由两个宏决定(__SYSTEM_CLOCK_108M_PLL_HXTAL与HXTAL_VALUE)
	rcu_periph_clock_enable(RCU_AF);//管脚复用时钟alternate function clock使能 
	delay_1ms(1000);//等待1秒
	rcu_periph_clock_enable(RCU_GPIOB);//GPIOB时钟使能

	rcu_periph_clock_enable(RCU_GPIOA);
 	gpio_init(GPIOA, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_0);//PA0配置成输入,上拉
	OLED_Init();			       //初始化OLED  
	OLED_Clear(); 
	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);//无
		}
		HAL_Delay(1000);//等待1秒
	}	  
 
}

四.工程源代码下载

通过网盘分享的文件:21.红外避障实验.zip
链接: https://pan.baidu.com/s/13suPRc61Snnad2eSl1fSWQ 提取码: 1usk
如果链接失效,可以联系博主给最新链接
程序下载下来之后解压就行

五.小结

红外避障模块是常用于智能小车、机器人等设备中的传感器模块,用于检测周围环境中的障碍物。对于小车检测前方是否存在障碍物,是很好的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值