STM32开发详解:红外循迹、避障与光电门模块
创作时间:
作者:
@小白创作中心
STM32开发详解:红外循迹、避障与光电门模块
引用
CSDN
1.
https://m.blog.csdn.net/sikimayi/article/details/144526721
本文详细介绍了STM32开发板中常用的三种红外感应模块:红外循迹模块、红外避障模块和光电门模块。文章从原理到代码实现,为读者提供了全面的指导。
红外感应模块在各类机器人竞赛和自动化项目中应用广泛,本文将详细介绍三种常见的红外感应模块:红外循迹模块、红外避障模块和光电门模块。我们将从原理、接线方式到代码实现,为读者提供全面的指导。
红外循迹模块
红外循迹模块常用于让小车按照指定路线移动的场景。其工作原理是通过检测地面路线的颜色差异来控制小车的移动方向。
运行原理
TCRT5000传感器的红外发射二极管不断发射红外线。当发射出的红外线没有被反射回来或反射强度不够时,红外接收管处于关断状态,模块输出高电平;当检测到黑色或深色物体时,红外线被充分反射,红外接收管饱和,模块输出低电平。
简而言之:
- 检测白色或浅色时,指示灯亮,输出信号为0;
- 检测黑色或深色时,指示灯灭,输出信号为1。
注:模块上的蓝色小方块是电位器,可用于调整灵敏度。
接口说明
- VCC:外接3.3V-5V电压
- GND:外接GND
- AO:输出模拟信号
- DO:输出数字信号
实际接线方式:
- VCC 接 VCC
- GND 接 GND
- AO 不接线
- DO 接 PB12
代码实现
#include "stm32f10x.h"
void xunji_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_12);
}
int xunji_Get(void)
{
return GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12);
}
红外避障模块
红外避障模块用于检测前方障碍物,常用于机器人避障系统。
运行原理
红外避障模块包含一个红外发射器和一个红外接收器。发射器发射红外线,遇到障碍物后被反射回接收器。接收器内部的比较器(如LM393)会根据接收到的信号强度输出高低电平。
注:模块上的蓝色小方块是电位器,可用于调整灵敏度。
接口说明
- VCC:外接3.3V-5V电压
- GND:外接GND
- OUT:输出信号
实际接线方式:
- VCC 接 VCC
- GND 接 GND
- OUT 接 PB13
代码实现
#include "stm32f10x.h"
void bizhang_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_13);
}
int bizhang_Get(void)
{
return GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_13);
}
光电门模块
光电门模块用于检测物体是否通过光束,常用于计时和检测场景。
运行原理
光电门模块包含一个发射器和一个接收器。当发射器发出的光束被物体遮挡时,接收器无法接收到光信号,从而产生电信号。
接口说明
- VCC:外接3.3V-5V电压
- GND:外接GND
- AO:输出模拟信号
- DO:输出数字信号
实际接线方式:
- VCC 接 VCC
- GND 接 GND
- AO 不接线
- DO 接 PB14
代码实现
#include "stm32f10x.h"
void photogate_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_14);
}
int photogate_Get(void)
{
return GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_14);
}
总结
本文详细介绍了三种红外感应模块的工作原理、接线方式和代码实现。这些模块在机器人竞赛和自动化项目中应用广泛,掌握它们的使用方法对嵌入式系统开发者来说非常有帮助。
热门推荐
五大策略助你成功融入爱尔兰职场
新西兰优化技术移民体系,多措并举吸引全球人才
加拿大2024年十大易移民职业出炉,IT医疗等成热门
高密度脂蛋白正常值最新标准
从吃喝拉撒到玩耍护理:新手养猫完全指南
十三年后再聚首:《甄嬛传》剧组澳门举办“甄嬛爱不停”晚会
甄嬛:从纯真少女到后宫智者的蜕变
5款营养均衡的猫咪餐:从火鸡三文鱼到大杂烩
云南酒井乡:500户养蜂年入250万,生态产业助力乡村振兴
云南酒井乡:生态养蜂带动500户增收,年产值达250万
森林覆盖率90%,这个云南乡镇靠养蜂年入250万
智能蜂箱实现环境监测与远程管理,引领养蜂业转型升级
职场形象礼仪:如何打造得体的发型与妆容
VR技术在汽车行业的三大应用:降本增效、安全培训、沉浸体验
<甄嬛传>:一件吉服如何改变甄嬛的命运
《甄嬛传》剧组澳门重聚,主创揭秘经典角色心理
《甄嬛传》13周年重聚:孙俪、蒋欣感慨“情谊依旧”
初中学历也能上大学:从电大中专到成人本科完整攻略
从初中到大专:四种成人学历提升途径对比
河南:九成麦苗长势良好,科技助力打好越冬“保卫战”
深耕翻土增肥力,科学管理保丰收:冬季农田管理全攻略
深耕翻土、增施有机肥:专家详解冬季农田管理要点
滇池畔的绝美日出,自驾游必备摄影指南
沙溪古镇:云南自驾游必打卡的绝美小镇
大理丽江香格里拉泸沽湖自驾游攻略:绝美风光与人文魅力的完美融合
王者荣耀S36赛季打野位:马超镜登顶,多英雄降级
个体工商户如何缴纳社保?来看→
个体户社保开户的好处和坏处_个体工商户给员工交保险的坏处
穿鞋健康科普:选对鞋,护健康
关于如何更好保护女性穿高跟鞋带来的伤害的研究课题