当前位置:网站首页>火焰传感器与 Arduino 连接
火焰传感器与 Arduino 连接
2022-08-02 03:29:00 【WENJIE科技】
火焰传感器与 Arduino 连接
前言
火灾造成的破坏是毁灭性的。为了防止造成人员伤亡或损害,有必要检测火灾,以便提供警告,甚至可以启动自动灭火系统。检测火灾有多种方法,如检测温度变化、检测烟雾等。在所有这些方法中,检测温度变化会更准确,因为有些火灾甚至没有可检测到的烟雾。甚至温度测量也不太可靠,因为有时检测到变化为时已晚。为了克服这个问题,我们可以检测热辐射而不是温度变化。检测热辐射的最简单和最便宜的方法是使用火焰传感器。在本教程中,我们将了解如何将火焰传感器模块与 Arduino 连接。
火焰传感器模块引脚
火焰传感器模块共有 4 个引脚。两个电源引脚和两个信号引脚。火焰传感器模块的引脚排列如下:
VCC==》为模块提供电源,连接到Arduino的5V引脚。
GND==》接地连接到 Arduino 的接地引脚。
DO==》数字输出引脚。
AO==》模拟输出引脚。
火焰传感器模块组成
火焰传感器模块只有很少的组件,其中包括一个 IR 光电二极管、一个 LM393 比较器 IC 和一些免费的无源组件。模块通电时电源 LED 亮,检测到火焰时 D0 LED 熄灭。灵敏度可以通过板载微调电阻进行调整。
关于火焰传感器的常见问题
火焰传感器如何工作?
火焰传感器基于红外辐射工作。红外光电二极管将检测来自任何热体的红外辐射。然后将该值与设定值进行比较。一旦辐射达到阈值,传感器将相应地改变其输出。
火焰传感器检测什么?
这种类型的火焰传感器检测红外辐射。
火焰传感器在哪里使用?
火焰传感器用于任何可能发生火灾的地方。尤其是在工业领域。
火焰传感器模块电路图
火焰传感器模块的示意图如下。如前所述,该板的组件数量非常少。主要元件是红外光电二极管和比较器电路。
火焰传感器模块如何工作?
火焰传感器模块的工作很简单。其背后的理论是热的物体会发出红外辐射。对于火焰或火灾,这种辐射会很高。我们将使用红外光电二极管检测这种红外辐射。光电二极管的电导率将根据其检测到的红外辐射而变化。我们使用 LM393 来比较这种辐射,当达到阈值时,数字输出会发生变化。我们还可以使用模拟输出来测量红外辐射强度。模拟输出直接取自光电二极管的端子。板载 D0 LED 将在检测到时显示存在火灾。灵敏度可以通过调整板上的可变电阻来改变。这可用于消除误触发。
Arduino火焰传感器接口电路图
现在我们已经完全了解了火焰传感器的工作原理,我们可以将所有必需的电线连接到 Arduino 并编写代码以从传感器中获取所有数据。下图显示了将火焰传感器模块与 Arduino 连接的电路图。连接非常简单,只需要三根线。将模块的 VCC 和 GND 连接到 Arduino 的 5V 和 GND 引脚。然后将 D0 引脚连接到 Arduino 的数字引脚 2。我们将监控该引脚的状态以检测火灾。
Arduino 火焰传感器代码
连接火焰传感器的代码非常简单易懂。我们只需要定义传感器与 Arduino 连接的引脚。完成此操作后,我们将监视此引脚的状态。
void setup()
{
pinMode(2, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
}
在设置函数中,我们将数字引脚 2 初始化为输入。该引脚用于监控火焰传感器输出。接下来,我们将连接内置 LED 的引脚 13 初始化为输出。我们将使用这个内置的 LED 作为状态指示灯。然后我们以 9600 的波特率初始化串口。
void loop()
{
if (digitalRead(2) == 1 )
{
digitalWrite(LED_BUILTIN, HIGH); // Led ON
Serial.println("** Warning!!!! Fire detected!!! **");
}
else
{
digitalWrite(LED_BUILTIN, LOW); // Led OFF
Serial.println("No Fire detected");
}
delay(100);
}
在Loop功能中,我们将监控数字引脚 2 的状态。当此引脚被火焰传感器拉低或拉高时,我们将改变状态 LED 的状态,并将警告消息打印到串行监视器。
下面的 GIF 显示了正在运行的火焰传感器界面。
边栏推荐
- 管理会计(对内)指引、管理会计要素及其具体内容(可能考,考前记一下,推荐记一下四个大点即可)、
- Laravel 的关联模型 及其 预加载多个关联 with使用方法
- Spark特征工程-one-hot 和 multi-hot
- 面试必备:Android性能分析与优化实战进阶手册
- 【树莓派入门(2)树莓派的远程控制】
- 18张图,直观理解神经网络、流形和拓扑
- kotlin语法总结(一)
- [Hello World教程] 使用HBuilder和Uni-app 生成一个简单的微信小程序DEMO
- Binder机制详解(一)
- Temporal action localization in untrimmed videos via Multi-stage CNNs SCNN论文阅读笔记
猜你喜欢
随机推荐
关于我的项目-实现一个数据库~
php laravel框架生成二维码
《scala 编程(第3版)》学习笔记3
还原最真实、最全面的一线大厂面试题
[Spark]-协同过滤
Windows下MySQL数据库报“ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:8000‘ (10061)”错误解决
哈工大2021机器学习期末考试题
ReentrantLock的使用和原理详解
无向图的连通分支数(并查集)
C# Form按ESC关闭窗体
野火ISO-V2学习
无源域适应(SFDA)方向的领域探究和论文复现(第一部分)
保证接口数据安全的10种方案
英语每日打卡
laravel 查询数据库获取结果如何判断是否为空?
修复APP的BUG,热修复的知识点和大厂的相关资料汇总
备战金九银十:Android 高级架构师的学习路线及面试题分享
uniapp发布到微信小程序:分包、删减代码全过程
英语每日打卡
zsh: command not found: xxx 解决方法