Как да направя LED верига за измерване на замърсяването на въздуха с Arduino

Опитайте Нашия Инструмент За Премахване На Проблемите





В този проект ще изградим измервател на замърсяването на въздуха, използвайки сензор MQ-135 и arduino. Нивото на замърсяване във въздуха се показва от серия от 12 LED. Ако свети по-голям брой светодиоди, толкова по-високо е съдържанието на замърсяване във въздуха и обратно.



Общ преглед

Този проект може да се окаже много полезен на места, където качеството на въздуха играе важна роля, например в болниците. Като алтернатива, това може да бъде и друг хоби проект за вашия собствен дом.

Въпреки че с този проект не можем да очакваме голяма степен на точност, той определено може да даде сравнително добра представа относно нивото на замърсяване във вашата атмосфера.



Замърсяването във въздуха може да бъде въглероден диоксид, въглероден оксид, бутан, метан и някои газове без мирис. Сензорът не може да прави разлика между газовете, но взима всички проби газ от въздуха в движение.

Ако живеете в столичен град и апартаментът ви е разположен в близост до оживен път, този проект може да ви бъде полезен, за да даде груба представа за атмосферата на въздуха.

Повечето хора пренебрегват мерките за качество на въздуха в тяхното пребиваване, смята се, че само Индия допринася за 1,59 милиона смъртни случая всяка година, което включва замърсявания на закрито и на открито.

По-голямата част от населението не знае за пречистватели на въздуха, които са лесно достъпни на пазарите и сайтовете за електронна търговия, което не струва повече от смартфон.

Добре, сега предупрежденията са разделени, нека се потопим във веригите.

Дизайнът:

Измервателят на замърсяването на въздуха ще бъде по-интересен, ако светодиодите са с правоъгълна форма и се използва дизайн над оформлението. Можете обаче да използвате въображението си, за да направите този проект по-интересен за вас.

Как да направя схема за измерване на замърсяването на въздуха

Горната схема илюстрира как да свържете сензора към arduino. Вградено е външно захранване за нагревателната намотка на сензора. Страните на сензора могат да бъдат разменени.

Пинът A0 на arduino усеща колебанията на напрежението в сензора поради промени в съдържанието на замърсяване във въздуха.

Сензорът действа като променлив резистор (в отговор на замърсяване) и 10K е фиксиран резистор, който действа като делител на напрежението. Arduino има 10-битов ADC, който помага на LED да свети дискретно в отговор на нивото на замърсяване на въздуха, което е аналогова функция.

LED верига за измерване на замърсяването на въздуха с Arduino

Когато нивото на аналоговото напрежение премине определено прагово ниво, което е предварително определено в програмата, то ще включи светодиодите.

Последователните светодиоди са предварително определени с по-високи прагови нива.

Започва с LED тест, всеки светодиод се включва последователно с известно закъснение и потребителят може да определи грешката в светодиодните връзки, като несвързани светодиоди и светодиоди, които не са сортирани последователно. Програмата спира за 5 минути и всички светодиоди светят едновременно.

Това ще даде достатъчно време за загряване на сензора, можем да видим някои от действията, извършени от arduino в сериен монитор. След като сензорът достигне оптимална температура, arduino изпраща някои показания към серийния монитор. Въз основа на показанията, светодиодите ще се включват и изключват. Колкото по-високи са стойностите, отпечатани на сериен монитор, толкова повече светодиоди се включват.

Серийният монитор не е задължителен в този проект, но може да бъде удобен инструмент за целите на тестването.

Прототипно изображение:

Тестван прототип на LED верига за замърсяване на въздуха с Arduino

Как да тествате:

• Включете arduino и външното захранване. Светодиодният тест ще започне и работи само веднъж.
• Програмата изчаква 5 минути, докато сензорът се нагрее.
• След като показанията се покажат на серийния монитор, внесете запалка за пури и изпускайте газта, без да я запалвате.
• Скоро показанията стават пикови и започва да свети повече светодиоди.
• След като спрете потока газ на сензора, светодиодите постепенно се изключват. Сега вашият LED уред за замърсяване на въздуха е готов да ви обслужва помещението.

Код на програмата:

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




Предишна: Сигнал за изтичане на LPG чрез MQ-135 - Вземете предупредително съобщение във вашия мобилен телефон Напред: LM317 Захранване с променлив режим на превключване (SMPS)