描述
带有arduino nano的气体泄漏探测器报警系统
在本教程中,我们将了解如何使用 arduino nano 组装气体泄漏检测报警系统。我们将看到要使用的 电子元件列表、 电路的组装、源代码,最后我们将测试系统的运行情况。该项目非常适合在我们家附近有燃气的地方使用,例如厨房、火炉或热水瓶
电子元器件
mq2气体传感器
引脚输出传感器 de gas Mq-2
数据表传感器 MQ-2
下载->MQ-2
气体传感器 (MQ2) 可用于气体泄漏检测(在家庭和工业中)。它可以检测液化石油气、异丁烷、甲烷、酒精、氢气、烟雾等。基于其快速的响应时间。可以尽快采取措施。此外,可以使用电位器(数字引脚)调节灵敏度。
威廉希尔官方网站
规格
工作电压:5V DC
快速地
响应和高灵敏度检测范围:300至10000
ppm
特征气体:1000ppm,异丁烷感应电阻:
1KΩ 50ppm 甲苯,20KΩ 响应时间:≤ 10s
恢复时间:≤30s
工作温度:-20°C~+55°C
湿度:≤95% RH
环境氧含量:21%
在 5V 时消耗小于 150mA。
应用
气体
检漏仪 工业气体检测仪
Arduino纳米
Arduino Nano 是基于 ATmega328 (Arduino Nano 3.x) 的小型、完整且兼容的板。它具有或多或少与 Arduino Duemilanove 相同的功能,但封装不同。它仅缺少直流 电源连接器,可使用 Mini-B USB 电缆而不是标准电缆。
引脚图
六个不同颜色的 5 mm LED 二极管
6个1Kohm电阻
5伏蜂鸣器
母针(共4针)
公插针(共2个)
arduino nano 的插座
印刷电路板
电路
代码
| int sensorMQ2=0;
|
| void setup(){
|
| Serial.begin(9600);//Configuración de la velocidad del puerto serial de arduino a 9600
|
| //Se configuraran los pines 2,3,4,5,6 y 7 como salidas
|
| //Del pin 2 al 6 van conectados a diodos led con su respectiva resistencia
|
| pinMode(2, OUTPUT);
|
| pinMode(3, OUTPUT);
|
| pinMode(4, OUTPUT);
|
| pinMode(5, OUTPUT);
|
| pinMode(6, OUTPUT);
|
| //Va conectado al Buzzer
|
| pinMode(7, OUTPUT);
|
| sensorMQ2=analogRead(A0);//Se lee el valor de la entrada analógicaA0 donde está conectado el sensor MQ2
|
| while(sensorMQ2>80){
|
| Serial.print("Esperando a que se estabilice el sensor MQ2 (valor menor a 80): ");//Se imprime su valor por el terminal serial
|
| sensorMQ2=analogRead(A0);//Se lee el valor de la entrada analógicaA0
|
| Serial.println(sensorMQ2);//Se imprime su valor por el terminal serial
|
| digitalWrite(2, HIGH);
|
| digitalWrite(3, HIGH);
|
| digitalWrite(4, HIGH);
|
| digitalWrite(5, HIGH);
|
| digitalWrite(6, HIGH);
|
| delay(500);
|
| digitalWrite(2, LOW);
|
| digitalWrite(3, LOW);
|
| digitalWrite(4, LOW);
|
| digitalWrite(5, LOW);
|
| digitalWrite(6, LOW);
|
| delay(500);
|
| }
|
| }
|
| void loop(){
|
| sensorMQ2=analogRead(A0);//Se lee el valor de la entrada analógicaA0
|
| Serial.print("Valor del sensor MQ2: ");
|
| Serial.println(sensorMQ2);//Se imprime su valor por el terminal serial
|
| //Se compara el valor de la variable sensorMQ2 si se cumple apagará todos los led
|
| if(sensorMQ2<79){
|
| digitalWrite(2, LOW);
|
| digitalWrite(3, LOW);
|
| digitalWrite(4, LOW);
|
| digitalWrite(5, LOW);
|
| digitalWrite(6, LOW);
|
| digitalWrite(7, LOW);
|
|
|
| }
|
| //Se compara el valor de la variable sensorMQ2 si se cumple encenderá el led en el pin 2
|
| if(sensorMQ2>80){
|
| digitalWrite(2, HIGH);
|
| digitalWrite(3, LOW);
|
| digitalWrite(4, LOW);
|
| digitalWrite(5, LOW);
|
| digitalWrite(6, LOW);
|
| digitalWrite(7, LOW);
|
|
|
| }
|
| //Se compara el valor de la variable sensorMQ2 si se cumple encenderá el led en el pin 2 y 3
|
| if(sensorMQ2>120){
|
| digitalWrite(2, HIGH);
|
| digitalWrite(3, HIGH);
|
| digitalWrite(4, LOW);
|
| digitalWrite(5, LOW);
|
| digitalWrite(6, LOW);
|
| digitalWrite(7, LOW);
|
|
|
| }
|
| //Se compara el valor de la variable sensorMQ2 si se cumple encenderá el led en el pin 2, 3 y 4
|
| if(sensorMQ2>160){
|
| digitalWrite(2, HIGH);
|
| digitalWrite(3, HIGH);
|
| digitalWrite(4, HIGH);
|
| digitalWrite(5, LOW);
|
| digitalWrite(6, LOW);
|
| digitalWrite(7, LOW);
|
|
|
| }
|
| //Se compara el valor de la variable sensorMQ2 si se cumple encenderá el led en el pin 2, 3, 4, y 5
|
| if(sensorMQ2>200){
|
| digitalWrite(2, HIGH);
|
| digitalWrite(3, HIGH);
|
| digitalWrite(4, HIGH);
|
| digitalWrite(5, HIGH);
|
| digitalWrite(6, LOW);
|
| digitalWrite(7, LOW);
|
|
|
| }
|
| //Se compara el valor de la variable sensorMQ2 si se cumple encenderá el led en el pin 2, 3 ,4 ,5, 6 y el buzzer
|
| if(sensorMQ2>240){
|
| digitalWrite(2, HIGH);
|
| digitalWrite(3, HIGH);
|
| digitalWrite(4, HIGH);
|
| digitalWrite(5, HIGH);
|
| digitalWrite(6, HIGH);
|
| digitalWrite(7, HIGH);//Se actica el buzzer
|
|
|
| }
|
| delay(100);// retardo antes de comenzar de vuelta
|
| }
|
0
|
|
|
|