Kuidas teha LED-õhusaaste mõõturi vooluringi Arduinoga

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles projektis ehitame õhusaaste mõõturi, kasutades andurit MQ-135 ja arduino. Saastetaset õhus tähistab 12 LED-seeria. Kui suurem valgusdioodide arv põleb, seda suurem on saasteaine sisaldus õhus ja vastupidi.



Ülevaade

See projekt võib osutuda väga kasulikuks kohtades, kus õhukvaliteedil on oluline roll, näiteks haiglates. Teise võimalusena võib see olla ka teine ​​huviprojekt teie enda kodu jaoks.

Ehkki me ei saa selle projekti puhul oodata suurt täpsust, võib see kindlasti anda piisavalt hea ettekujutuse reostustasemest teie õhkkonnas.



Õhusaaste võib olla süsinikdioksiid, süsinikmonooksiid, butaan, metaan ja mõni lõhnatu gaas. Andur ei suuda gaase eristada, kuid võtab kõik gaasiproovid õhust korraga.

Kui elate suurlinnas ja korter asub tiheda liiklusega tee lähedal, võib see projekt olla kasulik, et anda ligikaudne ülevaade õhkkonna õhkkonnast.

Enamik inimesi ignoreerib oma elukoha õhukvaliteedi näitajaid. Hinnanguliselt põhjustab ainuüksi India igal aastal 1,59 miljonit surmajuhtumit, sealhulgas sise- ja välistingimused.

Suurem osa elanikkonnast ei tea turgudel ja e-kaubanduse saitidel hõlpsasti saadaval olevatest õhupuhastitest, mis ei maksa rohkem kui nutitelefon.

Okei, nüüd hoiatused eraldi, sukeldume vooluringidesse.

Kujundus:

Õhusaastemõõtur on huvitavam, kui valgusdioodid on ristkülikukujulised ja kasutatakse kujunduse kohal. Selle projekti enda jaoks huvitavamaks muutmiseks võite siiski kasutada oma kujutlusvõimet.

Kuidas teha LED-õhusaaste mõõturi vooluringi

Ülaltoodud skeem illustreerib anduri ühendamist Arduinoga. Anduri küttemähise jaoks on paigaldatud väline toiteallikas. Anduri külgi saab omavahel vahetada.

Arduino tihvt A0 tajub anduri pingemuutusi õhusaaste muutuste tõttu.

Andur toimib muutuva takistusena (reageerides reostusele) ja 10K on fikseeritud takisti, see toimib pingejagajana. Arduinol on 10-bitine ADC, mis aitab LED-il analoogfunktsioonina reageerida õhusaaste tasemele diskreetselt.

Arduinoga LED õhusaastemõõturi vooluring

Kui analoogpinge tase ületab programmis eelnevalt kindlaksmääratud lävetaseme, lülitab see sisse LED-id.

Järjestikused valgusdioodid on eelnevalt kindlaks määratud kõrgema lävetasemega.

See algab LED-testiga, iga LED lülitatakse järjestikku sisse mõne viivitusega ja kasutaja saab kindlaks teha LED-ühenduste vea, näiteks ühendamata LED-id ja LED-id, mida ei järjestata järjestikku. Programm peatub viieks minutiks ja kõik valgusdioodid põlevad üheaegselt.

See annab anduri soojendamiseks piisavalt aega, et näeksime mõnda toimingut, mida arduino sooritab seeriamonitoris. Kui andur on saavutanud optimaalse temperatuuri, saadab arduino mõned näidud seeriamonitorile. Näidude põhjal lülituvad LED-id sisse ja välja. Suuremad väärtused prinditakse seeriamonitorile, rohkem LED-e süttib.

Seeriamonitor pole selles projektis kohustuslik, kuid võib olla käepärane tööriist testimiseks.

Prototüübi pilt:

Testitud LED-õhusaastemõõturi prototüüp Arduinoga

Kuidas testida:

• Lülitage arduino ja väline toide sisse. LED-test algab ja see töötab ainult üks kord.
• Programm ootab 5 minutit, kuni andur kuumeneb.
• Kui näidud seeriamonitoril ilmuvad, tooge sigarisüütaja ja lekitage gaas seda süütamata.
• Peagi saavad näidud haripunkti ja rohkem LED-e hakkab põlema.
• Kui anduril on gaasivool peatatud, lülituvad LED-id järk-järgult välja. Nüüd on teie LED-õhusaastemõõtur teile ruumi teenindamiseks valmis.

Programmi kood:

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




Eelmine: LPG lekke SMS-hoiatus MQ-135 abil - hankige oma mobiiltelefoni hoiatusteade Järgmine: LM317 muutuva lülitiga režiimi toiteallikas (SMPS)