Cara Membuat Rangkaian Pengukur Polusi Udara LED dengan Arduino

Coba Instrumen Kami Untuk Menghilangkan Masalah





Dalam proyek ini kami akan membangun pengukur polusi udara dengan menggunakan sensor MQ-135 dan arduino. Tingkat polusi di udara ditunjukkan dengan rangkaian 12 LED. Semakin tinggi jumlah LED yang bersinar maka semakin tinggi pula kandungan polusi di udara dan sebaliknya.



Gambaran

Proyek ini terbukti sangat berguna di tempat-tempat di mana kualitas udara memainkan peran penting seperti di rumah sakit. Atau, ini juga bisa menjadi proyek hobi lain untuk rumah Anda sendiri.

Meskipun ini kami tidak dapat mengharapkan tingkat akurasi yang tinggi dengan proyek ini, ini pasti dapat memberikan ide yang cukup bagus mengenai tingkat polusi di lingkungan Anda.



Polusi di udara dapat berupa karbondioksida, karbon monoksida, butana, metana, dan beberapa gas tidak berbau. Sensor tidak dapat membedakan antara gas, tetapi sensor mengambil semua sampel gas dari udara sekaligus.

Jika Anda tinggal di kota metropolitan dan apartemen Anda terletak di dekat jalan yang sibuk, proyek ini mungkin berguna untuk memberikan gambaran kasar tentang suasana udara.

Kebanyakan orang mengabaikan pengukuran kualitas udara di tempat tinggal mereka, diperkirakan India sendiri menyumbang 1,59 juta kematian setiap tahun, termasuk pencemaran di dalam dan luar ruangan.

Mayoritas penduduk tidak mengetahui pembersih udara yang tersedia di pasar dan situs e-commerce, yang harganya tidak lebih dari sebuah smartphone.

Oke, sekarang peringatan terpisah, mari selami sirkuit.

Desain:

Pengukur polusi udara akan lebih menarik jika LED berbentuk persegi panjang dan desain tata letak di atas digunakan. Namun, Anda dapat menggunakan imajinasi Anda untuk membuat proyek ini lebih menarik bagi Anda.

Cara Membuat Sirkuit Pengukur Polusi Udara LED

Skema di atas menggambarkan, bagaimana menghubungkan sensor ke Arduino. Catu daya eksternal diimplementasikan untuk koil pemanas sensor. Sisi sensor bisa dipertukarkan.

Pin A0 arduino merasakan variasi tegangan pada sensor karena perubahan kandungan polusi di udara.

Sensor bertindak sebagai resistor variabel (sebagai respons terhadap polusi) dan 10K adalah resistor tetap, ini bertindak sebagai pembagi tegangan. Arduino memiliki ADC 10-bit, yang membantu LED bersinar secara diam-diam sebagai respons terhadap tingkat polusi udara, yang merupakan fungsi analog.

Rangkaian Pengukur Polusi Udara LED dengan Arduino

Ketika level tegangan analog melewati level ambang tertentu yang telah ditentukan sebelumnya dalam program, itu akan menyalakan LED.

LED berturut-turut ditentukan sebelumnya dengan level ambang batas yang lebih tinggi.

Dimulai dengan tes LED, setiap LED dinyalakan secara berurutan dengan beberapa penundaan dan pengguna dapat menentukan kesalahan dalam koneksi LED, seperti LED yang tidak terhubung dan LED yang tidak diurutkan secara berurutan. Program berhenti selama 5 menit dan semua LED menyala secara bersamaan.

Ini akan memberikan waktu yang cukup bagi sensor untuk melakukan pemanasan, kita dapat melihat beberapa tindakan yang dilakukan oleh Arduino di monitor serial. Setelah sensor mencapai suhu optimal, Arduino mengirimkan beberapa bacaan ke monitor serial. Berdasarkan pembacaan, LED akan ON dan OFF. Semakin tinggi nilai cetak pada monitor serial, semakin banyak LED yang menyala.

Monitor serial tidak wajib dalam proyek ini, tetapi dapat menjadi alat yang berguna untuk tujuan pengujian.

Gambar Prototipe:

Rangkaian Pengukur Polusi Udara LED Prototipe Teruji dengan Arduino

Cara menguji:

• Nyalakan arduino dan catu daya eksternal. Tes LED akan dimulai dan hanya berjalan sekali.
• Program menunggu selama 5 menit hingga sensor menjadi panas.
• Setelah pembacaan muncul di monitor serial, bawalah pemantik api dan bocor gas tanpa membakarnya.
• Segera, pembacaan mencapai puncaknya dan lebih banyak LED mulai menyala.
• Setelah Anda menghentikan aliran gas pada sensor, LED secara bertahap akan mati. Sekarang pengukur polusi udara LED Anda siap melayani ruangan Anda.

Kode Program:

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




Sebelumnya: Peringatan SMS Kebocoran LPG menggunakan MQ-135 - Dapatkan Pesan Peringatan di Ponsel Anda Berikutnya: LM317 Variable Switch Mode Power Supply (SMPS)