Kaip padaryti LED oro taršos matuoklio grandinę su „Arduino“

Kaip padaryti LED oro taršos matuoklio grandinę su „Arduino“

Šiame projekte mes sukursime oro taršos matuoklį naudodami MQ-135 jutiklį ir „arduino“. Taršos lygį ore rodo 12 LED serijos. Jei šviečia didesnis šviesos diodų skaičius, tuo didesnis užterštumas ore ir atvirkščiai.



Apžvalga

Šis projektas gali būti labai naudingas tose vietose, kur oro kokybė vaidina svarbų vaidmenį, pavyzdžiui, ligoninėse. Arba tai gali būti dar vienas jūsų namų pomėgių projektas.





Nors mes negalime tikėtis šio projekto tikslumo, jis tikrai gali suteikti pakankamai gerą idėją dėl jūsų aplinkos taršos lygio.

Oro tarša gali būti anglies dioksidas, anglies monoksidas, butanas, metanas ir kai kurios bekvapės dujos. Jutiklis negali atskirti dujų, tačiau paima visus dujų mėginius iš oro.



Jei gyvenate didmiestyje ir butas yra šalia judraus kelio, šis projektas gali būti naudingas norint apytiksliai suprasti oro atmosferą.

Daugelis žmonių nepaiso oro kokybės priemonių savo gyvenamojoje vietoje, manoma, kad vien Indija kasmet prisideda prie 1,59 milijono mirčių, įskaitant taršą patalpose ir lauke.

Dauguma gyventojų nežino apie oro valytuvus, kuriuos lengvai galima įsigyti rinkose ir elektroninės prekybos svetainėse, o tai nekainuoja daugiau nei išmanusis telefonas.

Gerai, dabar įspėjimai atskirai, pasinerkime į grandines.

Dizainas:

Oro taršos matuoklis bus įdomesnis, jei šviesos diodai yra stačiakampio formos ir naudojami virš išdėstymo. Tačiau galite pasitelkti fantaziją, kad šis projektas būtų jums įdomesnis.

Kaip padaryti LED oro taršos matuoklio grandinę

Aukščiau pateiktoje schemoje pavaizduota, kaip prijungti jutiklį prie „Arduino“. Jutiklio šildytuvo ritės išorinis maitinimo šaltinis. Jutiklio šonus galima sukeisti.

„Arduino“ kaištis A0 jaučia jutiklio įtampos pokyčius dėl oro taršos pokyčių.

Jutiklis veikia kaip kintamas rezistorius (reaguojant į taršą), o 10K yra fiksuotas rezistorius, kuris veikia kaip įtampos daliklis. „Arduino“ turi 10 bitų ADC, kuris padeda šviesos diodui diskretiškai švyti reaguojant į oro taršos lygį, kuris yra analogiška funkcija.

LED oro taršos matuoklio grandinė su „Arduino“

Kai analoginis įtampos lygis peržengs tam tikrą programoje iš anksto nustatytą ribinį lygį, jis įjungs šviesos diodus.

Nuoseklūs šviesos diodai iš anksto nustatomi esant aukštesnėms ribinėms vertėms.

Tai prasideda nuo LED testo, kiekvienas šviesos diodas įjungiamas nuosekliai su tam tikru vėlavimu ir vartotojas gali nustatyti LED jungčių klaidą, pvz., Nesujungtus šviesos diodus ir LED, kurie nėra rūšiuojami nuosekliai. Programa sustoja 5 minutėms ir visi šviesos diodai šviečia vienu metu.

Tai suteiks pakankamai laiko jutikliui sušilti, o serijiniame monitoriuje galime pamatyti kai kuriuos veiksmus, kuriuos atlieka „arduino“. Kai jutiklis pasiekia optimalią temperatūrą, „arduino“ siunčia keletą rodmenų į serijinį monitorių. Remiantis rodmenimis, šviesos diodai įsijungs ir išsijungs. Didesnės reikšmės spausdinamos serijiniame monitoriuje, įsijungia daugiau šviesos diodų.

Serijinis monitorius šiame projekte nėra privalomas, tačiau jis gali būti patogus įrankis bandymų tikslais.

Vaizdo prototipas:

Išbandyta LED oro taršos matuoklio prototipo grandinė su „Arduino“

Kaip išbandyti:

• Įjunkite „arduino“ ir išorinį maitinimo šaltinį. LED testas prasidės ir jis veiks tik vieną kartą.
• Programa 5 minutes laukia, kol jutiklis sušils.
• Kai rodmenys pasirodo serijiniame monitoriuje, atneškite cigaro žiebtuvėlį ir išleiskite dujas, jų neišdegdami.
• Netrukus rodmenys pasiekia aukščiausią tašką ir pradeda šviesti daugiau šviesos diodų.
• Kai sustabdysite jutiklio srautą, palaipsniui šviesos diodai išsijungs. Dabar jūsų LED oro taršos matuoklis yra paruoštas jūsų kambariui.

Programos kodas:

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




Ankstesnis: LPG nutekėjimo SMS įspėjimas naudojant MQ-135 - gaukite įspėjamąjį pranešimą savo mobiliajame telefone Kitas: LM317 kintamo jungiklio režimo maitinimo šaltinis (SMPS)