ArduinoUNO实战-第十七章-火焰传感器

慈云数据 2024-04-23 技术支持 52 0

目录

  • 一、参考
  • 二、目标
  • 三、理论学习
    • 1、火焰传感器如何工作?
    • 2、火焰传感器检测什么?
    • 3、火焰传感器在哪里使用?
    • 4、火焰传感器模块如何工作?![在这里插入图片描述](https://img-blog.csdnimg.cn/1eb5e44aa2d248108d060009d8304128.gif)
    • 四、实物图
    • 五、接线图
      • 1、接数字引脚
      • 2、接模拟引脚
      • 六、代码

        一、参考

        • Arduino火焰传感器(含代码)
        • 火焰传感器与 Arduino 连接

          二、目标

          检测到由火源报警

          三、理论学习

          • 远红外火焰传感器可以用来探测火源或其它一些波长在700纳米~1000纳米范围内的热源,在机器人比赛中,远红外火焰探头起到非常重要的作用,它可以用作机器人的眼睛来寻找火源或足球。利用它可以制作灭火机器人等。
          • 远红外火焰传感器能投探测700纳米~1000纳米范围内的红外光,探测角度为60,其中红外光波长在880纳米附近时,其灵敏度达到最大。远红外火焰探头将外界红外光的强弱变化转化为电流的变化,通过A/D转换器反映为0 ~1023范围内的数值的变化。外界红外光越强,数值越小;红外光越弱,数值越大。

            1、火焰传感器如何工作?

            火焰传感器基于红外辐射工作。红外光电二极管将检测来自任何热体的红外辐射。然后将该值与设定值进行比较。一旦辐射达到阈值,传感器将相应地改变其输出。

            2、火焰传感器检测什么?

            这种类型的火焰传感器检测红外辐射。

            3、火焰传感器在哪里使用?

            火焰传感器用于任何可能发生火灾的地方。尤其是在工业领域。

            4、火焰传感器模块如何工作?在这里插入图片描述

            火焰传感器模块的工作很简单。其背后的理论是热的物体会发出红外辐射。对于火焰或火灾,这种辐射会很高。我们将使用红外光电二极管检测这种红外辐射。光电二极管的电导率将根据其检测到的红外辐射而变化。我们使用 LM393 来比较这种辐射,当达到阈值时,数字输出会发生变化。

            我们还可以使用模拟输出来测量红外辐射强度。模拟输出直接取自光电二极管的端子。板载 D0 LED 将在检测到时显示存在火灾。灵敏度可以通过调整板上的可变电阻来改变。这可用于消除误触发。

            四、实物图

            在这里插入图片描述

            在这里插入图片描述

            火焰传感器模块共有 4 个引脚。两个电源引脚和两个信号引脚。火焰传感器模块的引脚排列如下:

            在这里插入图片描述

            • VCC==》为模块提供电源,连接到Arduino的5V引脚。
            • GND==》接地连接到 Arduino 的接地引脚。
            • DO==》数字输出引脚。
            • AO==》模拟输出引脚。

              火焰传感器模块只有很少的组件,其中包括一个 IR 光电二极管、一个 LM393 比较器 IC 和一些免费的无源组件。模块通电时电源 LED 亮,检测到火焰时 D0 LED 熄灭。灵敏度可以通过板载微调电阻进行调整。

              在这里插入图片描述

              五、接线图

              1、接数字引脚

              连接非常简单,只需要三根线。将模块的 VCC 和 GND 连接到 Arduino 的 5V 和 GND 引脚。然后将 D0 引脚连接到 Arduino 的数字引脚 2。我们将监控该引脚的状态以检测火灾。

              在这里插入图片描述

              2、接模拟引脚

              在这里插入图片描述

              六、代码

              连接火焰传感器的代码非常简单易懂。我们只需要定义传感器与 Arduino 连接的引脚。完成此操作后,我们将监视此引脚的状态。

              在设置函数中,我们将数字引脚 2 初始化为输入。该引脚用于监控火焰传感器输出。接下来,我们将连接内置板载 LED 的引脚 13 初始化为输出。我们将使用这个内置的 LED 作为状态指示灯。然后我们以 9600 的波特率初始化串口。

              在Loop功能中,我们将监控数字引脚 2 的状态。当此引脚被火焰传感器拉低或拉高时,我们将改变状态 LED 的状态,并将警告消息打印到串行监视器。

              /**
              监听2号引脚的高低电平来判断是否有火焰
              */
              #define KEY 2
              void setup()
              {
                pinMode(KEY, INPUT); 
                pinMode(LED_BUILTIN, OUTPUT);
                Serial.begin(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);
              }
              

              下面的 GIF 显示了正在运行的火焰传感器界面。

              在这里插入图片描述

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon