Com fer un circuit de mesurament de la contaminació atmosfèrica LED amb Arduino

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest projecte construirem un mesurador de contaminació atmosfèrica mitjançant sensor MQ-135 i arduino. El nivell de contaminació de l’aire s’indica mitjançant una sèrie de 12 LED. Si augmenta el nombre de LEDs, més alt és el contingut de contaminació de l’aire i viceversa.



Visió general

Aquest projecte pot resultar molt útil en llocs on la qualitat de l’aire juga un paper important, com en els hospitals. Alternativament, aquest pot ser també un altre projecte d’afició per a casa vostra.

Tot i que no podem esperar un gran grau de precisió amb aquest projecte, sens dubte pot donar una bona idea pel que fa al nivell de contaminació del vostre ambient.



La contaminació de l'aire pot ser diòxid de carboni, monòxid de carboni, butà, metà i alguns gasos inodor. El sensor no pot diferenciar gasos, sinó que pren totes les mostres de gas de l’aire al mateix temps.

Si viviu a la ciutat metropolitana i el vostre apartament està situat a prop d’una carretera concorreguda, aquest projecte pot ser útil per donar una visió aproximada de l’ambient aeri.

La majoria de la gent ignora les mesures de qualitat de l'aire a la seva residència; s'estima que l'Índia només contribueix a 1,59 milions de morts cada any, que inclou contaminacions interiors i exteriors.

La majoria de la població desconeix els purificadors d’aire que estan fàcilment disponibles als mercats i als llocs de comerç electrònic, que no costen més que els telèfons intel·ligents.

D’acord, ara hi ha avisos, aprofundim en els circuits.

El disseny:

El mesurador de contaminació atmosfèrica serà més interessant si els LED tenen forma rectangular i s’utilitza el disseny de disseny superior. Tot i això, podeu fer servir la vostra imaginació per fer aquest projecte més interessant per a vosaltres.

Com fer un circuit de mesurament de la contaminació atmosfèrica amb LED

L’esquema anterior il·lustra com connectar el sensor a l’arduino. S'implementa una font d'alimentació externa per a la bobina de l'escalfador del sensor. Els costats del sensor es poden intercanviar.

El pin A0 de l’arduino detecta les variacions de tensió del sensor a causa dels canvis en el contingut de contaminació de l’aire.

El sensor actua com a resistència variable (en resposta a la contaminació) i 10K és una resistència fixa, que actua com a divisor de tensió. L’arduino té ADC de 10 bits, que ajuda el LED a brillar discretament en resposta al nivell de contaminació de l’aire, que és una funció analògica.

Circuit LED de mesurament de la contaminació atmosfèrica amb Arduino

Quan el nivell de tensió analògica creua un nivell de llindar determinat que està predeterminat al programa, s'encendran els LED.

Els LED successius estan predeterminats amb nivells de llindar més alts.

Comença amb la prova de LED, cada LED s’encén de manera seqüencial amb cert retard i l’usuari pot determinar l’error de les connexions de LED, com ara LEDs no connectats i LEDs que no s’ordenen de manera seqüencial. El programa s’atura durant 5 minuts i tots els LED brillen simultàniament.

Això donarà prou temps perquè el sensor s’escalfi; podem veure algunes de les accions realitzades per arduino al monitor sèrie. Un cop el sensor aconsegueix la temperatura òptima, arduino envia algunes lectures al monitor sèrie. Segons les lectures, els LED s’encenen i s’apaguen. Com més alts s’imprimeixin els valors al monitor sèrie, s’encén més nombre de LEDs.

El monitor sèrie no és obligatori en aquest projecte, però pot ser una eina útil per a proves.

Imatge del prototip:

S

Com provar:

