「雕爷学编程」Arduino动手做(9)——火焰传感器模块

37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。 

【Arduino】66种传感器模块系列(专业资料+实验代码+图形仿真)

实验之九:火焰(红外线)传感器模块

红外光的基本原理

我们知道,人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线是波长介于微波和可见光之间的电磁波,波长在760纳米到1毫米之间,是波形比红光长的非可见光。自然界中的一切物体,只要它的温度高于绝对零度(-273)就存在分子和原子的无规则运动,其表面就会不停的辐射红外线。当然了,虽然是都辐射红外线,但是不同的物体辐射的红外强度是不一样的,而我们正是利用了这一点把红外技术应用到我们实际开发中。

火焰(红外线)接收管

红外接收管内部带了一个具有红外光敏感特征的PN节,属于光敏二极管,但是它只对红外光有反应。无红外光时,光敏管不导通,有红外光时,光敏管导通形成光电流,并且在一定范围内电流随着红外光的强度的增强而增大。它广泛用于各种家用电器的遥控接收器中,如音响、彩色电视机、空调器、VCD视盘机、DVD视盘机以及录像机等。能很好地接收红外发光二极管发射的波长为940nm的红外光信号,而对于其他波长的光线则不能接收,因而保证了接收的准确性和灵敏度。

应用电路

模块用途:
各种火焰、火源探测,红外接收

模块电原理图

模块特色:
1、可以检测火焰或者波长在 760 纳米~1100 纳米范围内的光源
2、探测角度 60 度左右,对火焰光谱特别灵敏
3、灵敏度可调(图中蓝色数字电位器调节)
4、对火焰的探测距离:跟灵敏度和火焰强度有关,一般 1m 以内适用(以打火机火焰测试,半米内能够触发传感器)
5、比较器输出,信号干净,波形好,驱动能力强,超过15mA
6、工作电压3.3V-5V
7、输出形式 :a 能够输出数字信号(高低电平),易于使用
                      b 能够输出模拟信号(电压信号),适合高精度的场合
8、设有固定螺栓孔,方便安装
9、小板PCB尺寸:3.2cm x 1.4cm
10、使用宽电压LM393比较器

模块接线说明(3线制)
1、VCC  接电源正极3.3-5V
2、GND  接电源负极
3、DO   TTL开关信号输出

模块接口说明(4 线制)
1、VCC 接电源正极 3.3-5V
2、GND 接电源负极
3、DO TTL 开关信号输出(0和1)
4、AO 小板模拟信号输出(电压信号)

实验仿真示意图

使用说明:
1、火焰传感器对火焰最敏感,对普通光也是有反应的,一般用做火焰报警等用途。
2、模块在环境火焰光谱或者光源达不到设定阈值时,DO 口输出高电平,当外界环境火焰光谱或者光源超过设定阈值时,模块 D0 输出低电平;
3、模块数字量输出 D0 可以与Arduino UNO直接相连,通过Arduino来检测高低电平,由此来检测环境的温度改变;
4、小板数字量输出 DO 可以直接驱动继电器模块,由此可以组成一个火焰开关;
5、小板模拟量输出 AO 可以和Arduino UNO的AO端相连,通过 AD 转换,可以获得环境湿度更精准的数值(4线板才带AO端);
6、传感器与火焰要保持一定距离,以免高温损坏传感器,对打火机测试火焰距离为80cm,对火焰越大,测试距离越远 ;
7、模块也可以做为红外接收感应器来使用。

实验说明
接好 VCC 和 GND,模块电源指示灯会亮,将模块放置桌面上,在没有火焰光谱情况下,如板子开关指示灯亮,则调节调节蓝色电位器,直到开关指示灯灭;然后对着火焰传感器最前端约 30cm 左右处打开打火机,会发现板上开关指示灯亮,然后然后熄灭打火机,则开关指示灯会灭。这个现象说明,火焰光谱可以触发模块,从而使开关指示灯点亮。火焰模块模块和数字13 接口自带LED 搭建简单电路,制作火焰提示灯,利用数字13 接口自带的LED,将火焰传感器接入数字3接口,当火焰传感器感测到有按键信号时,LED 亮,反之则灭。
 
 
/*
 【雕爷学编程】Arduino动手做(9)
【Arduino】66种传感器模块系列实验之九:火焰(红外线)传感器模块
源代码
*/

void setup()
{
    pinMode(3,INPUT); 
    pinMode(13,OUTPUT); 
}
 
void loop() {
  if (digitalRead(3)) {
     digitalWrite(13, LOW);
  }
  else {
     digitalWrite(13, HIGH);
     delay(2000);
  }
}

  

图为五路火焰传感器模块,模拟数字双重输出,灭火机器人用。

 

原文地址:https://www.cnblogs.com/eagler8/p/11363254.html