常用传感器讲解二--火焰探测器-KY-026(FLAME)

604 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

具体讲解

所需传感器: 火焰传感器(带有模拟输出的型号) 公向母跳线 Arduino 打火机

用途:这些类型的传感器用于近距离火灾探测,可用于监测项目或作为安全预防措施,切断/开设备。 工作原理:火焰传感器对附近的红外波长非常敏感。 模拟输出(A0):热阻上实时输出电压信号。 数字输出(D0):当温度达到一定阈值时,输出高低信号阈值可通过电位器调节。

针脚: VCC……正电压输入:模拟5v,数字3.3v。 A0 ..........模拟输出 D0……数字输出 接地……地面

代码会映射并读取火焰传感器给出的模拟值(0-1024)。原料火焰传感器将与此代码有以下反应: 如果在传感器前1.5英尺内有火焰;“case 0”将被激活,“** Close Fire ”将被发送到串行监视器。如果在传感器前1.5英尺到3英尺之间有火焰;“case 1”将被激活,“ remote Fire**”将被发送到串行监视器。如果传感器前没有检测到火焰;“case 2”将被激活,“No Fire”将被发送到串行监视器。

电路连接

VCC ...............................5伏

GND............................... 接地

A0 ..................................模拟在0

代码部分

// lowest and highest sensor readings:
const int sensorMin = 0;     // sensor minimum
const int sensorMax = 1024;  // sensor maximum

void setup() {
  // initialize serial communication @ 9600 baud:
  Serial.begin(9600);  
}
void loop() {
  // read the sensor on analog A0:
	int sensorReading = analogRead(A0);
  // map the sensor range (four options):
  // ex: 'long int map(long int, long int, long int, long int, long int)'
	int range = map(sensorReading, sensorMin, sensorMax, 0, 3);
  
  // range value:
  switch (range) {
  case 0:    // A fire closer than 1.5 feet away.
    Serial.println("** Close Fire **");
    break;
  case 1:    // A fire between 1-3 feet away.
    Serial.println("** Distant Fire **");
    break;
  case 2:    // No fire detected.
    Serial.println("No Fire");
    break;
  }
  delay(1);  // delay between reads
}