• Enceneu l’arduino i la font d’alimentació externa. La prova del LED començarà i només s’executarà una vegada.
• El programa espera durant 5 minuts perquè el sensor s’escalfi.
• Un cop apareguin les lectures al monitor de sèrie, porteu un encenedor i deixeu anar el gas sense cremar-lo.
• Aviat, les lectures arribaran al màxim i començarà a brillar més nombre de LEDs.
• Un cop atureu el flux de gas al sensor, els LED s’apagaran gradualment. Ara el vostre mesurador de contaminació atmosfèrica LED està preparat per servir-vos a l’habitació.

Codi del programa:

//--------------Program developed by R.Girish---------------//
int input=A0
int a=2
int b=3
int c=4
int d=5
int e=6
int f=7
int g=8
int h=9
int i=10
int j=11
int k=12
int l=13
int T=750
unsigned long X = 1000L
unsigned long Y = X * 60
unsigned long Z = Y * 5
void setup()
{
Serial.begin(9600)
Serial.println('Sensor is getting ready, please wait for 5 min.')
pinMode(a,OUTPUT)
pinMode(b,OUTPUT)
pinMode(c,OUTPUT)
pinMode(d,OUTPUT)
pinMode(e,OUTPUT)
pinMode(f,OUTPUT)
pinMode(g,OUTPUT)
pinMode(h,OUTPUT)
pinMode(i,OUTPUT)
pinMode(j,OUTPUT)
pinMode(k,OUTPUT)
pinMode(l,OUTPUT)
pinMode(a,HIGH)
delay(T)
digitalWrite(a,HIGH)
delay(T)
digitalWrite(b,HIGH)
delay(T)
digitalWrite(c,HIGH)
delay(T)
digitalWrite(d,HIGH)
delay(T)
digitalWrite(e,HIGH)
delay(T)
digitalWrite(f,HIGH)
delay(T)
digitalWrite(g,HIGH)
delay(T)
digitalWrite(h,HIGH)
delay(T)
digitalWrite(i,HIGH)
delay(T)
digitalWrite(j,HIGH)
delay(T)
digitalWrite(k,HIGH)
delay(T)
digitalWrite(l,HIGH)
delay(T)
delay(Z)
}
void loop()
{
Serial.println(analogRead(input))
if(analogRead(input)>=85) digitalWrite(a,1)
if(analogRead(input)>=170) digitalWrite(b,1)
if(analogRead(input)>=255) digitalWrite(c,1)
if(analogRead(input)>=340) digitalWrite(d,1)
if(analogRead(input)>=425) digitalWrite(e,1)
if(analogRead(input)>=510) digitalWrite(f,1)
if(analogRead(input)>=595) digitalWrite(g,1)
if(analogRead(input)>=680) digitalWrite(h,1)
if(analogRead(input)>=765) digitalWrite(i,1)
if(analogRead(input)>=850) digitalWrite(j,1)
if(analogRead(input)>=935) digitalWrite(k,1)
if(analogRead(input)>=1000) digitalWrite(l,1)
delay(1000)
if(analogRead(input)<=85) digitalWrite(a,0)
if(analogRead(input)<=170) digitalWrite(b,0)
if(analogRead(input)<=255) digitalWrite(c,0)
if(analogRead(input)<=340) digitalWrite(d,0)
if(analogRead(input)<=425) digitalWrite(e,0)
if(analogRead(input)<=510) digitalWrite(f,0)
if(analogRead(input)<=595) digitalWrite(g,0)
if(analogRead(input)<=680) digitalWrite(h,0)
if(analogRead(input)<=765) digitalWrite(i,0)
if(analogRead(input)<=850) digitalWrite(j,0)
if(analogRead(input)<=935) digitalWrite(k,0)
if(analogRead(input)<=1000) digitalWrite(l,0)
}
//--------------Program developed by R.Girish---------------//




Anterior: Alerta per SMS de fugida de GLP mitjançant MQ-135: rep un missatge d’advertència al mòbil Següent: Font d'alimentació en mode de commutador variable (SMPS) LM317