Como fazer um circuito de medidor de poluição do ar com LED com Arduino

Experimente Nosso Instrumento Para Eliminar Problemas





Neste projeto, vamos construir um medidor de poluição do ar usando o sensor MQ-135 e o arduino. O nível de poluição do ar é indicado por séries de 12 LED. Quanto maior o número de LEDs acesos, maior será o conteúdo de poluição do ar e vice-versa.



Visão geral

Este projeto pode ser muito útil em locais onde a qualidade do ar desempenha um papel importante, como em hospitais. Alternativamente, este também pode ser outro projeto de hobby para sua própria casa.

Embora não possamos esperar um grande grau de precisão com este projeto, ele pode definitivamente dar uma ideia razoavelmente boa em relação ao nível de poluição em seu ambiente.



A poluição do ar pode ser dióxido de carbono, monóxido de carbono, butano, metano e algum gás inodoro. O sensor não consegue diferenciar os gases, mas leva todas as amostras de gás do ar de uma vez.

Se você está morando em uma cidade metropolitana e seu apartamento está localizado perto de uma estrada movimentada, este projeto pode ser útil para fornecer uma visão aproximada sobre o ambiente aéreo.

A maioria das pessoas ignora as medidas de qualidade do ar em suas residências. Estima-se que só a Índia contribui com 1,59 milhões de mortes todos os anos, o que inclui poluição interna e externa.

A maioria da população desconhece os purificadores de ar que estão prontamente disponíveis nos mercados e sites de comércio eletrônico, que não custam mais do que um smartphone.

Ok, agora avisos à parte, vamos mergulhar nos circuitos.

O design:

O medidor de poluição do ar será mais interessante se os LEDs forem retangulares e o layout acima for usado. No entanto, você pode usar sua imaginação para tornar este projeto mais interessante para você.

Como fazer um circuito de medidor de poluição do ar com LED

O esquema acima ilustra como conectar o sensor ao Arduino. Uma fonte de alimentação externa é implementada para a bobina de aquecimento do sensor. Os lados do sensor podem ser trocados.

O pino A0 do arduino detecta as variações de tensão no sensor devido às mudanças no conteúdo de poluição do ar.

O sensor atua como um resistor variável (em resposta à poluição) e 10K é um resistor fixo, este age como um divisor de tensão. O arduino possui ADC de 10 bits, que ajuda o LED a brilhar discretamente em resposta ao nível de poluição do ar, que é uma função analógica.

Circuito de medidor de poluição do ar LED com Arduino

Quando o nível de tensão analógica ultrapassa um certo nível de limite pré-determinado no programa, ele acenderá os LEDs.

Os LEDs sucessivos são pré-determinados com níveis de limite mais altos.

Ele começa com o teste de LED, cada LED é ligado sequencialmente com algum atraso e o usuário pode determinar o erro nas conexões do LED, como LEDs desconectados e LEDs que não são classificados sequencialmente. O programa pára por 5 minutos e todos os LEDs acendem simultaneamente.

Isso dará tempo suficiente para o sensor aquecer, podemos ver algumas das ações realizadas pelo arduino no monitor serial. Assim que o sensor atinge a temperatura ideal, o arduino envia algumas leituras para o monitor serial. Com base nas leituras, os LEDs serão LIGADOS e DESLIGADOS. Quanto mais altos os valores forem impressos no monitor serial, mais número de LEDs acende.

O monitor serial não é obrigatório neste projeto, mas pode ser uma ferramenta útil para fins de teste.

Imagem de protótipo:

Protótipo testado de LED de circuito medidor de poluição do ar com Arduino

Como testar:

• Ligue o arduino e a fonte de alimentação externa. O teste de LED começará e será executado apenas uma vez.
• O programa espera 5 minutos até que o sensor aqueça.
• Assim que as leituras aparecerem no monitor serial, traga um isqueiro e vaze o gás sem queimá-lo.
• Logo, as leituras atingem o pico e um número maior de LEDs começa a brilhar.
• Depois que você interrompe o fluxo de gás no sensor, os LEDs se apagam gradualmente. Agora, o seu medidor de poluição do ar com LED está pronto para atender a sua sala.

Código do 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 SMS de vazamento de GLP usando MQ-135 - Obtenha uma mensagem de alerta no seu celular Próximo: Fonte de alimentação de modo de comutação variável LM317 (SMPS)