IOT/M2M

Cara Mengukur Kepekatan Debu Menggunakan Dust Sensor dan Arduino

Assalamu-alaikum teman-teman, kembali lagi di Konekthing, kali ini kita akan belajar cara mengukur kepekatan debu pada udara menggunakan sebuah sensor dari sharp yaitu sensor Sharp GP2Y1010AU0F, sensor ini dihargai cukup murah menurut saya, hanya sekitar 150 ribuan. Dengan sensor ini kita dapat mengukur kepekatan debu pada udara yang nantinya dapat kita gunakan mengetahui kualitas udara.

 

Sebelum belajar menggunakannya maka ada beberapa bahan yang harus kita siapkan, antara lain

1. Arduino Board

2. Sensor Debu / Dust Sensor GP2Y1010AU0F

3. Kabel Jumper

4. Elco 220 uF

5. Resistor 220 Ohm

 

Setelah semua bahan tersedia selanjutnya kita buat rangkaiannya

 

Setelah komponen selesai dirangkai selanjutnya kita uploud coding / sketch berikut ini

 

int ledPower = 2;int measurePin = A0;int samplingTime = 280;int sleepTime = 100;

 float voMeasured = 0;float calcVoltage = 0;float dustDensity = 0;float voltDensity = 0;

void setup() {

  Serial.begin(9600);

  pinMode(ledPower,OUTPUT);

}

void loop() {

      digitalWrite(ledPower,LOW); // power on the LED

      delayMicroseconds(samplingTime);

     

      voMeasured = analogRead(measurePin); // read the dust value

      digitalWrite(ledPower,HIGH); // turn the LED off

      delayMicroseconds(sleepTime);

     

      calcVoltage = ( ( voMeasured * 5 ) / 1024);

      voltDensity = calcVoltage - 0.6;

      dustDensity = voltDensity * 0.17;

     

      Serial.print(" - Dust Density: ");

      Serial.print(dustDensity);

      Serial.println(" Kg/m3");}

 

Setelah coding berhasil di uploud maka kalian akan melihat intensitas debu yang terbaca oleh sensor debu tersebut. untuk mencobanya kalian bisa memasukan ujung lidi / sejenisnya ke lubang pembacaan sensor. 

 

Hal ini untuk mensimulasikan kalau dust sensor mendeteksi debu yang sangat pekat, jika langkah langkah diatas dikerjakan dengan baik maka di serial monitor kita akan melihat intensitas debu yang terbaca adalah sekitar 0.59 kg/m3.

 

Baik, cara untuk membaca kepadatan debu menggunakan arduino sudah selesai, namun mungkin masih ada yang bertanya tanya fungsi dari setiap baris kode dan darimanakah perhitungan di coding tersebut didapatkan? dan kenapa pas mensimulasikan sensor membaca debu yang sangat padat menggunakan cara memasukan batang lidi? okelah mari kita ulas satu persatu.

 

Pertama kita bahas pertanyaan yang terakhir dulu. kenapa pas mensimulasikan sensor membaca debu yang sangat padat menggunakan cara memasukan batang lidi?

Oke, Sebelum kita bahas pertanyaan diatas mungkin lebih afdol kalau kalian download dulu datasheetnya disini, karena semua pembahasan kita nanti akan mengacu pada datasheet

 

Pertama, perlu diketahui bahwa kerja dari sensor ini adalah dengan menembakan cahaya ke photodioda, debu akan dilewatkan antara led dan photo dioda.

 

Intinya disini adalah debu akan menghalangi cahaya yang diterima oleh photodioda sehingga akan merubah tahanan dari photodioda tersebut. makanya kita menggunakan batang lidi untuk mensimulasikan debu yang tebal. karena pada intinya adalah sama, cahaya akan terhalang oleh suatu benda yang pekat sehingga cahaya yang diterima oleh photodioda sangat sedikit.

 

Kedua, tentang baris kode berikut

 

digitalWrite(ledPower,LOW); // power on the LED

 

Baris kode diatas adalah untuk menyalakan led, menyalakan kenapa digitalWrite LOW?? iya karena disini rangkaian lednya menggunakan kendali negatif / memakakai transistor pnp.

 

Ketiga, tentang baris kode berikut,

 

delayMicroseconds(samplingTime);

 

dimana variabel “samplingTime” telah di definisan sebelumnya pada baris

