Jump to content

Arduino, sensor de gas con alarma


chujalt
 Share

Recommended Posts

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.

Edited by chujalt
Link to comment
Share on other sites

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

 

Muy bueno.

Edited by portaro
Link to comment
Share on other sites

  • 1 year later...

tengo un problema con respecto al proyecto a la hora de conectar el arduino con la PC el buzzer empiesa a chillar sin necesidad de compilar y grabar el proyecto  solo empieza a chillar ... con respecto a todo lo demas  esta bien todo .. solo tendria ese problema

 

Link to comment
Share on other sites

Saludos.

 

Es raro, comprueba las conexiones o que el buzer funciona correctamente.

 

Si sigue sonando, desconéctalo, carga el programa y vuélvelo a conectar.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...