Hur man gör LED-luftföroreningsmätarkrets med Arduino

Prova Vårt Instrument För Att Eliminera Problem





I det här projektet ska vi bygga en luftföroreningsmätare med MQ-135-sensor och arduino. Föroreningsnivån i luften indikeras av serier med 12 lysdioder. Om fler lysdioder lyser desto högre är föroreningshalten i luften och tvärtom.



Översikt

Detta projekt kan visa sig vara mycket användbart på platser där luftkvaliteten spelar en viktig roll som på sjukhus. Alternativt kan detta också vara ett annat hobbyprojekt för ditt eget hem.

Även om detta inte kan vi förvänta oss en hög grad av noggrannhet med detta projekt, kan det definitivt ge en rimligt bra uppfattning om föroreningsnivån i din atmosfär.



Föroreningarna i luften kan vara koldioxid, kolmonoxid, butan, metan och lite luktfri gas. Sensorn kan inte skilja mellan gaser, men det tar alla gasprover från luften på en gång.

Om du bor i storstaden och din lägenhet ligger nära en trafikerad väg, kan detta projekt komma till nytta för att ge en grov inblick i luftens atmosfär.

De flesta ignorerar luftkvalitetsåtgärderna vid sin bostad, det uppskattas att Indien ensam bidrar till 1,59 miljoner dödsfall varje år, vilket inkluderar föroreningar inomhus och utomhus.

Majoriteten av befolkningen är inte medvetna om luftrenare som är tillgängliga på marknader och e-handelssajter, vilket inte kostar mer än en smartphone.

Okej, nu varnar varandra, låt oss dyka in i kretslopp.

Designen:

Luftföroreningsmätaren kommer att bli mer intressant om lysdioderna är rektangulära och ovanför layoutdesign används. Du kan dock använda din fantasi för att göra det här projektet mer intressant för dig.

Hur man gör LED-luftföroreningsmätarkrets

Ovanstående schematiska illustrerar hur man ansluter sensor till arduino. En extern strömförsörjning är implementerad för givarens spole. Sidorna på sensorn kan bytas ut.

Stift A0 på arduino känner av spänningsvariationerna i sensorn på grund av förändringar i föroreningsinnehållet i luft.

Sensorn fungerar som variabelt motstånd (som svar på föroreningar) och 10K är ett fast motstånd, detta fungerar som en spänningsdelare. Arduino har 10-bitars ADC, vilket hjälper lysdioden att lysa diskret som svar på luftföroreningar, vilket är en analog funktion.

LED-luftföroreningsmätarkrets med Arduino

När den analoga spänningsnivån passerar en viss tröskelnivå som är förutbestämd i programmet tänds lysdioderna.

De på varandra följande lysdioderna är förbestämda med högre tröskelnivåer.

Det börjar med LED-test, varje LED tänds i följd med viss fördröjning och användaren kan bestämma felet i LED-anslutningarna, till exempel icke-anslutna lysdioder och lysdioder som inte sorteras i följd. Programmet stoppas i 5 minuter och alla lysdioder lyser samtidigt.

Detta ger tillräckligt med tid för sensorn att värmas upp, vi kan se några av de åtgärder som utförs av arduino i seriell bildskärm. När sensorn når optimal temperatur skickar arduino några avläsningar till seriell bildskärm. Baserat på avläsningarna tänds och släcks lysdioderna. Ju högre värden som skrivs ut på seriell bildskärm, fler antal lysdioder tänds.

Den seriella bildskärmen är inte obligatorisk i detta projekt, men kan vara ett praktiskt verktyg för teständamål.

Prototypbild:

Testad prototyp LED-luftföroreningsmätarkrets med Arduino

Hur man testar:

• Sätt på arduino och extern strömförsörjning. LED-testet börjar och det körs bara en gång.
• Programmet väntar i 5 minuter tills sensorn värms upp.
• När avläsningarna visas på seriell bildskärm, ta med en cigarrtändare och läcka ut gasen utan att flamma.
• Snart når avläsningarna en topp och fler antal lysdioder börjar lysa.
• När du har stoppat flödesgas på sensorn släcks lysdioderna gradvis. Nu är din LED-luftmätare redo att betjäna ditt rum.

Programkod:

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




Tidigare: LPG-läckage SMS-varning med MQ-135 - Få varningsmeddelande i din mobiltelefon Nästa: LM317 variabel strömbrytare (SMPS)