BAB III PERANCANGAN Bab ini membahas perancangan sensor parkir mobil berbasis Platform Mikrocontroller Open Source Arduino Uno. Microcontroller tersebut digunakan untuk mengolah informasi yang telah dikirimkan oleh sensor dan mengatur operasi kerja dari Buzzer dan LCD. Pengaturan tersebut berfungsi untuk menampilkan jarak antara benda dengan mobil, suhu di luar mobil, serta memberikan peringatan via Buzzer yang ada. Pembuatan sistem meliputi perencanaan perangkat keras dan perencanaan perangkat lunak. 3.1 Prinsip Kerja Sistem Sistem yang telah dibangun, secara garis besar terdiri dari blok rangkaian seperti terlihat pada gambar dibawah ini : Sensor Ultrasonik Microcontroller Arduino Uno Buzzer LED Gambar 3.1 Blok Rangkaian LCD Secara garis besar, cara kerja sistem ini adalah : Sensor ultrasonic akan menembakkan sinyal akustik, dan pantulan sinyal akustik tersebut akan ditangkap kembali dan dikirimkan menuju Microcontroller Arduino Uno. Microcontroller Arduino Uno akan menghitung jarak berdasarkan waktu tembakan sinyal dan waktu terima sinyal. Setelah data-data tersebut di proses maka data-data baru akan dikirimkan menuju LCD oleh 36
37 Microcontroller Arduino Uno. LCD akan menterjemahkan data-data yang dikirim oleh Microcontroller Arduino Uno dan mengubahnya menjadi simbol-simbol yang dimengerti oleh manusia sebagai penggunanya. 3.2 Perancangan Perangkat Keras Dalam pemilihan komponen pada sistem-sistem ini haruslah sesuai maka sangatlah penting untuk memperhatikan beberapa hal berikut ini : 1. Menggunakan microcontroller dengan platform Open Source sehingga untuk pengembangannya dapat di support oleh komunitas pengguna microcontroller ini. 2. Menggunakan komponen-komponen yang tersedia di pasaran, sehingga harganya murah dan mudah di dapat. 3. Rangkaian yang sederhana sehingga mudah untuk dilakukan penambahan untuk pengembangan lebih lanjut. 3.2.1. Sensor Ultrasonik Module ini merupakan sebuah module yang digunakan untuk mengukur jarak berdasarkan waktu kirim dan waktu terima sinyal akustik ultrasonic. Sensor Ultrasonik ini mempunyai akurasi yang tinggi dan penginderaan jarak yang lebih jauh. Beberapa alasan mengapa digunakan module ini adalah : Bentuk yang kecil. Harga yang murah. Mudah didapatkan di pasaran. Banyak contoh penggunaan oleh pengguna yang lain. Jarak pengukuran dari 2 Cm 500 Cm. Penggunaan arus daya yang rendah < 2mA
38 11 10 5v Gnd Trig Echo 5V+ - Gambar 3.2 Rangkaian Arduino dan Sensor Ultrasonik 3.2.2. Buzzer Module ini merupakan sebuah module buzzer yang dapat mengeluarkan suara yang dapat digunakan untuk memberikan peringatan via audio. Digital Buzzer Module dapat digunakan dengan Arduino atau alat pengendali lainnya, modul ini dapat menghasilkan suara bel atau musik MID sederhana. Bentuk yang kecil. Harga yang murah. Mudah didapatkan di pasaran. Banyak contoh penggunaan oleh pengguna yang lain. Interface digital.
39 9 Gnd 5v Data 5V+ - Gambar 3.3 Rangkaian Arduino dan Buzzer 3.2.3. LCD Hitachi HD44780 Hitachi HD44780 LCD controller adalah salah satu matriks layar kristal cair yang paling umum dot (LCD) layar controller yang tersedia. Hitachi mengembangkan mikrokontroler khusus untuk drive layar LCD alfanumerik dengan antarmuka yang sederhana yang dapat terhubung ke mikrokontroler atau mikroprosesor tujuan umum. Bentuk yang kecil. Harga yang murah. Mudah didapatkan di pasaran. Banyak contoh penggunaan oleh pengguna yang lain. Interface digital.
40 R1 10kΩ Key=A 50 % 7 6 5 43 2 Gnd RS Gnd D4 D3D2 D1 5v RW Enable V1 12V + - 5V+ - Gambar 3.4 Rangkaian Display LCD 3.2.4. Minimum Sistem Microcontroller Arduino Uno Rangkaian mikrokontroler berfungsi untuk mengolah informasi yang dihasilkan oleh modul sensor ultrasonic dan menghasilkan perintah agar LCD dapat menampilkan hasil pengukuran jarak dan suhu lingkungan. Rangkaian microcontroller ini menggunakan minimum sistem yang pada awalnya digunakan untuk mendownload listing program dari computer ke Chipset microcontroller. Diharapkan dengan minimum sistem ini akan dapat menghemat biaya yang dikeluarkan untuk membangun sistem ini. Berikut adalah minimum sistem dari Microcontroller Arduino Uno.
41 Gambar 3.5 Minimum sistem Microcontroller Arduino Uno Spesifikasi Hardware : Microcontroller Chipset Operating Voltage ATmega328 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin DC Current for 3.3V Pin Flash Memory SRAM EEPROM Clock Speed 40 Ma 50 ma 32 KB (ATmega328) of which 0.5 KB used by bootloader 2 KB (ATmega328) 1 KB (ATmega328) 16 MHz
42 3.3 Perancangan Perangkat Lunak Perancangan perangkat lunak dibagi menjadi beberapa bagian, hal itu disebabkan untuk memudahkan agar dapat dilakukan pemecahan permasalahan dengan mudah. Berikut adalah perancangan perangkat lunak yang digunakan : 3.2.5. Pengukuran Jarak Sensor Ultrasonik Arduino Port yang digunakan adalah Port I/O digital 10 dan Port I/O digital 11. Port I/O digital 10 digunakan sebagai pengirim sinyal agar modul ultrasonic mengirimkan gelombang akustik dan PORT I/O Digital 11 berfungsi sebagai penerima sinyal yang menunjukan bahwa modul ultrasonic telah menerima pantulan sinyal akustik. void setup() pinmode(10, OUTPUT); // attach pin 2 to Trig pinmode(11, INPUT); // attach pin 3 to Echo void loop() long duration, inches, cm; digitalwrite(10, LOW); delaymicroseconds(2); digitalwrite(10, HIGH); delaymicroseconds(5); digitalwrite(10, LOW); duration = pulsein(11, HIGH); inches = microsecondstoinches(duration); cm = microsecondstocentimeters(duration); Serial.print(inches); Serial.print("in, "); Serial.print(cm); Serial.print("cm"); Serial.println(); long microsecondstoinches(long microseconds) return microseconds / 74 / 2;
43 long microsecondstocentimeters(long microseconds) return microseconds / 29 / 2; 3.2.6. Listing Untuk Mengendalikan Buzzer Listing program dibawah ini berfungsi untuk mengatur Port I/O digital 9 menjadi output sebagai perintah kepada buzzer untuk berbunyi. #define buzzer 9 void setup() pinmode(buzzer, OUTPUT); // attach for buzzer if (cm <= 10) digitalwrite(buzzer, HIGH); delay(1000); digitalwrite(buzzer, LOW); 3.2.7. Komunikasi Data LCD HD44870 Arduino Listing program dibawah ini berfungsi untuk komunikasi data antara Microcontroller Arduino Uno dan display LCD hitachi HD44870. Port yang digunakan untuk komunikasi data adalah Port I/O digital 2 untuk Data 1, Port I/O digital 3 untuk Data 2, Port I/O digital 4 untuk Data 3, Port I/O digital 5 untuk Data 4, Port I/O digital 6 untuk Enable, dan Port I/O digital 7 untuk RS. #include <LiquidCrystal.h> LiquidCrystal lcd(7, 6, 5, 4, 3, 2); void setup() lcd.begin(16, 2); lcd.setcursor(2, 0);
44 lcd.print("wahyu J. U."); lcd.setcursor(2, 1); lcd.print("41409120057"); delay(10000); void loop() lcd.setcursor(0, 0); lcd.print("jarak= "); lcd.print(cm); lcd.print("cm"); lcd.setcursor(0, 1); lcd.print("temp = "); lcd.print(dht.temperature); lcd.print("\337c"); lcd.clear();