BAB III PERANCANGAN ALAT
3.1
Persiapan Perancangan Alat Bab ini akan membahas mengenai perancangan alat mulai dari perangkat
lunak ( software ) hinggan ke perangkat keras ( Hardware ), mengenai sistem perancangan akan dilakukan pengecekan contoh program sesuai program yang dimiliki arduino. Pada proses persiapan perakitan perangkat harus didukung dengan peralatan yang lengkap dan standar, agar memudahkan pada waktu pelaksanaan perakitan. Monitoring level air tentunya merupakan penggambungan dari perangkat lunak mulai dari : 1. Arduino Uno Merupakan induk progam dari perangkat lunak untuk diaplikasikan sesuai dengan kebutuhan. 2. Sensor Ultrasonic Sebuah sensor yang dikemas dalam rangkaian integrasi, sehingga perancangan dimudahkan dan terkoneksi ke pin digital arduino dan dapat di program sesuai kebutuhan. 3. LCD 16 x 2 Merupakan indikator yang memberikan tampilan level air secara jelas sehingga lebih mudah dari segi pembacaan.
28
http://digilib.mercubuana.ac.id/
29
4. Peralatan Peralatan yang dipakai dalam perakitan alat diantaranya adalah :
Solder Listrik
Multi Tester
Obeng Set
dan lain-lain
Sebagai penunjang dalam proses perakitan diperlukan juga kelengkapan pendukung, mulai dari kabel jumper, akrilik, dan lain-lain.
3.2
Proses Perancangan Alat Berikut diagram blok sistem keseluruhan rancang bangun sumur resapan
kombinasi ground water tank berbasis mikrokontroller via sms gateway.
Modem Relay
Sensor Ultrasonic
Arduino Uno POMPA
LCD
Gambar 3.1 Diagram Blok Keseluruhan Rancang Bangun Sumur Resapan Kombinasi Ground Water Tank Berbasis Mikrokontroller Via SMS Gateway
http://digilib.mercubuana.ac.id/
30
Pada sistem diatas saya sendiri berfokus pada pengembangan sistem monitoring level air.
3.3.
Blok Diagram Monitoring Level Air Berdasarkan pada gambar diagram alur dibawah ini , maka prisip kerja
dari alat monitoring level air sebagai berikut :
Sensor Ultrasonic membaca tinggi rendahnya level air, data yang dibaca oleh sensor dimasukan keinput digital Arduino untuk diproses.
Hasil dari pembacaan sensor akan ditampilkan ke dalam LCD (Liquid Digital Display ) tentang bagaimana kondisi level air didalam ground water tank.
Sensor Ultrasonic
Arduino Uno
LCD
Gambar 3.2 Diagram Blok Monitoring Level Air
3.4.
Perancangan Sensor Ultrasonic Sesuai dengan fungsinya bahwa sensor ultrasonic merupakan sensor yang
bekerja dengan cara memancarkan suatu gelombang dan kemudian menghitung waktu pantulan gelombang tersebut. Pada dasarnya sensor ultrasonic terdiri dari sebuah chip pembangkit sinyal 40 KHz, sebuah speaker ultrasonic dan sebuah mikropon ultrasonic.
http://digilib.mercubuana.ac.id/
31
Speaker ultrasonic mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonic berfungsi untuk mendeteksi pantulan suaranya. Pada modul ultrasonic terdapat 4 pin yang digunakan : 1) VCC 2) Ground 3) Trigger 4) Echo Dalam pemilihan sensor ultrasonic perlu mempertimbangkan hal-hal berikut :
Jarak yang diukur
Permukaan material
Kondisi lingkungan
Acoustic noise
Tekanan
Suhu
Gas
http://digilib.mercubuana.ac.id/
32
Dibawah ini gambar diagram koneksi dari sensor ultrasonic dengan arduino.
Gambar 3.3 Koneksi Arduino Dengan Sensor Ultrasonic Dari rangkaian di atas dapat diberikan contoh pemograman sensor ultrasonic sebagai berikut : #define echoPin 12 // Echo Pin #define trigPin 13 // Trigger Pin long duration, distance; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); }
http://digilib.mercubuana.ac.id/
33
void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration/58; Serial.println(distance); delay(1000); } Kalau tidak ada pesan error maka modul ultrasonic akan langsung bekerja mengukur jarak benda di depannya. Gunakan Serial Monitor (Ctrl+Shift+M) pada software Arduino untuk melihat hasil pengukuran. Dari uraian diatas maka maka dapat disimpulkan bahwa keuntungan dari pemakaian sensor ultrasonic adalah :
Non kontak dengan produk
Cocok untuk berbagai macam cairan dan produk massal
Reliable kinerja dalam pelayanan sulit
Tidak ada bagian yang bergerak
http://digilib.mercubuana.ac.id/
34
3.5.
Pengukuran tanpa kontak fisik
Perancangan LCD 16 x 2 Dalam tugas akhir ini penulis menggunakan LCD 16 x 2, karena
komponen ini mampu menampilkan 2 baris karakter yang masing-masing dapat menampilkan 16 karakter . LCD memiliki karakteristik sebagai berikut :
Terdapat 16x2 karakter huruf yang bisa ditampilkan
Terdapat 192 macam karakter
Terdapat 80 x 8 bit display RAM (maksimal 80 karakter)
Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit
Dibangun dengan osilator lokal
Satu sumber tegangan 5 volt
Otomatis reset saat tegangan dihidupkan. Tabel 3.1 Datasheet pin LCD 16x2
http://digilib.mercubuana.ac.id/
35
Dari datasheet diatas maka kita dapat merancang sebuah Arduino dengan LCD 16x2 sebagai berikut :
Gambar 3.4 Koneksi Arduino dengan LCD 16x2 Dalam pemograman lcd intruksi yang biasa digunakan adalah sebagi berikut: 1)
Pendefinisian Pin LCD. Untuk
mendefinisikan
pin
lcd
kita
bisa
menggunakan
intruksi
“LiquidCrystal” jumlah data yang digunakan dalam pemograman ini sebesar 4bit. Contoh penulisannya seperti berikut ini: LiquidCrystal Namavariable(pin RS, pin E, pin D4, pin D5, pin D6, pin D7, pin D8); Contoh berikut ini pendefinisan alamat lcd dengan nama variable “lcd”, dan sambungan pin seperti table berikut :
http://digilib.mercubuana.ac.id/
36
Tabel 3.2 Koneksi PIN ke Arduino
2)
PIN LCD 16x2
PIN Arduino Uno
R5
2
E
3
D4
4
D5
5
D6
6
D7
7
Inisialisasi Jumlah baris dan kolom Lcd karakter memiliki beberapa ukuran jumlah baris dan kolomnya ada 8x2,
16x2, 2x20, 4x20 dan lain-lain, sebelum membuat program kita harus tahu dulu lcd yang kita gunakan memiliki baris dan kolom berapa. Untuk inisialisasi ini kita mengunakan intruksi “begin” misalnya kita akan menggunakan lcd 16x2, berarti kita memiliki 16 kolom dan 2 baris. Struktur penulisannya adalah: Namavarible.begin (jumlah kolom, jumlah baris); Penulisan programnya: lcd.begin(16,2); 3)
Intruksi Untuk Menghapus Untuk menghapus tulisan pada lcd secara keseluruhan atau full layar kita
bisa mengunakan instruksi “ clear() ”. Cara penulisannya sebagai berikut: lcd.clear(); Jika ada pertanyaan bagaimana kalau mau menghapus sebagian saja misalnya hanya baris satu saja, atau baris 2 saja?, untuk intruksi penghapusan sebagian baris atau kolom, dalam library ini masih belum ada, tapi kita bisa
http://digilib.mercubuana.ac.id/
37
menggunakan dengan cara perintah menulis pada baris atau kolom yang akan kita hapus dengan ditulis karakter “spasi”. Contoh penghapus baris pertama : Lcd.setCursor(0,0); Lcd.print(“
“); -> jumlah spasi sebanyak jumlah karakter yang ingin
dihapus. 4)
Intruksi untuk menentukan posisi Kursor Instuksi penentuan posisi kursor ini sangat penting sekali, karena jika
penulisan kursornya salah bisa terjadi tumpang tindih tulisan ketika tampil di lcd. Perlu kita ketahui juga dalam penulisan alamat kursor ini, kolom maupun baris hitunganya dimulai dari 0. Untuk menentukan posisi tulisan kita bisa menggunakan intruksi “setCursor” Standar penulisannya adalah : namavariabellcd.setCursor(alamat kolom, alamat baris). Contoh penulisannya: Kita akan menulis pada kolom 0, baris 0 lcd.setCursor(0,0); Kita akan menulis pada kolom 0, baris 1 lcd.setCursor(0,1); 5)
Intruksi menulis string (huruf/karakter)
http://digilib.mercubuana.ac.id/
38
Untuk penulisan karakter huruf kita bisa menggunkaan instruksi “write” atapun “print” untuk penulisannya huruf ini, huruf yang akan ditampilkan berada dalam tanda ( “ ). Cara penulisaanya sebagai berikut: Lcd.write(“High or Low”); Lcd.print(“High or Low”); 6)
Intruksi menulis interger (nilai). Penulisan nilai integer atau angka ini beda dengan yang string, yang
dimaksud nilai interger ini nanti yang ditulis di lcd adalah nilainya. Misalkan kita punya nama variable adalah “data” variable ini berisi nilai “1000”. Dalam penulisan program yang dipanggil adalah variable “data” tapi yang tampil di lcd adalah isi datanya atau “1000”. Untuk intruksi ini kita bisa menggunakan intruksi “print” berbeda dengan penulisan string, penulisan interger ini tanpa menggunakan tanda kutif dua. Contohnya: Int data=1000; lcd.print(data)
3.6.
Perancangan Analisa Rangkaian Secara Detail Analisa secara detail berfungsi untuk mengetahui alur cara kerja alat. Pada
dibawah ini merupakan rangkaian keseluruhan dari kendali sistem monitoring level air.
http://digilib.mercubuana.ac.id/
39
Gambar 3.5 Rangkaian keseluruhan monitoring level air Rangkaian tersebut menggunakan tegangan atau catu daya DC (Direct Current) sebesar +5 volt yang didapat dari adaptor. Arduino Uni merupakan komponen yang memproses data masukan dari sensor ultrasonic. Kemudian microcontroller mengolah data yang diterima sesuai dengan program yang dibuat sebelumnya dan microcontroller mengeluarkan output sesuai dengan program yang sudah ditanamkan. Pada rangkaian ini data masukan diperoleh dari sensor ultrasonic yang bekerja dengan cara memancarkan suatu gelombang dan kemudian menghitung waktu pantulan gelombang tersebut. Data output dari microcontroller kemudian langsung ditampilkan pada layar LCD untuk memberikan pemberitahuan posisi level air.
3.7.
Perancangan Analisa Secara Flowchat Untuk mempermudah pembuatan program, penulis terlebih dahulu
membuat diagram alur atau biasa disebut juga dengan flowchat. Flowchat ini dimaksudkan sebagai pemandu penulis dalam membuat program agar kesalahan dapat diminimalisir, juga bertujuan agar program yang dibuat merupakan suatu
http://digilib.mercubuana.ac.id/
40
algoritma yang tepat. Cara kerja alat secara diagram alur dijabarkan dalam bentuk flowchat seperti gambar dibawah ini.
MULAI
INISIALISASI
SENSOR PEMANCAR
SENSOR PENERIMA
OLAH DATA
OUTPUT LCD
Gambar 3.6 Flowchat rangkaian alat
http://digilib.mercubuana.ac.id/