Kuinka tehdä LED-ilman epäpuhtausmittaripiiri Arduinolla

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä projektissa aiomme rakentaa ilman epäpuhtausmittarin käyttämällä MQ-135-anturia ja arduinoa. Ilman pilaantumistaso ilmaistaan ​​12 LED-sarjalla. Jos enemmän ledien lukumäärää palaa, sitä suurempi on ilman epäpuhtauspitoisuus ja päinvastoin.



Yleiskatsaus

Tämä projekti voi osoittautua erittäin hyödylliseksi paikoissa, joissa ilmanlaadulla on tärkeä rooli, kuten sairaaloissa. Vaihtoehtoisesti tämä voi olla myös toinen harrastusprojekti omalle kodillesi.

Vaikka emme voi odottaa tämän projektin suurta tarkkuutta, se voi varmasti antaa kohtuullisen hyvän kuvan ympäristön pilaantumistasosta.



Ilman pilaantuminen voi olla hiilidioksidia, hiilimonoksidia, butaania, metaania ja hajutonta kaasua. Anturi ei pysty erottamaan kaasuja, mutta se ottaa kaikki kaasunäytteet ilmasta.

Jos asut suurkaupungissa ja huoneistosi on lähellä vilkkaaa tietä, tämä projekti voi olla hyödyllinen antamaan karkean käsityksen ilmapiiristä.

Suurin osa ihmisistä jättää huomiotta asuinpaikkansa ilmanlaadun mittaamisen, arvioidaan, että pelkästään Intia aiheuttaa vuosittain 1,59 miljoonaa kuolemaa, johon sisältyy sisä- ja ulkotilojen aiheuttama saastuminen.

Suurin osa väestöstä ei ole tietoinen ilmanpuhdistimista, jotka ovat helposti saatavilla markkinoilla ja verkkokaupoissa, mikä ei maksa enempää kuin älypuhelin.

Okei, nyt varoitukset erillään, sukelkaamme piireihin.

Muotoilu:

Ilman epäpuhtausmittari on mielenkiintoisempi, jos ledit ovat suorakaiteen muotoisia ja käytetään ulkoasua. Voit kuitenkin käyttää mielikuvitustasi tehdäksesi tästä projektista mielenkiintoisemman sinulle.

Kuinka tehdä LED-ilman epäpuhtausmittaripiiri

Yllä oleva kaavio kuvaa, kuinka anturi kytketään Arduinoon. Anturin lämmityspatterille on toteutettu ulkoinen virtalähde. Anturin sivut voidaan vaihtaa keskenään.

Arduinon tappi A0 havaitsee anturin jännitteen vaihtelut ilman pilaantumispitoisuuden muutosten vuoksi.

Anturi toimii muuttuvana vastuksena (vasteena pilaantumiseen) ja 10K on kiinteä vastus, joka toimii jännitteenjakajana. Arduinossa on 10-bittinen ADC, joka auttaa LED-valoa hehkumaan huomaamattomasti vastauksena ilman epäpuhtaustasoon, joka on analoginen toiminto.

LED-ilman epäpuhtausmittaripiiri Arduinolla

Kun analoginen jännitetaso ylittää tietyn ohjelmassa ennalta määritetyn kynnystason, se sytyttää LED-valot.

Peräkkäiset LEDit määritetään ennalta korkeammilla kynnystasoilla.

Se alkaa LED-testillä, jokainen LED kytketään päälle peräkkäin jonkin verran viiveellä ja käyttäjä voi määrittää virheen LED-liitännöissä, kuten kytkemättömissä LEDeissä ja LEDeissä, joita ei lajitella peräkkäin. Ohjelma pysähtyy 5 minuutiksi ja kaikki LEDit palavat samanaikaisesti.

Tämä antaa tarpeeksi aikaa anturin lämpenemiseen, voimme nähdä osan arduinon toiminnasta sarjavalvonnassa. Kun anturi saavuttaa optimaalisen lämpötilan, arduino lähettää joitain lukemia sarjavalvontaan. Lukemien perusteella LED-valot syttyvät ja sammuvat. Suuremmat arvot tulostuvat sarjavalvontaan, enemmän LED-merkkivaloja syttyy.

Sarjamonitori ei ole pakollinen tässä projektissa, mutta se voi olla kätevä työkalu testaustarkoituksiin.

Kuva prototyypistä:

Testattu LED-ilmansaasteiden prototyyppipiiri Arduinolla

Kuinka testata:

• Kytke virta arduinoon ja ulkoiseen virtalähteeseen. LED-testi alkaa ja se toimii vain kerran.
• Ohjelma odottaa 5 minuuttia, kunnes anturi lämpenee.
• Kun lukemat ilmestyvät sarjavalvontaan, tuo savukkeensytytin ja vuotaa kaasua liekittämättä sitä.
• Pian lukemat nousevat huipulle ja useampi LED-valo alkaa palaa.
• Kun lopetat virtauskaasun anturista, LED-valot sammuvat vähitellen. Nyt LED-ilman epäpuhtausmittari on valmis palvelemaan sinua huoneeseen.

Ohjelmakoodi:

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




Edellinen: Nestekaasuvuodon SMS-hälytys MQ-135: n avulla - saat varoitusviestin matkapuhelimeesi Seuraava: LM317-vaihtokytkimen virtalähde (SMPS)