首页 > 编程语言 >零基础STM32单片机编程入门(十三) 红外避障传感器模块实战含源码

零基础STM32单片机编程入门(十三) 红外避障传感器模块实战含源码

时间:2024-07-11 12:29:57浏览次数:16  
标签:避障 CODE ShowCHinese STM32 OLED 源码 模块 GPIO

文章目录

一.概要

红外避障模块具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测遇到障碍物时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接回输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围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.模块原理图

在这里插入图片描述

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

硬件准备:

STLINK接STM32F103C8T6小系统板,STLINK接电脑USB口。

板子与OLED用杜邦线连接:
板子G----液晶GND
板子3.3–液晶VCC
板子B10—液晶SCL
板子B11—液晶SDA

用杜邦线把模块与开发板相连:
板子3.3----模块VCC
板子A0-----模块OUT
板子G------模块GND

打开STM32CubeMX软件,新建工程
在这里插入图片描述
Part Number处输入STM32F103C8,再双击就创建新的工程
在这里插入图片描述
配置下载口引脚
在这里插入图片描述
配置外部晶振引脚
在这里插入图片描述
配置系统主频
在这里插入图片描述
配置PA0为上拉输入
在这里插入图片描述

配置工程文件名,保存路径,KEIL5工程输出方式
在这里插入图片描述
生成工程
在这里插入图片描述
用Keil5打开工程
在这里插入图片描述

添加OLED驱动文件
在这里插入图片描述

添加红外避障相关代码
在这里插入图片描述

主要代码

void MX_GPIO_Init(void)
{

  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOD_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();

  /*Configure GPIO pin : PA0 */
  GPIO_InitStruct.Pin = GPIO_PIN_0;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

}
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();//8M外部晶振,72M系统主频

  /* USER CODE BEGIN SysInit */


  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
	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(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==0)//读取PA0引脚电平,如果低电平,说明有障碍物
		{
				OLED_ShowCHinese(46,6,8);//有
		}else
		{
		
				OLED_ShowCHinese(46,6,9);//无
		}
		HAL_Delay(1000);//等待1S
	}	  
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */

}

四.CubeMX工程源代码下载

链接:https://pan.baidu.com/s/1NWgMtOVtM9jWK6QUGCkPTw
提取码:7n2o
如果链接失效,可以联系博主给最新链接
程序下载下来之后解压就行

五.小结

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

标签:避障,CODE,ShowCHinese,STM32,OLED,源码,模块,GPIO
From: https://blog.csdn.net/zy2232652/article/details/140334904

相关文章

  • PlugLink 与 AI 大模型:深入 COZE API 链接实践(附源码)
    在这个技术日新月异的时代,AI不再是遥不可及的概念,而是逐渐成为我们日常生活与工作中不可或缺的一部分。作为技术领域的探路者,我深感荣幸地向大家介绍PlugLink——一个旨在简化AI应用集成并促进跨领域协作的开源平台,以及它如何与AI大模型及COZEAPI完美握手,共同编......
  • PlugLink的技术架构实例解析(附源码)
    在探讨PlugLink这一开源应用的实际应用与技术细节时,我们可以从其构建的几个核心方面入手,结合当前AI编程的发展趋势,为您提供既有实例又有深度解析的内容。PlugLink的技术架构实例解析前端技术选型——layui框架:PlugLink选择了轻量级且功能丰富的layui作为前端框架,它提......
  • AI 助力开发者:PlugLink 如何让技术与创意无缝对接(附源码)
    AI助力开发者:PlugLink如何让技术与创意无缝对接PlugLink,它是如何利用AI的力量简化开发流程,提升开发效率的。想象一下,当你手握一个工具,可以让你在不懂全部技术细节的情况下就能快速构建出复杂的应用,这该有多酷!首先,让我们从PlugLink的基本概念入手。如同其名,PlugLink是一......
  • 基于javaweb jsp ssm汽车服务商城系统设计与实现+vue录像(源码+lw+部署文档+讲解等)
    前言......
  • Springboot智能购房推荐系统 毕业设计-附源码09040
    摘 要近年来随着我国经济的高速发展,房地产业也随之蓬勃发展,尤其是最近国家新出台的房改政策。鼓励居民购房,这对房产公司无疑是一个极好的发展势头。尤为重要的是,近几年随着信息技术和电子商务的快速发展,许多企业都开发了自己房产信息软件。智能购房推荐系统主要针对房屋......
  • ssm学科竞赛管理系统 毕业设计-附源码08604
    摘 要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对学科竞赛管......
  • SSM电商微信小程序 毕业设计-附源码09228
    摘 要随着微信小程序的使用越来越广泛,在传统的商业模式中,对于各类生活日常商品,人们习惯于到各种商家店铺购买。然而在快节奏的新时代中,人们不一定能为购买商品腾出时间,更不会耐心挑选自己想要的商品。所以设计一个电商微信小程序,既是迎合电子商务的大潮流,也是传统商品行业......
  • (免费领取源码)计算机毕业设计项目:宠物店管理系统 19849(开题答辩+程序定制+全套文案 )上
    目 录摘要1绪论1.1背景及意义1.2研究现状1.3springboot框架介绍2 宠物店管理系统系统分析2.1可行性分析2.2系统流程分析2.2.1数据流程3.3.2业务流程2.3系统功能分析2.3.1功能性分析2.3.2非功能性分析2.4系统用例分析2.5本章小结......
  • 基于java+springboot+vue实现的学生网上请假系统(文末源码+Lw)104
    系统功能:本学生网上请假系统管理员,教师,学生。管理员功能有个人中心,学生管理,教师管理,班级信息管理,请假表格管理,提交请假表管理,学生考勤管理,缺课记录管理。教师功能有个人中心,学生管理,班级信息管理,请假表格管理,提交请假表管理,学生考勤管理,缺课记录管理。学生功能有班级信息管......
  • 基于java+springboot+vue实现的音乐网站(文末源码+Lw)102
    功能介绍:本音乐网站管理员功能有个人中心,用户管理,歌曲分类管理,歌曲信息管理,管理员管理,系统管理等。用户可以注册登录,试听歌曲,可以下载歌曲。因而具有一定的实用性。本站是一个B/S模式系统,采用SpringBoot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操......