Come realizzare un circuito misuratore di inquinamento atmosferico a LED con Arduino

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo progetto costruiremo un misuratore di inquinamento atmosferico utilizzando il sensore MQ-135 e arduino. Il livello di inquinamento dell'aria è indicato da una serie di 12 LED. Se maggiore è il numero di LED accesi, maggiore è il contenuto di inquinamento nell'aria e viceversa.



Panoramica

Questo progetto può rivelarsi molto utile in luoghi in cui la qualità dell'aria gioca un ruolo importante come negli ospedali. In alternativa, questo può essere anche un altro progetto hobby per la tua casa.

Anche se questo non possiamo aspettarci un grande grado di precisione con questo progetto, può sicuramente dare un'idea ragionevolmente buona del livello di inquinamento nel tuo ambiente.



L'inquinamento atmosferico può essere anidride carbonica, monossido di carbonio, butano, metano e alcuni gas inodori. Il sensore non è in grado di distinguere i gas, ma prende tutti i campioni di gas dall'aria in un colpo solo.

Se vivi in ​​una città metropolitana e il tuo appartamento è situato vicino a una strada trafficata, questo progetto potrebbe tornare utile per dare una visione approssimativa dell'atmosfera.

La maggior parte delle persone ignora le misure di qualità dell'aria nella propria residenza, si stima che l'India da sola contribuisca a 1,59 milioni di morti ogni anno, compresi gli inquinamenti interni ed esterni.

La maggior parte della popolazione non è a conoscenza dei depuratori d'aria che sono prontamente disponibili sui mercati e sui siti di e-commerce, che non costano più di uno smartphone.

Ok, ora a parte gli avvertimenti, tuffiamoci nei circuiti.

Il design:

Il misuratore dell'inquinamento atmosferico sarà più interessante se i LED sono di forma rettangolare e viene utilizzato il design del layout sopra. Tuttavia, puoi usare la tua immaginazione per rendere questo progetto più interessante per te.

Come realizzare un circuito misuratore di inquinamento atmosferico a LED

Lo schema sopra mostra come collegare il sensore ad arduino. È implementata un'alimentazione esterna per la bobina del riscaldatore del sensore. I lati del sensore possono essere scambiati.

Il pin A0 di arduino rileva le variazioni di tensione nel sensore dovute a variazioni del contenuto di inquinamento nell'aria.

Il sensore funge da resistenza variabile (in risposta all'inquinamento) e 10K è una resistenza fissa, che funge da partitore di tensione. L'arduino ha un ADC a 10 bit, che aiuta il LED a illuminarsi discretamente in risposta al livello di inquinamento atmosferico, che è una funzione analogica.

Circuito misuratore di inquinamento atmosferico a LED con Arduino

Quando il livello di tensione analogico supera un certo livello di soglia predeterminato nel programma, si accendono i LED.

I LED successivi sono predeterminati con livelli di soglia più alti.

Inizia con il test dei LED, ogni LED viene acceso in sequenza con un certo ritardo e l'utente può determinare l'errore nelle connessioni LED, come LED non collegati e LED che non sono ordinati in sequenza. Il programma si interrompe per 5 minuti e tutti i LED si accendono contemporaneamente.

Questo darà abbastanza tempo per il riscaldamento del sensore, possiamo vedere alcune delle azioni eseguite da arduino nel monitor seriale. Una volta che il sensore raggiunge la temperatura ottimale, arduino invia alcune letture al monitor seriale. In base alle letture, i LED si accenderanno e si spegneranno. Maggiori sono i valori stampati sul monitor seriale, più il numero di LED si accende.

Il monitor seriale non è obbligatorio in questo progetto, ma può essere uno strumento utile a scopo di test.

Immagine prototipo:

Circuito misuratore di inquinamento atmosferico a LED prototipo testato con Arduino

Come testare:

• Accendi l'arduino e l'alimentazione esterna. Il test LED inizierà e verrà eseguito solo una volta.
• Il programma attende 5 minuti che il sensore si riscaldi.
• Una volta che le letture vengono visualizzate sul monitor seriale, portare un accendisigari e far fuoriuscire il gas senza farlo bruciare.
• Presto, le letture raggiungono il picco e un numero maggiore di LED inizia a illuminarsi.
• Una volta interrotto il flusso di gas sul sensore, i LED si spengono gradualmente. Ora il tuo misuratore di inquinamento atmosferico a LED è pronto per servire la tua stanza.

Codice del programma:

//--------------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---------------//




Precedente: Avviso SMS di perdita di GPL utilizzando MQ-135 - Ricevi un messaggio di avviso nel tuo cellulare Successivo: LM317 Alimentatore a commutazione variabile (SMPS)