一、简介
可以检测火焰或者波长在 760 纳米~1100 纳米范围内的光源
二、规格参数:
1.工作电压:DC 3.3V-5V
2.灵敏度可调(可调电位器)
3.工作温度:-10℃—+50℃
4.设有固定螺铨孔,方便安装
5.探测角度 60 度左右,对火焰光谱特别灵敏
6.输出形式数字开关量输出(0 和 1) 检测到火焰或光源引脚输出1,否则输出0
三、连接
将VCC和GND连接在开发板对应的引脚上(此处选择普中STM32F103开发板),信号输出线接在PC4上
给我少发了火焰传感器,所以此处无图!
四、代码
在frame.h 文件中,我们先进行宏定义,方便移植
#include "system.h"
#define Frame_STATE() GPIO_ReadInputDataBit(frame_PORT,frame_PIN)//读火焰传感器的状态
#define frame_PORT GPIOD
#define frame_PIN GPIO_Pin_1
#define frame_RCC RCC_APB2Periph_GPIOD
定义完了之后,再对frame.c文件中的PC4接收引脚进行初始化
#include "frame.h"
//对火焰传感器端口进行初始化
void infrared_INIT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量
RCC_APB2PeriphClockCmd(frame_RCC,ENABLE);
GPIO_InitStructure.GPIO_Pin=frame_PIN; //选择你要设置的IO口
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //设置浮空输入
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率
GPIO_Init(frame_PORT,&GPIO_InitStructure); /* 初始化GPIO */
}
最后,在main.c函数里面进行情况选择
只是为了熟悉传感器,使用函数写的很简陋
int main()
{
SysTick_Init(72);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组
LED_Init();
USART1_Init(115200);
frame_INIT();
while(1)
{
if(GPIO_ReadInputDataBit(frame_PORT,frame_PIN)==1)
{
LED1=0;
LED2=1;
printf("有火焰!rn");
}
else if(GPIO_ReadInputDataBit(frame_PORT,frame_PIN)==0)
{
LED2=0;
LED1=1;
printf("没有火焰人!rn");
}
}
}
一、简介
可以检测火焰或者波长在 760 纳米~1100 纳米范围内的光源
二、规格参数:
1.工作电压:DC 3.3V-5V
2.灵敏度可调(可调电位器)
3.工作温度:-10℃—+50℃
4.设有固定螺铨孔,方便安装
5.探测角度 60 度左右,对火焰光谱特别灵敏
6.输出形式数字开关量输出(0 和 1) 检测到火焰或光源引脚输出1,否则输出0
三、连接
将VCC和GND连接在开发板对应的引脚上(此处选择普中STM32F103开发板),信号输出线接在PC4上
给我少发了火焰传感器,所以此处无图!
四、代码
在frame.h 文件中,我们先进行宏定义,方便移植
#include "system.h"
#define Frame_STATE() GPIO_ReadInputDataBit(frame_PORT,frame_PIN)//读火焰传感器的状态
#define frame_PORT GPIOD
#define frame_PIN GPIO_Pin_1
#define frame_RCC RCC_APB2Periph_GPIOD
定义完了之后,再对frame.c文件中的PC4接收引脚进行初始化
#include "frame.h"
//对火焰传感器端口进行初始化
void infrared_INIT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量
RCC_APB2PeriphClockCmd(frame_RCC,ENABLE);
GPIO_InitStructure.GPIO_Pin=frame_PIN; //选择你要设置的IO口
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //设置浮空输入
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率
GPIO_Init(frame_PORT,&GPIO_InitStructure); /* 初始化GPIO */
}
最后,在main.c函数里面进行情况选择
只是为了熟悉传感器,使用函数写的很简陋
int main()
{
SysTick_Init(72);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组
LED_Init();
USART1_Init(115200);
frame_INIT();
while(1)
{
if(GPIO_ReadInputDataBit(frame_PORT,frame_PIN)==1)
{
LED1=0;
LED2=1;
printf("有火焰!rn");
}
else if(GPIO_ReadInputDataBit(frame_PORT,frame_PIN)==0)
{
LED2=0;
LED1=1;
printf("没有火焰人!rn");
}
}
}
举报