Jak si vyrobit obvod měřiče znečištění ovzduší LED pomocí Arduina

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto projektu postavíme měřič znečištění ovzduší pomocí senzoru MQ-135 a arduina. Úroveň znečištění ve vzduchu je indikována řadou 12 LED. Pokud vyšší počet LED svítí, tím vyšší je obsah znečištění ve vzduchu a naopak.



Přehled

Tento projekt se může ukázat jako velmi užitečný v místech, kde hraje důležitou roli kvalita ovzduší, například v nemocnicích. Alternativně to může být také další hobby projekt pro váš domov.

I když u tohoto projektu nemůžeme očekávat velkou míru přesnosti, určitě to může poskytnout přiměřeně dobrý nápad ohledně úrovně znečištění ve vašem prostředí.



Znečištění ve vzduchu může být oxid uhličitý, oxid uhelnatý, butan, metan a nějaký plyn bez zápachu. Senzor nemůže rozlišovat mezi plyny, ale odebírá všechny vzorky plynů ze vzduchu.

Pokud žijete v metropolitním městě a váš byt je umístěn v blízkosti rušné silnice, tento projekt by se vám mohl hodit a poskytnout hrubý pohled na atmosféru vzduchu.

Většina lidí ignoruje opatření týkající se kvality ovzduší v jejich bydlišti. Odhaduje se, že pouze Indie každoročně přispívá k 1,59 milionu úmrtí, což zahrnuje znečištění uvnitř i venku.

Většina populace neví o čističích vzduchu, které jsou snadno dostupné na trzích a na stránkách elektronického obchodování, což nestojí víc než smartphone.

Dobře, nyní varování od sebe, pojďme se ponořit do obvodů.

Design:

Měřič znečištění ovzduší bude zajímavější, pokud budou mít LED diody obdélníkový tvar a bude použit design nad rozvržením. Můžete však použít svou fantazii, aby byl tento projekt pro vás zajímavější.

Jak vyrobit obvod měřiče znečištění ovzduší LED

Výše uvedené schéma ilustruje, jak připojit senzor k arduinu. Pro topnou cívku snímače je implementováno externí napájení. Boky senzoru lze zaměnit.

Kolík A0 arduina snímá kolísání napětí v čidle v důsledku změn obsahu znečištění ve vzduchu.

Senzor funguje jako proměnný rezistor (v reakci na znečištění) a 10K je pevný rezistor, který funguje jako dělič napětí. Arduino má 10bitový ADC, který pomáhá LED diskrétně svítit v reakci na úroveň znečištění ovzduší, což je analogická funkce.

LED obvod pro měření znečištění ovzduší s Arduino

Když úroveň analogového napětí překročí určitou prahovou úroveň, která je předem určena v programu, rozsvítí se LED diody.

Postupné LED jsou předem určeny s vyššími prahovými úrovněmi.

Začíná to testem LED, každá LED se zapíná postupně s určitým zpožděním a uživatel může určit chybu v připojení LED, jako jsou nepřipojené LED a LED, které nejsou postupně tříděny. Program se zastaví na 5 minut a všechny LED diody svítí současně.

To poskytne senzoru dostatek času na zahřátí, abychom viděli některé akce prováděné arduino na sériovém monitoru. Jakmile senzor dosáhne optimální teploty, Arduino odešle některá měření na sériový monitor. Na základě naměřených hodnot se LED diody rozsvítí a zhasnou. Čím vyšší jsou hodnoty vytištěné na sériovém monitoru, rozsvítí se větší počet LED.

Sériový monitor není v tomto projektu povinný, ale může být užitečným nástrojem pro účely testování.

Prototypový obrázek:

Testovaný prototypový obvod LED měřiče znečištění ovzduší s Arduino

Jak testovat:

• Zapněte arduino a externí napájení. Spustí se test LED a spustí se pouze jednou.
• Program čeká 5 minut, než se senzor zahřeje.
• Jakmile se naměřené hodnoty objeví na sériovém monitoru, přineste zapalovač cigaret a unikněte z něj plyn, aniž byste ho plamenem.
• Čtení brzy dosáhne vrcholu a začne svítit více LED diod.
• Jakmile zastavíte proudění plynu na senzoru, postupně LED zhasnou. Nyní je váš LED měřič znečištění vzduchu připraven sloužit vám v místnosti.

Programový kód:

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




Předchozí: Upozornění na únik LPG pomocí MQ-135 - získejte varovnou zprávu do svého mobilního telefonu Další: LM317 Variabilní spínaný napájecí zdroj (SMPS)