一、模块介绍
火焰传感器能够检测到火焰的光亮
购买链接:
https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18748153240.33.7eda723cVVKOLp&id=576040225454
火焰传感器可以用来检测光线的亮度。火焰传感器利用红外线对火焰非常敏感的特点,使用特制的红外线接受管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器中,中央处理器根据信号的变化做出相应的程序处理。
二、原理分析
火焰传感器使用YS-17感光电阻感知火焰,当使用打火机在传感器附近点着火后,YS-17导通,比较器的正向输入为0V左右,反向输入连接的是一个滑动变阻器,改变滑动变阻器的阻值,使输入端设置为2V左右,这时比较器输出低电平。正常状态时模块输出高电平。
三、代码解读
1、初始化IO口为输入。
GPIO_Init();
2、开启IO口复用时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
3、设置IO口与中断线的映射关系。
void GPIO_EXTILineConfig();
4、初始化线上中断,设置触发条件等。
EXTI_Init();
5、配置中断分组(NVIC),并使能中断。
NVIC_Init();
6、编写中断服务函数。
EXTIx_IRQHandler();
7、清除中断标志位
EXTI_ClearITPendingBit();
四、实践操作
一、实验操作步骤:
1、将 STM32F103 核心板正确插接到魔法师 M3/M4 底板上,连接好 J-link 与 PC 机;
2、将 火焰传感器 模块插到底板 P5 口,底板拨码 S1 拨向 ON 端;
3、编译整个工程,打开底板电源,烧写程序到核心板,并按一次复位按键。串口调试助手波特率为115200。
二、实验现象:
在火焰传感器旁边,打火机打开火,串口打印报警信息。