Arduino Uno 使用火焰传感器

!!!警告:本实验只是为了让您了解如何使用Arduino平台实现简单的火焰传感器,只能用于学习应用,不能保证其商业应用,请注意安全。

实验效果

主要观察串口监视器的模拟口输出的数值变化。 当打火机点着的时候,数值有变化,火源越靠近传感器,数值越底。 火源越远离传感器,数值越高。

这个模块还有数字输出0或者1,调节蓝色的电位,设定感应的灵敏度,当一越过阀值就输出1,否则就输出0。

元件说明

  • 用途:这些类型的传感器用于短距离火灾探测,可用于监视项目或作为安全预防措施来切断/打开设备。
  • 有固定螺栓孔,易于安装。
  • 小型PCB板尺寸:3.2厘米x 1.4厘米。
  • 可以检测火焰或者波长在760nm~1100nm范围内的火焰光源,打火机程度的火焰在约80cm的距离内可感应,火焰越大,能感应的距离就越远。
  • 探测(感应)的角度约60度,对火焰光谱特别灵敏
  • 数字开关输出的灵敏度可通过蓝色的电位器调节
  • 比较器输出,信号干净,波形好,驱动能力大于15mA。
  • 工作电压3.3V-5V
  • 模拟量输出(A0):实时输出热电阻上的电压信号 0 ~ 1023
  • 数字输出(D0):可通过电位计调节输出高低信号阈值 0或1
  • 工作原理:火焰传感器对760 nm〜1100 nm的红外波长非常敏感。

火焰传感器,烟雾传感器,火灾警报器等是安全设备的一部分,可以帮助我们保护房屋,办公室和商店免受火灾的影响。 几乎所有的现代房屋,公寓,购物中心,电影院大厅,剧院,办公楼和商店都配备有这种安全设备,并且在某些地区必须强制使用消防安全设备。

!!!警告:本实验只是为了让您了解如何使用Arduino平台实现简单的火焰传感器,只能用于学习应用,不能保证其商业应用,请注意安全。

引脚说明

  • A0 模拟输出口(Analog Output),输出数值0-1023
  • G 地线,该连接到Arduino的地线(GND)
  • + 供电口,接3.3V-5V直流电源
  • D0 数字输出口(Digital Output),输出数值0或1

BOM表

名称 数量
Arduino Uno x1
火焰传感器 x1
跳线(杜邦线) 若干

接线方式

Arduino Uno 引脚 <-> 火焰传感器 引脚
5V <-> VCC(+)
GND <-> GND
A0 <-> AO

程序提点

analogRead()

本指令用于从Arduino的模拟输入引脚读取数值。Arduino控制器有多个10位数模转换通道。这意味着Arduino可以将0-5伏特的电压输入信号映射到数值0-1023。

换句话说,我们可以将5伏特等分成1024份。0伏特的输入信号对应着数值0,而5伏特的输入信号对应着1023。

例: 当模拟输入引脚的输入电压为2.5伏特的时候,该引脚的数值为512。 (2.5伏特 / 5伏特 = 0.5, 1024 X 0.5 = 512)

引脚的输入范围以及解析度可以使用analogReference()指令进行调整。

Arduino控制器读取一次模拟输入需要消耗100微秒的时间(0.0001秒)。控制器读取模拟输入的最大频率是每秒10,000次。

注意:在模拟输入引脚没有任何连接的情况下,用analogRead()指令读取该引脚,这时获得的返回值为不固定的数值。这个数值可能受到多种因素影响,如将手靠近引脚也可能使得该返回值产生变化。

示例

int val = 0;
val = analogRead(A0); // 获取模拟口A0的数值,并赋值给val变量 

程序实现

// lingshunlab.com

void setup() {
  Serial.begin(9600); // 设置波特率
}

void loop() {
  Serial.println(analogRead(A0)); // 输出 模块口A0获取的数值
  delay(100); // 等待100毫秒
}