En este tutorial veremos como armar un, sistema de alarma detector de fuga de gas con arduino nano. Veremos un listado de los componentes electrónicos a utilizar, el armado del circuito, el código fuente, y finalmente probaremos el funcionamiento del sistema. Este proyecto es ideal para utilizar en fuentes cercanas de nuestro hogar, donde hay gas, como una cocina, estufa o termotanque.
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
Componentes electrónicos
Sensor de gas mq2
Pin-Out sensor de gas Mq-2
Datasheet sensor MQ-2
Descargar–> MQ-2
Sensor de gas (MQ2) es útil para la detección de fugas de gas (en el hogar y la industria). Puede detectar GLP, i-butano, metano, alcohol, hidrógeno, humo, etc. Basado en su rápido tiempo de respuesta. las medidas se pueden tomar lo antes posible. Además, la sensibilidad se puede ajustar mediante un potenciómetro(pin digital).
ESPECIFICACIONES TÉCNICAS
Voltaje de Operación: 5V DC
Respuesta rápida y alta sensibilidad
Rango de detección: 300 a 10000 ppm
Gas característico: 1000ppm, Isobutano
Resistencia de sensado: 1KΩ 50ppm Tolueno a 20KΩ in
Tiempo de Respuesta: ≤ 10s
Tiempo de recuperación: ≤ 30s
Temperatura de trabajo: -20 ℃ ~ +55 ℃
Humedad: ≤ 95% RH
Contenido de oxigeno ambiental: 21%
Consume menos de 150mA a 5V.
APLICACIONES
Detector de fugas de Gas
Detector industrial de gas
Arduino nano
El Arduino Nano es una placa pequeña, completa y compatible con la placa de pruebas basada en el ATmega328 (Arduino Nano 3.x). Tiene más o menos la misma funcionalidad del Arduino Duemilanove, pero en un paquete diferente. Solo carece de un conector de alimentación de CC y funciona con un cable USB Mini-B en lugar de uno estándar.
Microcontrolador | ATmega328 |
Arquitectura | AVR |
Tensión de funcionamiento | 5 V |
Memoria flash | 32 KB de los cuales 2 KB utiliza el gestor de arranque |
SRAM | 2 KB |
Velocidad de reloj | 16 MHz |
Pines analógicos IN | 8 |
EEPROM | 1 KB |
Corriente CC por pines de E / S | 40 mA (pines de E / S) |
Voltaje de entrada | 7-12 V |
Pines de E / S digitales | 22 (6 de los cuales son PWM) |
Salida PWM | 6 |
El consumo de energía | 19 mA |
Tamaño de PCB | 18 x 45 mm |
Peso | 7 g |
Diagrama de pines
Seis diodos led de 5 mm de distintos colores
Seis resistores de 1 Kohm
Un buzeer de 5 voltios
Pines hembra (4 pines en total)
Pines macho (En total 2)
Zócalo para el arduino nano
PCB
Descargar archivo gerber –> Gerber_MEDIDOR_DE_GAS_MQ-2
Circuito
Código Fuente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
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ógica A0 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ógica A0 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ógica A0 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);//pequeño retardo antes de comenzar de vuelta } |
VIDEO RECOMENDADO