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毫秒
}