当前位置: 首页 > news >正文

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

文章目录

    • 一.概要
    • 二.红外避障模块主要参数
      • 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.模块原理图

在这里插入图片描述

三.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
如果链接失效,可以联系博主给最新链接
程序下载下来之后解压就行

五.小结

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Android视频编辑:利用FFmpeg实现高级功能
  • LVM逻辑卷创建的完整过程
  • python-月份有几天
  • Win使用SSH
  • k8s Prometheus
  • flask下https教程
  • OpenGL Texture C++ 预览Camera视频
  • 一分钟了解网络安全风险评估!
  • 叠螺污泥脱水机的成本包括哪些方面
  • 2024年Ai智能绘画Stable Diffusion软件+整合包+保姆式教程
  • some TEM8 receptive words
  • 创新性处理Java编程技术问题的策略
  • 使用VSCode 安装SAP Fiori 开发所需插件
  • 云计算安全需求分析与安全保护工程
  • 首批最高级!华为云ROMA Connect获信通院全栈企业级集成平台优秀级
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • laravel with 查询列表限制条数
  • Redis中的lru算法实现
  • Redux系列x:源码分析
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 编写高质量JavaScript代码之并发
  • 成为一名优秀的Developer的书单
  • 初识MongoDB分片
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 从setTimeout-setInterval看JS线程
  • 配置 PM2 实现代码自动发布
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 收藏好这篇,别再只说“数据劫持”了
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​埃文科技受邀出席2024 “数据要素×”生态大会​
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • !!java web学习笔记(一到五)
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (转)菜鸟学数据库(三)——存储过程
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 8 跨平台高性能边缘采集网关
  • .net core 连接数据库,通过数据库生成Modell
  • .Net IE10 _doPostBack 未定义
  • .Net mvc总结
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .net6 webapi log4net完整配置使用流程
  • .Net8 Blazor 尝鲜
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .NET之C#编程:懒汉模式的终结,单例模式的正确打开方式
  • @Import注解详解