Todo joven Erasmus que se precie seguramente se haya encontrado en alguna fiesta dentro de una residencia de estudiantes dónde el “ingeniero de turno” ha abierto la tapa de plástico del detector de humos y ha empezado a fumar.
A los pocos minutos ha llegado una llamada por el telefonillo a la habitación avisando de que no se puede fumar en las habitaciones y que la policía está de camino…
¿Por qué sucede esto? ¿Qué hizo mal el joven ingeniero, auténtico liberador de la tiranía impuesta por las residencia extranjera? ¿Cómo supo la policía de esa fiesta clandestina en aquella habitación lúgubre? ¿Es esta una historia que se repite cada año alrededor del mundo o algo aislado que solamente han vivido unos cuantos de forma puntual?
¡Pues vamos allá, chavalada Erasmus!
Los sensores MQ, para el humo y para lo que quiera el hijo del vecino
La concentración de gases se puede medir. Hay máquinas con mucha precisión pero para proyectos que no necesitan de tanta precisión por no ser de vida o muerte lo que se utilizan son los sensores MQ.
Se trata de unos sensores medidores de gases que se encargan de detectar la concentración de un gas determinado. Para el caso del humo el que se utiliza es el MQ-2.
Pero otros MQ nos pueden ayudar a valorar la calidad del aire o el hidrógeno, el mónoxido de carbono, el ozono…
Al final, se trata de un sensor que reacciona ante un componente determinado variando su resistencia. Que es la que nosotros mediremos con nuestro Arduino…
El tiempo de adaptación de este pequeño caos
El sensor es fácil y sencillo y para toda la familia, pero hay que tener en cuenta que necesita unos minutos para adaptarse a este nuestro mundo contaminado (¡La cumbre del clima está aquí, tíos!).
Por eso, al conectarlo, el sensor necesita llegar a una temperatura a partir de la cuál las medidas empezarán a ser reales. Esto en nuestro caso se traduce en: Enciéndelo y espera un par de minutos a que se estabilice y el sensor empiece a dar medidas correctas.
El tiempo o la temperatura óptimas siempre puedes encontrarlos en el datasheet, esa arma padawan de los electrónicos.
Información básica sobre Proteción de datos
Responsable ➥ Sergio Luján Cuenca Finalidad ➥ Gestionar el envío de correos electrónicos con artículos, noticias y publicidad. Todo relacionado con los temas de rufianenlared.com Legitimación ➥ Consentimiento del interesado Destinatarios ➥ Estos datos se comunicarán a MailRelay para gestionar el envío de los correos electrónicos Derechos ➥ Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad Plazo de conservación de los datos ➥ Hasta que se solicite la supresión por parte del interesado Información adicional ➥ Puedes encontrarla en la política de privacidad y el aviso legal
Arduino, nuestro héroe ante el humo
Para su uso, los MQ para Arduino (Esos que vienen ya montados, con su placa azul más china que ná) vienen con 4 pines. Hay dos que son Vcc (Normalmente 5V, aunque hay que preguntarle al datasheet) y GND que son 0 Voltios.
En el caso del MQ-2 hay que conectar el Vcc a 5V de Arduino y GND al GND de Arduino. Luego hay dos pines extra: AO (Analogic Output) y DO (Digital Output).
A estos sensores MQ les incluyen un comparador. Este comparador lo que hace es enviar un HIGH por el pin DO si se supera un valor. Este valor se puede ajustar mediante un potenciómetro ya que se consigue mediante una comparación de voltaje.
El comparador salta cuando hay más voltaje en el sensor que en el potenciómetro. De esta manera tenemos que el voltaje de salida es proporcional a la cantidad de humo.
Esto electrónicamente en realidad tiene una implicación bastante fuerte:
Internamente, la resistencia del sensor disminuye a más humo.
Es decir, en estado normal la salida digital será LOW, pero al aumentar el humo la resistencia del sensor bajará, el voltaje de salida se incrementará, sobrepasará el valor límite y tendremos un HIGH en la salida digital.
De hecho, esto se programaría así:
void loop() {
if (digitalRead(6)) {
//Acciones a hacer si hay humo
}
else{
//Acciones a hacer si no hay humo
}
delay(1000);
}
Como ves, se comprueba si se ha activado el sensor y si da un HIGH realizamos lo que sea necesario. Sino, se mantiene el sistema estable.
No te dejes caer en las redes de lo digital…
La verdad es que este método a mí me parece muy rudimentario. Si viene el hijo del vecino y le da dos vueltas al potenciómetro (Los potenciómetros y cualquier objeto rodante tienen ese poder) seguramente tu proyecto arda sin que te des cuenta. O peor, puede que te avise a las 5am de que está ardiendo tu proyecto y sea una falsa alarma…
Para evitar estas cosas a mí me gusta utilizar el pin analógico AO. El pin analógico lo que nos va a dar es un valor de tensión que no será o HIGH o LOW, sino que variará de 5V a 0V según el valor de la resistencia que depende del humo ambiental.
Pero al final misma lógica que antes, a más humo, más voltaje de salida. Eso sí, ahora el valor límite para decir que hay demasiado humo no depende del valor de un potenciómetro que cualquiera puede cambiar físicamente.
Sino que depende del código de Arduino:
int medida = 0;
void setup() {
}
void loop() {
medida = analogRead(A0);
if (medida > 500) {
//Acciones a hacer si hay humo
}
else{
//Acciones a hacer si no hay humo
}
delay(1000);
}
Aquí lo que se hace es tomar el valor entre 0 y 1023 que nos ofrece el pin analógico de Arduino. Si este valor supera 500 (un ejemplo como cualquier otro…) es que hay humo.
Cuidado. Apunto donde prende…
Y con esto lo tendríamos claro. Ah bueno… Faltan algunas preguntas por responder. La verdad de por qué el joven Erasmus ingeniero no consiguió desconectar la alarma de incendios es porque solamente levantó la carcasa, pero el sensor seguía ahí conectado….
En cuanto a la policía… La policía nunca se enteró de nada de esto. Solamente se enteró la persona encargada de mantener el bienestar de la residencia, que fue quién los llamó con esa llamada horripilante para poner freno a esa fiesta clandestina.
Pero vaya, esto son cosas que me han contado. Nunca he estado en ninguna fiesta clandestina y no puedo decirte si es algo puntual o algo que sucede cada año en todas las residencias del mundo…