HS-S08P 火焰传感器
1、介绍 点这里回到目录
在公共场所,比如酒店,建筑物和其他地方都配备了火灾报警器,那么它如何感知火灾? 众所周知,当火灾爆发时,会有特别强烈的红外线,该设备可以通过红外线探测火灾。 火焰传感器是机器人专门用来搜寻火源的传感器,当然火焰传感器也可以用来检测光线的亮度,只是本传感器对火焰特别灵敏。火焰传感器利用红外线对对火焰非常敏感的特点,使用特制的红外线接受管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器中,中央处理器根据信号的变化做出相应的程序处理。
2、原理图 点这里回到目录
3、模块参数 点这里回到目录
引脚名称 | 描述 |
---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
D | 数字信号引脚 |
A | 模拟信号引脚 |
-
供电电压:3.3V / 5V
-
连接方式:PH2.0端子线
-
安装方式:双螺丝固定
4、电路板尺寸 点这里回到目录
5、Arduino IDE示例程序 点这里回到目录
示例程序(UNO开发板):点击下载
//火焰传感器s引脚接D4,火焰传感器A接A0(如需要检测火焰传感器模拟值);无源蜂鸣器接D6口; int FlamelDigitalValue;//定义数字变量,读取火焰数字值 int FlamelAnalogValue;//定义数字变量,读取火焰模拟值 int BuzzerPin=6;//定义数字常量,无源蜂鸣器接数字6口 void setup(){ Serial.begin(9600);//设置串口波特率 pinMode(4, INPUT);//设置火焰传感器数字引脚为输入 } void loop(){ FlamelAnalogValue = analogRead(A0);//读取火焰传感器模拟值 FlamelDigitalValue = digitalRead(4);//读取火焰传感器数字值 Serial.print("FlamelAnalogValue:"); Serial.print(FlamelAnalogValue);//打印火焰传感器模拟值 Serial.print(" FlamelDigital Data:"); Serial.println(FlamelDigitalValue);//打印火焰传感器数字值 if (FlamelDigitalValue == 0) {//判断火焰传感器是否检测到火焰 检测到火焰 蜂鸣器报警 pinMode(BuzzerPin, OUTPUT);//设置无源蜂鸣器模块引脚为输出 tone(BuzzerPin,196);//蜂鸣器响起 delay(2000);//延时2s } else { pinMode(BuzzerPin, OUTPUT); noTone(BuzzerPin);//蜂鸣器停止 } }
示例程序(ESP32开发板—基于Python语言,不能用Arduino IDE上传代码):
import machine
import music
import time
pin4 = machine.Pin(4, machine.Pin.IN)
value = 0
midi = music.MIDI(12)
while True:
value = pin4.value()
print('火焰值:',end ="")
print(value)
time.sleep_ms(200)
if value == 0:
midi.pitch_time(440, 1000)
6、米思齐 Mixly 示例程序(图形化语言) 点这里回到目录
示例程序(UNO开发板):点击下载
示例程序(ESP32开发板):点击下载
7、测试环境搭建 点这里回到目录
准备配件:
- HELLO STEM UNO R3 开发板 *1
- HELLO STEM UNO R3 P 扩展板 *1
- USB type-c 数据线 *1
- 无源蜂鸣器模块(HS-F02P)*1
- 火焰传感器模块(HS-S08P)*1
- PH2.0 端子转杜邦线 *2条
- PH2.0 双头端子线 *2条
电路接线图:
8、视频教程 点这里回到目录
视频教程:点击查看
9、测试结论 点这里回到目录
通过实验,我们可以观察到当火焰传感器检测到火焰时,串口输出低电平0,蜂鸣器响起;当没有检测到火焰时,串口输出高电平1,蜂鸣器不响。火焰传感器的模拟值会根据火焰大小和离火焰的距离的近远而变小;当读取的模拟值小于阀值时输出低电平,如果大于阀值则输出高电平。阀值大小可以通过调节可调电阻的大小来调节。