BAB 2 LANDASAN TEORI
2.1. Kajian Pustaka Sebagai dasar teori, penulis menggunakan referensi jurnal yang ditulis oleh Dr. B. Tittman dan M. Guers, berjudul ”Measuring Fluid Level Using Ultrasound”. Penelitian ini dilakukan pada tahun 2007. Masalah yang diangkat pada jurnal ini, adalah keakuratan sensor ultrasonik untuk mengukur ketinggian air pada sebuah wadah. Pada penelitian tersebut, dibuat sebuah sensor yang dapat melakukan hal tersebut. Sensor tersebut menggunakan gelombang ultrasonik yang dihasilkan dari signal generator. Selanjutnya gelombang gema hasil pantulan ditangkap oleh osiloskop dan diolah menggunakan MATLAB. Setelah dilakukan beberapa kali percobaan didapatkan bahwa, ketelitian menggunakan sensor ultrasonik mencapai 90%.
2.2. Sensor Ultrasonik Menurut situs http://www.engineersgarage.com, gelombang ultrasonik adalah gelombang dengan besar frekuensi diatas frekuensi gelombang suara yaitu lebih dari 20 KHz. Seperti telah disebutkan bahwa sensor ultrasonik terdiri dari rangkaian pemancar ultrasonik yang disebut transmitter dan rangkaian penerima ultrasonik yang disebut receiver. Sinyal ultrasonik yang dibangkitkan akan dipancarkan dari transmitter ultrasonik.
5
6
Ketika sinyal mengenai benda penghalang, maka sinyal ini dipantulkan, dan diterima oleh reciever ultrasonik. Sinyal yang diterima oleh rangkaian reciever dikirimkan ke rangkaian mikrokontroler untuk selanjutnya diolah untuk menghitung jarak terhadap benda di depannya (bidang pantul). Prinsip kerja dari sensor ultrasonik dapat ditunjukkan dalam gambar 2.1. dibawah ini:
Gambar 2.1. Prinsip Kerja Sensor Ultrasonik
Prinsip kerja dari sensor ultrasonik adalah sebagai berikut : 1.
Sinyal dipancarkan oleh pemancar ultrasonik. Sinyal tersebut berfrekuensi diatas 20kHz, biasanya yang digunakan untuk mengukur jarak benda adalah 40kHz. Sinyal tersebut di bangkitkan oleh rangkaian pemancar ultrasonik.
2.
Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal / gelombang
dengan kecepatan bunyi yang berkisar 340 m/s. Sinyal
tersebut kemudian akan dipantulkan oleh sebuah bidang dan akan diterima kembali oleh bagian penerima Ultrasonik.
7
3.
Setelah sinyal tersebut sampai di penerima ultrasonik, kemudian sinyal tersebut akan diproses untuk menghitung jaraknya. Jarak dihitung berdasarkan rumus: S = 340.t/2 ……… (persamaan 2.1) dimana S adalah jarak antara sensor ultrasonik dengan bidang pantul, dan t adalah selisih waktu antara pemancaran gelombang ultrasonik sampai diterima kembali oleh bagian penerima ultrasonik.
Secara keseluruhan sensor ultrasonik ini bekerja dengan bergantung pada gelombang gema yang dihasilkan dari pantulan gelombang suara ultrasonik yang ditembakkan. Bila gelombang suara awal mengenai suatu benda, maka akan menghasilkan gelombang gema. Semua perhitungan tersebut juga bergantung pada kecepatan rambat gelombang di udara. Kecepatan gelombang suara di udara pada dasarnya berkisar antara 331.5 m/s hingga 344 m/s. Perbedaan tersebut disebabkan oleh perbedaan suhu udara disekitarnya, pada 0oC kecepatan gelombang suara sekitar 331.5 m/s, pada 20oC sekitar 344 m/s, atau bahkan pada suhu 100oC kecepatan gelombang suara dapat mencapai 386 m/s. Pada penelitian ini, perhitungan sensor ultrasonik menggunakan kecepatan rambat gelombang suara sebesar 340 m/s.
8
Gambar 2.2. Grafik Kecepatan Gelombang Suara terhadap Suhu
2.3. Arduino Menurut
situs
www.arduino.cc,
Arduino
merupakan
sebuah
modul
development board yang sifatnya open-source, fleksibel, dan mudah digunakan dalam hal perangkat keras dan perangkat lunak. Dari sisi perangkat keras, modul arduino ini berbasis prosessor Atmel AVR (ATmega8 atau ATmega168) dan memiliki pin yang dapat digunakan sebagai input atau output. Sedangkan dari sisi perangkat lunak, arduino menggunakan bahasa pemrograman umum dan tersedia pula boot-loader yang berjalan pada modulnya. Arduino dapat mendeteksi keadaan sekitar melalui sensor yang dapat kita tambahkan. Selanjutnya modul arduino sendiri pun dapat mengeluarkan output untuk mengatur hal-hal seperti mengatur lampu, motor, dan lain-lain. Bahasa pemrograman yang digunakan mendukung bahasa pemrograman JAVA, C/C++, bahkan AVR-C jika diinginkan. Dengan modul arduino ini, kita juga dapat berkomunikasi dengan program pada PC.
9
Jenis modul arduino ada bermacam-macam, seperti Arduino Boards, Arduino Shields, Arduino Kit, dan aksesoris – aksesoris lainnya. Arduino Boards dibedakan menjadi 15 macam, contohnya Arduino Uno, Arduino Leonardo, Arduino Mega 2560, dan lain-lain. Sedangkan Arduino Shields terdapat 6 macam, seperti modul Arduino Ethernet Shield, Arduino WiFi Shield, Arduino Motor Shield, dan lain-lain. Modul-modul Arduino kebanyakan dibuat oleh SmartProjects di Italia. Modul Arduino Pro, Arduino Pro Mini, dan LilyPad dibuat oleh SparkFun Electronics, sebuah perusahaan di Amerika Serikat. Sedangkan modul Arduino Nano dibuat oleh Gravitech, juga sebuah perusahaan di Amerika Serikat. Salah satu kelebihan Arduino adalah harga yang tidak terlalu mahal. Modul Arduino rata-rata relatif lebih murah dibanding modul mikrokontroler lainnya. Bahkan modul termurah dari Arduino dapat mencapai harga dibawah $50. Selain masalah biaya, Arduino ini bersifat Cross-Platform. Arduino dapat berjalan diatas sistem operasi Windows, Macintosh OSX, dan Linux. Kebanyakan microkontroler lainnya hanya terbatas pada sistem operasi Windows. Pemrograman pada Arduino pun sangat jelas dan sederhana, bahkan bagi pengguna yang masih pemula sekalipun. Namun untuk pengguna yang telah mahir, pemrograman pun dapat dibuat hingga tingkat yang lebih tinggi.
Gambar 2.3. Logo dan Contoh Modul Arduino
10
2.4. Qt Menurut http://qt.digia.com, Qt (dibaca / kju t/ "cute", atau juga Q-T cuetee) adalah sebuah aplikasi framework cross-platform yang digunakan secara luas sebagai aplikasi yang menggunakan tampilan GUI (Graphic User Interface), adapun yang non-GUI sebagai command line atau console dari sebuah server. Qt berbasis pada bahasa pemrograman C++. Qt dapat digunakan pada beberapa sistem operasi seperti, pada Telepon Genggam (Symbian, Android, BlackBerry), pada Komputer (Windows, Mac OSX, Linux) dan embedded platform (Embedded Linux). Qt dikembangkan oleh sebuah proyek open source (Qt Project), termasuk developer-developer seperti Nokia, Digia, dan lain-lain. Sebelum peluncuran Qt Project, Qt diproduksi oleh divisi Qt Development Frameworks milik Nokia, yang merupakan hasil akuisisi Nokia terhadap perusahaan Norwegia, Trolltech pada tahun 2008. Setelah itu, tepatnya pada tahun 2012, Digia mengakusisi penuh QT dari Nokia. Pada Qt terdapat 3 tools utama, yaitu: •
QtCreator: IDE yang digunakan untuk menulis program C++ pada Qt.
•
Qmake: compiler yang digunakan untuk melakukan kompilasi.
•
QtDesigner: tools pada Qt yang digunakan untuk mendisain GUI aplikasi Qt.
11
Gambar 2.4. Logo dan Tampilan Program Qt
2.5. LCD Character Display LCD character display adalah alat yang umumnya digunakan sebagai output pada sebuah sistem. Alat ini akan menampilkan tulisan berupa susunan huruf-huruf sesuai kemauan user. Huruf atau karakter yang ditampilkan adalah karakter ASCII yang umum kita gunakan pada PC. Alat
ini
memiliki
beberapa
varian
tipe
yang
disesuaikan
dengan
kemampuannya dalam menampilkan karakter. Tipe tersebut di tulis dalam format [kolom X baris]. Lcd yang tersedia di pasaran antara lain: 16X2, 20X4 dan sebagainya. Umumnya LCD Character Display menggunakan IC dengan tipe HD44780U. IC ini berfungsi sebagai controller chip yang akan menerima data dari alat lain dan menampilkannya pada LCD.
12
Pada LCD terdapat 3 macam memory internal dengan tujuan khusus masingmasingnya, yaitu DD RAM, CG ROM, dan CG RAM. • DD RAM (Display Data RAM) Adalah memori yang bertugas sebagai tempat penyimpanan alamat dari karakter kode yang akan ditampilkan pada display LCD. Untuk mengatur letak dari posisi karakter kode yang akan ditampilkan pada display LCD, kita cukup mengatur alamat pada DD RAM.
Berikut pengalamatan karakter display pada DDRAM.
Gambar 2.5. Alamat DDRAM
• CG ROM (Character Generator ROM) Adalah memori yang menyimpan karakter kode yang akan ditampilkan di layar LCD.
13
Berikut adalah karakter code dalam CG ROM:
Gambar 2.6. List Karakter Kode LCD
• CG RAM (Character Generator RAM) Adalah memori yang menyediakan space untuk membuat 8 custom karakter bitmap.
Gambar 2.7. Contoh LCD Character Display 16 X 2
14
2.6. Serial Asinkronus Serial asinkronus adalah sebuah sistem komunikasi yang paling umum digunakan dalam berbagai macam sistem. Dengan menggunakan serial asinkronus, kita dapat melakukan komunikasi antara satu device dengan device lainnya. Komunikasi ini terdiri dari dua komponen yaitu transmiter (TX) dan receiver (RX). Transmiter berfungsi untuk mengirimkan data kepada device target, sedangkan receiver berguna untuk menerima data dari device target.
Gambar 2.8. Contoh Konfigurasi Komunikasi Serial Asinkronus
Pada komunikasi serial asynchronous, modul transmitter dan receiver harus mempunyai baud yang sama. Beberapa pilihan baud rate yang telah distandarisasi untuk komunikasi asynchronous, antara lain : 110, 300, 600, 1200, 2400, 4800, 9600, 19200, 57600, 115200. Baud rate adalah ukuran kecepatan data, baik untuk mengirimkan atau menerima data. Hal ini perlu dibuat sama agar tidak ada data yang hilang.
Gambar 2.9. Frame Data dalam Asynchronous Serial Communication
15
Format pengiriman komunikasi serial asinkronus adalah per frame. Satu frame umumnya terdiri dari 10 bit data, yang terdiri dari: 1 start bit, 8 bit data, dan 1 stop bit. Start bit digunakan sebagai penanda awal bahwa data siap dikirim. Umumnya start bit bernilai “0”. Besar data pada setiap frame yang dikirim adalah sebesar 8 bit. Data tersebut terletak diantara start bit dan stop bit. Walaupun besar data pada setiap frame hanya 8 bit, kita dapat mengirimkan banyak frame. Selanjutnya data-data tersebut dapat kita susun menjadi sebuah data yg lebih besar. Stop bit digunakan untuk menandakan bahwa frame sudah habis. Hal ini diperlukan untuk membedakan frame data yang satu dengan frame data yang lain.