int samplingTime = 280;

 

Baris kode diatas adalah untuk memberi jeda waktu agar led dapat menyala dengan sempurna sebelum nantinya jumlah cahaya yang diterima photo dioda dibaca, lalu kenapa delaynya 280 microseconds? angka tersebut didapatkan dari datasheet.

 

Ke Empat, tentang baris kode berikut

 

voMeasured = analogRead(measurePin); // read the dust value

digitalWrite(ledPower,HIGH); // turn the LED off

delayMicroseconds(sleepTime);

 

Baris kode yang pertama adalah untuk membaca tegangan analog yang terbaca setelah photodioda menerima cahaya dari led
baris kedua adalah untuk mematikan led dan baris yang ketiga adalah memberi jeda agar led dapat mati dengan sempurna / benar benar mati.

 

Kelima, tentang baris kode berikut

calcVoltage = ( ( voMeasured * 5 ) / 1024);

 

Baris kode tersebut adalah untuk merubah nilai pembacaan yang semula pada tipe data integer (0 – 1023) menjadi data pecahan / float (0.0 – 5.0 volt)

 

Keenam, tentang beris kode berikut

voltDensity = calcVoltage - 0.6;

dustDensity = voltDensity * 0.17;

 

Baris kode tersebut adalah rumus / perhitungan yang saya buat menggunakan perhitungan persamaan garis linear sederhana untuk mengubah nilai pembacaan tegangan menjadi kepadatan debu mengacu pada grafik pada datasheet.

 

baris pertama, kita bisa melihat bahwa kenaikan tegangan pada grafik dimulai dari sekitar 0.6 volt, artinya jika tegangan output sensor dibawah 0.6 volt berarti sensor suhu tidak membaca adanya debu, makanya hasil pengukuran perlu kita kurangi 0.6

Baris kedua, kita tahu bahwa setelah 0.6 volt maka grafik akan cenderung naik sebanding dengan bertambahnya intensitas debu yang terbaca, dimana naiknya garis pada grafik merupakan garis lurus, tentu persamaan garis linear sederhana bermain disini, dimana pada perhitungan persamaan garis lurus kita memerlukan konstanta agar suatu koordinat dapat dicari berdasarkan data korrdinat lain, dalam hal ini adalah agar kepadatan debu bisa dicari berdasarkan tegegangan output sensor, perhitungan untuk mencari konstantannya adalah sebagai berikut :

 

dust = 0.5 (0 - 0.5), dimana dust = rentan pembacaan suhu pada garis lurus

volt = 2.9 (0.6 - 3.5), dimana volt = rentan pembacaan output voltage pada garis lurus

konstanta = 0.5 : 2.9 = 0.17

 

Setelah kita tahu kontantanya maka perhitungan untuk mencari kepadatan debu adalah seperti yang saya tuliskan di coding diatas, yaitu

dustDensity = voltDensity * 0.17;

 

Gimana?? Pusing??  :hammer , jika pusing silahkan ajak teman kalian yang jago matematika untuk diskusi. Hehe

 

Sekian tutorial dari Konekthing silahkan dicoba. Semoga bermanfaat.

 

PT. Konekthing Benda Pintar

 

Jl. Ir H. Juanda No.88 a, Kemiri Muka, Kecamatan Beji, Kota Depok, Jawa Barat 16423

 

(021) 77808509

 

info@konekthing.com

 

 

 

Konekthing Bandung

 

Jl. Sukaresmi IV No.7, Ciumbuleuit, Kec. Cidadap, Kota Bandung, Jawa Barat 40142

 

 

 

Konekthing Yogyakarta

 

Jl. Duwet, RT.02/RW.32, Duwet, Sendangadi, Kec. Mlati, Kabupaten Sleman, Daerah Istimewa Yogyakarta 55285

 

(0274) 2883817, 0812-2510-1600

 

Terima kasih

 

Wassalamu’alaikum



Share to :

Related Posts

Apa Internet of Things (IOT) itu?

Biasanya dalam kehidupan sehari-hari kita, saat bangun tidur. ketika makan,...

Apa itu sensor cahaya?  

Sensor cahaya adalah komponen elektronika yang dapat mengubah besaran elektrik pada saat...

Peralatan elektronik di kehidupan kita sudah menjadi sahabat yang menemani aktivitas kita sehari-hari. Seringnya penggunaan...

Categories

Search Result: