Arduino dan Turbidity Sensor Mode Analog

Pada bagian ini akan diberikan contoh pembacaan kekeruhan air dengan menggunakan turbidity sensor dan Arduino UNO. Pada mode ini data yang dibaca adalah data analog yang nantinya akan diproses dan dihitung sehingga kita bisa mendapatkan nilai kekeruhannya. Rangkaian yang diperlukan untuk contoh proyek ini ditunjukkan pada gambar 1.1. di bawah ini.

Gambar 1.1 Arduino dan Turbidity Sensor SENO189 Mode Analog

Hardware yang dibutuhkan :

1. Arduino UNO

2. Modul sensor turbidity SENO189

3. Kabel jumper

Keterangan Rangkaian dan Pemrograman :

1. Pindahkan switch pada papan sirkuit ke bagian digital (A).

2. Hubungkan pin VCC papan sirkuit sensor turbidity dengan pin VCC 5V Arduino.

3. Hubungkan pin GND papan sirkuit sensor turbidity dengan pin GND Arduino.

4. Hubungkan pin signal papan sirkuit sensor turbidity dengan pin analog A0 Arduino.

5. Hubungkan konektor dari probe sensor turbidity dengan papan sirkuit modul turbidity.

6. Setelah selesai membuat rangkaian, langkah selanjutnya adalah membuat sketch program pada software Arduino IDE. SKetch untuk contoh proyek ini ditunjukkan oleh contoh program prog1.1.

7. Compile sketch yang telah dibuat.

8. Hubungkan Arduino UNO dengan komputer menggunakan kabel USB dan upload ke Arduino UNO yang digunakan.

9. Masukkan probe turbidity sensor ke dalam air jernih atau keruh dan perhatikan LED pada board Arduino.

Contoh Program : Prog1.1 Sensor Turbidity Analog



Penjelasan :
 
1. Di bagian awal program dideklrasikan beberapa variabel, yaitu variabel dengan nama V, kekeruhan, VRata2, VHasil yang semuanya bertipe float, kemudian variabel dengan nama pinTurb yang merupakan alias nama dari pin analog A0.
 
2. Di dalam void setup terdapat pengaturan baud rate untuk komunikasi serial sebesar 9600bps yang diikuti dengan selang waktu selama dua detik dan pencetakan string "SENSOR KEKERUHAN AIR" ke serial monitor Arduino IDE.
 
3. Selanjutnya, program masuk ke dalam void loop yang akan terus berulang tanpa henti.

4. Di bagian awal void loop, nilai variabel V akan direset (diisi 0).

5. Selanjutnya program masuk ke dalam perulangan for. Di dalam perulangan ini akan dibaca nilai analog dari pin analog A0 yang kemudian dikonversi ke bentuk tegangan yang hasilnya disimpan ke dalam variabel V. Proses tersebut berulang sebanyak 800 kali dimana setiap perulangan hasil perhitungan tegangan akan dijumlahkan dengan hasil perhitungan tegangan sebelumnya.

6. Pada bagian selanjutnya, nilai tegangan dari V akan dirata-ratakan dengan cara dibagi dengan 800 dan hasilnya disimpan ke variabel VRata2.

7. Perintah roundf(VRata2 * 10.0f) / 10.0f adalah perintah untuk membulatkan angka sampai 1 angka dibelakang koma. Hasil dari pembulatan disimpan ke variabel VHasil.

8. Pada bagian selanjutnya program akan masuk ke bagian percabangan if. Pada percabangan ini akan diperiksa nilai dari VHasil.

9. Jika nilai VHasil lebih kecil sama dengan 2.5 maka nilai kekeruhan adalah 3000 sesuai dengan grafik dari datasheet yang telah dibahas pada sub bab sebelumnya.

10. Jika nilai VHasil lebih besar 2.5 maka nilai kekeruhan dapat dihitung dengan menggunakan persamaan
kekeruhan = -1120.4 * square (VHasil) + 5742.3 * VHasil - 4353.8 ;

11. Baris selanjutnya adalah perintah untuk mencetak perintah string "tegangan" diikuti nilai dari variabel VHasil dan string "V" ke serial monitor Arduino IDE.

12. Bagian terakhir pada program juga adalah perintah untuk mencetak string "kekeruhan" diikuti nilai dari variabel kekeruhan ke serial monitor Arduino IDE.
 
Gambar 1.2 menunjukkan hasil pengukuran terhadap kekeruhan air. Nilai yang ditampilkan adalah nilai tegangan dan nilai kekeruhan air. 

Gambar 1.2 Tampilan Nilai Tegangan dan Kekeruhan



Posting Komentar

0 Komentar