Conéctate para seguir esto  
chujalt

Arduino, sensor de gas con alarma

2 posts en este tema

Saludos....

    En esta ocasión vamos a realizar un sistema para medir la cantidad de gas (butano, natural, metano....) que hay en el ambiente, le asignamos un umbral y si la cantidad que capta el sensor es mayor que el umbral sonará un pitido (buzzer) y se encenderá un led rojo, que no se apagarán hasta que las lecturas den unas medidas por debajo del umbral.


Materiales utilizados

  • Una placa Arduino (yo he utilizado la Uno).
  • 7 Cables dupont.
  • Un sensor de gases MQ-5.
  • Un buzzer.
  • Un led de color rojo.

 

 

mq5.jpg

 

 

buzzer.jpg

 

 

Conexiones

  • Pin Vcc del sensor MQ-5 al pin 5v de arduino.
  • Pin AOUT del sensor MQ-5 al pin A0 de arduino.
  • Pin GND del sensor MQ-5 al pin GND de arduino.
  • Pin positivo del buzzer al pin 10 de arduino.
  • Pin negativo del buzzer al pin GND de arduino.
  • Pin positivo del led al pin 13 de arduino.
  • Pin negativo del led al pin GND de arduino.




Código Arduino:

const int gasPin = A0;
const int buzzerPin= 10;
int ledPin = 13;

void setup()
{
 pinMode(gasPin, INPUT);
 pinMode(buzzerPin, OUTPUT);
 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
}

void loop()
{
 int medida = analogRead(gasPin);
 if(medida > 200)
 { 
   digitalWrite(ledPin, HIGH);
playTone(1000, 500);   
}
else
{
digitalWrite(ledPin, LOW);
}
 Serial.println(medida);
 delay(1000);
}
void playTone(long duration, int freq) {
  duration *= 1000;
  int period = (1.0 / freq) * 1000000;
  long elapsed_time = 0;
  while (elapsed_time < duration) {
      digitalWrite(buzzerPin,HIGH);
      delayMicroseconds(period / 2);
      digitalWrite(buzzerPin, LOW);
      delayMicroseconds(period / 2);
      elapsed_time += (period);
  }
}

Básicamente el código lo que hace:

  • Asigna los pines.
  • Pone el sensor de gas como entrada y el buzzer y led de salida.
  • Inicia la comunicación serial a 9600 baudios.
  • Inicia una variable (medida) y le asigna el valor de la lectura del sensor.
  • Como el sensor, en condiciones normales, da una lectura entre 120 y 160, creamos una condición, si el valor de la medida es mayor de 200 se encenderá el pin rojo y empezará a sonar el buzzer, que no se apagarán hasta que la lectura sea inferior a 200.
  • Si tenemos la placa conectada al ordenador por el monitor serial nos imprimirá cada segundo las lecturas que hace el sensor.


Bueno... ya está... espero que le pueda servir a alguien. Saludos.

Compartir este post


Enlace al post
Compartir en otros sitios

Gracias por compartir y creo que una buena opción para vigilar procesos que usen gas.

 

Muy bueno.

Editado por portaro

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!

Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.

Iniciar Sesión
Conéctate para seguir esto