Cum se face circuitul de măsurare a poluării aerului cu LED-uri cu Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest proiect vom construi un contor de poluare a aerului folosind senzorul MQ-135 și arduino. Nivelul de poluare din aer este indicat de o serie de 12 LED-uri. Dacă numărul de LED-uri este mai mare, cu atât este mai mare conținutul de poluare din aer și invers.



Prezentare generală

Acest proiect se poate dovedi foarte util în locuri în care calitatea aerului joacă un rol important, cum ar fi în spitale. Alternativ, acesta poate fi și un alt proiect de hobby pentru propria casă.

Deși nu ne putem aștepta la un grad mare de acuratețe cu acest proiect, cu siguranță poate oferi o idee destul de bună cu privire la nivelul de poluare din atmosfera dvs.



Poluarea din aer poate fi dioxid de carbon, monoxid de carbon, butan, metan și ceva gaz inodor. Senzorul nu poate face diferența între gaze, dar ia toate probele de gaz din aer dintr-o mișcare.

Dacă locuiți în orașul metropolitan și apartamentul dvs. este amplasat lângă un drum aglomerat, acest proiect ar putea fi util pentru a oferi o perspectivă aproximativă despre atmosfera aeriană.

Majoritatea oamenilor ignoră măsurile privind calitatea aerului la reședința lor, se estimează că numai India contribuie la 1,59 milioane de decese în fiecare an, care include poluări în interior și în exterior.

Majoritatea populației nu cunoaște purificatoarele de aer care sunt ușor disponibile pe piețe și site-uri de comerț electronic, care nu costă mai mult decât un smartphone.

Bine, acum avertismente, să ne scufundăm în circuite.

Design-ul:

Contorul de poluare a aerului va fi mai interesant dacă LED-urile au formă dreptunghiulară și se folosește designul de mai sus. Cu toate acestea, vă puteți folosi imaginația pentru a face acest proiect mai interesant pentru dvs.

Cum se realizează un circuit de măsurare a poluării aerului cu LED-uri

Schema de mai sus ilustrează cum să conectați senzorul la arduino. Este implementată o sursă de alimentare externă pentru bobina încălzitorului senzorului. Părțile laterale ale senzorului pot fi schimbate.

Pinul A0 al arduino detectează variațiile de tensiune ale senzorului din cauza modificărilor conținutului de poluare din aer.

Senzorul acționează ca rezistor variabil (ca răspuns la poluare), iar 10K este rezistor fix, acesta acționând ca un divizor de tensiune. Arduino are ADC de 10 biți, care ajută LED-ul să strălucească discret ca răspuns la nivelul de poluare a aerului, care este o funcție analogică.

Circuit LED de măsurare a poluării aerului cu Arduino

Când nivelul analogic de tensiune trece de un anumit nivel prag care este predeterminat în program, acesta va aprinde LED-urile.

LED-urile succesive sunt predeterminate cu niveluri de prag mai ridicate.

Începe cu testarea LED-urilor, fiecare LED este aprins secvențial cu o anumită întârziere și utilizatorul poate determina eroarea în conexiunile LED, cum ar fi LED-urile neconectate și LED-urile care nu sunt sortate secvențial. Programul se oprește timp de 5 minute și toate LED-urile se aprind simultan.

Acest lucru va oferi suficient timp pentru ca senzorul să se încălzească, putem vedea o parte din acțiunea efectuată de arduino în monitorul serial. Odată ce senzorul atinge temperatura optimă, arduino trimite câteva citiri la monitorul serial. Pe baza citirilor, LED-urile se vor aprinde și opri. Cu cât valorile se imprimă pe monitorul serial, cu atât mai multe LED-uri se aprind.

Monitorul serial nu este obligatoriu în acest proiect, dar poate fi un instrument la îndemână în scopul testării.

Imagine prototip:

Testat prototipul LED-ului circuitului de măsurare a poluării aerului cu Arduino

Cum se testează:

• Porniți arduino și sursa de alimentare externă. Testul LED va începe și rulează o singură dată.
• Programul așteaptă 5 minute pentru ca senzorul să se încălzească.
• Odată ce citirile apar pe monitorul de serie, aduceți o brichetă și scurgeți gazul fără să-l aprindeți.
• În curând, citirile vor atinge vârful și un număr mai mare de LED-uri începe să strălucească.
• Odată ce opriți fluxul de gaz pe senzor, LED-urile treptat se sting. Acum, contorul dvs. de poluare a aerului cu LED-uri este gata să vă servească cameră.

Codul programului:

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




Precedent: Alertă SMS de scurgere GPL folosind MQ-135 - Primiți un mesaj de avertizare în telefonul dvs. mobil Următorul: Sursă de alimentare cu mod variabil LM317 (SMPS)