完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、红外避障传感器简介
红外避障是避障传感器的一种,(其他避障传感器有超声波传感器、激光避障传感器等),具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(信号输出接口输出低电平信号,可通过电位器旋钮调节检测距离。 二、传感器规格参数: 1.工作电压:DC 3.3V-5V 2.工作电流:≥20mA 3.工作温度:-10℃—+50℃ 4.检测距离:2-30cm 5.输出信号:有障碍物或反射到地面输出低电平,无障碍物高电平 6.调节方式:多圈电阻式调节 7.有效角度:35° 三、连接方法 将VCC和GND连接在开发板对应的引脚上(此处选择普中STM32F103开发板),信号输出线接在PD1xz.net上 四、代码 老师给的代码是直接对寄存器操作,于是自己改写直接用库函数去操作,方便移植。 在infrared.h 文件中,我们先进行宏定义,方便移植 #define INFRARED_STATE() GPIO_ReadInputDataBit(infrared_PORT,infrared_PIN)//读红外的状态 #define infrared_PORT GPIOD #define infrared_PIN GPIO_Pin_1 #define infrared_RCC RCC_APB2Periph_GPIOD #define INFRARED_STATE() GPIO_ReadInputDataBit(infrared_PORT,infrared_PIN)//读红外的状态 定义完了之后,再对infrared.c文件中的PC4接收引脚进行初始化 //对红外避障的端口进行初始化 void infrared_INIT(void) { GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量 RCC_APB2PeriphClockCmd(infrared_RCC,ENABLE); GPIO_InitStructure.GPIO_Pin=infrared_PIN; //选择你要设置的IO口 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //设置浮空输入 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率 GPIO_Init(infrared_PORT,&GPIO_InitStructure); /* 初始化GPIO */ } TIP:输入方式选浮空输入 最后,在main.c函数里面进行情况选择 int main() { LED_Init(); infrared_INIT(); while(1) { if(INFRARED_STATE()==0) //返回低电平,说明有障碍物 { LED2=0; printf("前方有障碍物!rn"); } else //返回高电平,说明没有障碍物 { LED2=1; printf("前方没有障碍物!rn"); } } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1752 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1611 浏览 1 评论
1052 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1666 浏览 2 评论
1926浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
711浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
560浏览 3评论
583浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 13:33 , Processed in 0.610888 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号