目录
步骤一 材料准备
硬件准备:
Arduino UNO
面包板
杜邦线
5mm红色和绿色LED
蜂鸣器
221Ω电阻
软件准备:
Arduino IDE
步骤二 原理说明
在此示例中,您将读取传感器模拟输出电压,当烟雾达到一定水平时,它将发出蜂鸣声并且红色LED将亮起。
当输出电压低于该电平时,绿色LED将亮起。
什么是MQ-2烟雾传感器?
- LPG
- 丁烷
- 丙烷
- 甲烷
- 醇
- 氢
传感器的电阻根据气体的类型而不同。
烟雾传感器具有内置电位计,可根据您要检测气体的精确度调整传感器灵敏度。
它是如何工作的?
传感器输出的电压相应于大气中存在的烟/气水平而变化。传感器输出与烟/气浓度成比例的电压。
换句话说,电压和气体浓度之间的关系如下:
- 越大的气体浓度,更大的输出电压
- 较低的气体浓度,较低的输出电压
输出可以是模拟信号(A0),可以使用Arduino的模拟输入或数字输出(D0)读取,可以使用Arduino的数字输入读取。
步骤三 电路搭建
引脚接线
MQ-2传感器有4个引脚。
Pin ————————————- Arduino Uno的接线
A0 ————————————-模拟引脚
D0 ————————————-数字引脚
GND ———————————– GND
VCC ———————————— 5V
因此,在进入编码部分之前,让我们检查一下我们是否已经组装了所有必要的硬件组件。
步骤四 编写程序
int redLed = 12;
int greenLed = 11;
int buzzer = 10;
int smokeA0 = A5;
// Your threshold value
int sensorThres = 400;
void setup() {
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);
Serial.begin(9600);
}
void loop() {
int analogSensor = analogRead(smokeA0);
Serial.print("Pin A0: ");
Serial.println(analogSensor);
// Checks if it has reached the threshold value
if (analogSensor > sensorThres)
{
digitalWrite(redLed, HIGH);
digitalWrite(greenLed, LOW);
tone(buzzer, 1000, 200);
}
else
{
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH);
noTone(buzzer);
}
delay(100);
}
步骤五 验证结果
制作完成后,通过制造烟雾可以观察到绿灯和红灯分别亮起来。