Jak zrobić obwód miernika zanieczyszczenia powietrza LED za pomocą Arduino

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym projekcie zamierzamy zbudować miernik zanieczyszczenia powietrza wykorzystujący czujnik MQ-135 i arduino. Poziom zanieczyszczenia powietrza sygnalizowany jest szeregiem 12 diod LED. Im większa liczba diod LED się świeci, tym wyższa jest zawartość zanieczyszczeń w powietrzu i odwrotnie.



Przegląd

Projekt ten może okazać się bardzo przydatny w miejscach, w których jakość powietrza odgrywa ważną rolę, np. W szpitalach. Alternatywnie może to być również kolejny projekt hobby dla własnego domu.

Chociaż nie możemy oczekiwać dużej dokładności w przypadku tego projektu, z pewnością może on dać dość dobre wyobrażenie o poziomie zanieczyszczenia w twojej atmosferze.



Zanieczyszczenia w powietrzu mogą stanowić dwutlenek węgla, tlenek węgla, butan, metan i niektóre bezwonne gazy. Czujnik nie rozróżnia gazów, ale pobiera jednocześnie wszystkie próbki gazów z powietrza.

Jeśli mieszkasz w metropolii i twoje mieszkanie znajduje się w pobliżu ruchliwej drogi, ten projekt może się przydać, aby dać ogólny wgląd w atmosferę powietrza.

Większość ludzi ignoruje pomiary jakości powietrza w swoim miejscu zamieszkania, szacuje się, że same Indie są przyczyną 1,59 miliona zgonów rocznie, w tym zanieczyszczenia wewnątrz i na zewnątrz.

Większość populacji nie wie o oczyszczaczach powietrza, które są łatwo dostępne na rynkach i w witrynach e-commerce, a które nie kosztują więcej niż smartfon.

OK, teraz bez ostrzeżeń, przejdźmy do obwodów.

Projektowanie:

Miernik zanieczyszczenia powietrza będzie bardziej interesujący, jeśli diody LED będą miały kształt prostokątny i zostanie zastosowany projekt układu powyżej. Możesz jednak użyć swojej wyobraźni, aby ten projekt był dla Ciebie bardziej interesujący.

Jak zrobić obwód miernika zanieczyszczenia powietrza LED

Powyższy schemat ilustruje sposób podłączenia czujnika do arduino. Zaimplementowano zewnętrzne zasilanie cewki grzejnej czujnika. Boki czujnika można zamieniać.

Pin A0 arduino wykrywa zmiany napięcia w czujniku spowodowane zmianami zawartości zanieczyszczeń w powietrzu.

Czujnik działa jako rezystor zmienny (w odpowiedzi na zanieczyszczenie), a 10K jest rezystorem stałym, działającym jako dzielnik napięcia. Arduino ma 10-bitowy przetwornik ADC, który pomaga diodzie LED świecić dyskretnie w odpowiedzi na poziom zanieczyszczenia powietrza, co jest funkcją analogową.

Obwód miernika zanieczyszczenia powietrza LED z Arduino

Przekroczenie przez poziom napięcia analogowego określonego progu, który jest z góry określony w programie, spowoduje zaświecenie diod LED.

Kolejne diody LED są wstępnie określone z wyższymi poziomami progowymi.

Rozpoczyna się testem diod LED, każda dioda LED jest włączana sekwencyjnie z pewnym opóźnieniem, a użytkownik może określić błąd w połączeniach diod LED, taki jak niepodłączone diody LED i diody LED, które nie są sortowane sekwencyjnie. Program zatrzymuje się na 5 minut i wszystkie diody LED świecą jednocześnie.

To da wystarczająco dużo czasu na rozgrzanie się czujnika, niektóre działania wykonywane przez arduino możemy zobaczyć na monitorze szeregowym. Gdy czujnik osiągnie optymalną temperaturę, arduino wysyła pewne odczyty do monitora szeregowego. Na podstawie odczytów diody LED włączają się i wyłączają. Im wyższe wartości są drukowane na monitorze szeregowym, tym więcej diod LED się włącza.

Monitor szeregowy nie jest obowiązkowy w tym projekcie, ale może być przydatnym narzędziem do celów testowych.

Obraz prototypowy:

Testowany prototypowy obwód miernika zanieczyszczenia powietrza LED z Arduino

Jak przetestować:

• Włącz arduino i zewnętrzne zasilanie. Test diod LED rozpocznie się i działa tylko raz.
• Program czeka 5 minut, aż czujnik się nagrzeje.
• Gdy odczyty pojawią się na monitorze szeregowym, przynieś zapalniczkę i wypuść gaz bez podpalania.
• Wkrótce odczyty osiągają szczyt i zaczyna świecić większa liczba diod LED.
• Po zatrzymaniu przepływu gazu przez czujnik, diody LED stopniowo gasną. Teraz Twój miernik zanieczyszczenia powietrza LED jest gotowy do obsługi Twojego pokoju.

Kod programu:

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




Wstecz: Alert SMS o wycieku LPG za pomocą MQ-135 - Otrzymaj komunikat ostrzegawczy na swoim telefonie komórkowym Dalej: Zasilacz o zmiennym trybie przełączania LM317 (SMPS)