BAB III PERANCANGAN Bab ini membahas perancangan otomatisasi peralatan rumah tangga berbasis Platform Mikrocontroller Open Source Arduino Uno. Microcontroller tersebut digunakan untuk mengolah informasi yang telah dikirimkan oleh smartphone dan mengatur operasi kerja dari driver transistor. Pengaturan tersebut berfungsi untuk menghidupkan dan mematikan peralatan rumah tangga 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 : AMR_Voice Smartphone Android Module Bluetooth untuk komunikasi data Microcontroller Kipas, Lampu, dan peralatan rumah tangga lainnya Transistor Driver peralatan rumah tangga Arduino Uno Via Internet Google Voice Recognition System Gambar 3.1 Blok Rangkaian Peralatan rumah tangga dengan suara Secara garis besar, cara kerja sistem ini adalah : Pengguna akan menekan tombol pada aplikasi AMR_Voice pada smartphone Android. Aplikasi tersebut kemudian akan mengirimkan data-data digital (Voice 32 33 Digital) ke server Google. Server Google kemudian akan menterjemahkan data-data tersebut (Voice Digital) dan akan mengirimkan terjemahan data-data tersebut dalam bentuk String Teks untuk aplikasi AMR_Voice tersebut. AMR_Voice yang ada pada smartphone kemudian akan menerima datadata digital (String Teks) yang diberikan oleh google dan kemudian memerintahkan agar data tersebut dikirimkan melalui Bluetooth smartphone (Master) menuju module Bluetooth yang ada pada Microcontroller Arduino Uno (Slave). Module Bluetooth yang ada pada Microcontroller Arduino Uno (Slave) kemudian menerima data-data digital (String Teks) yang dikirimkan oleh Bluetooth Master. Kemudian module Bluetooth yang ada pada Microcontroller Arduino Uno (Slave) akan berkomunikasi dengan Microcontroller Arduino Uno via PIN Serial (7 dan 6) dan mengirimkan data-data (String Teks) tersebut kepada Microcontroller Arduino Uno untuk di proses. Microcontroller Arduino Uno kemudian akan memproses data-data digital (String Teks) yang telah dikirimkan oleh module Bluetooth (Slave) dan kemudian dengan data-data (String Teks) tersebut microcontroller arduino uno akan memutuskan untuk mematikan/menghidupkan peralatan rumah tangga via transistor driver. Transistor driver akan menerima logika High/Low yang akan digunakan untuk memutus arus listrik peralatan rumah tangga yang telah ditentukan sebelumnya. 3.2 Perancangan Perangkat Keras Dalam pemilihan komponen pada sistem-sistem ini 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. 34 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. Smartphone Smartphone adalah sebuah gagdet handphone dengan dibekali operating sistem sehingga dapat digunakan banyak hal, seperti email, sms, live streaming dan lain-lain. Khusus untuk aplikasi otomatisasi peralatan rumah tangga dengan menggunakan suara ini ada beberapa spesifikasi yang harus dimiliki yaitu : 1. Memiliki OS yang mendukung Google Ekosystem ( Android ). 2. Mendukung untuk operating system android minimum 2.2 Froyo. 3. Memiliki fitur komunikasi data dengan perangkat yang lain via Bluetooth. 4. Memiliki fitur komunikasi data via jaringan seluler dengan teknologi minimum GPRS sehingga dapat terhubung dengan intenet. 5. Menggunakan layar sentuh sebagai input dari smartphone tersebut. 6. Minimum memory 5 Mb untuk penyimpanan aplikasi (460 Kb) dan untuk operasi kerja. Gambar 3.2 Samsung Galaxy Mini 35 3.2.2. Module Bluetooth Shield SLD63030P SeedStudio Module Bluetooth ini adalah merupakan Bluetooth module yang dibuat dalam bentuk shield sesuai dengan namanya namanya. module ini berfungsi untuk menambahkan fitur Microcontroller Arduino Unosehingga dapat memiliki kemampuan berkirim data secara wireless. Pertimbangan-pertimbangan yang digunakan untuk memilih sensor ini adalah sebagai berikut: 1. Komponen tersedia di mana-mana 2. Berbentuk Module shield Arduino sehingga mudah dilakukan penggantian apabila terjadi kerusakan. 3. Memiliki fitur Software serial port sehingga mudah untuk dilakukan penggantian PIN untuk komunikasi data apabila mengalami kerusakan. 4. Kompatible dengan board Arduino / Seeeduino / DFRduino 5. Jarak komunikasi hingga 10 meter di dalam ruangan tanpa halangan 6. Interface UART (TTL) dengan baud rate terprogram (firmware SPP telah terinstall) 7. Default Baud rate: 38400, Data bits: 8, Stop bit: 1, Parity: No parity 8. Memiliki fitur PIN dengan Default PINCODE:”0000”, sehingga seseorang yang tidak berkepentingan tidak dapat mengakses module ini 9. On board PCB Antenna 10. Telah memiliki sertifikat FCC ID sehingga aman digunakan 11. Merupakan module Bluetooth yang popular sehingga memiliki banyak contoh untuk listing program yang digunakan oleh pengguna module ini di internet. Gambar 3.3 Module Bluetooth 36 3.2.3. Minimum Sistem Microcontroller Arduino Uno Rangkaian mikrokontroler berfungsi untuk mengolah informasi yang dihasilkan oleh smartphone dan menghasilkan perintah untuk mematikan dan menghidupkan peralatan elektronik. 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. Gambar 3.4 Minimum sistem Microcontroller Arduino Uno Spesifikasi Hardware : Microcontroller Chipset ATmega328 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) 37 Analog Input Pins 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz 3.2.4. Power Supply Sebuah rangkaian elektronika yang terdiri dari komponen-komponen aktif seperti IC dan transistor, agar dapat bekerja maka diperlukan sebuah sumber catu daya. Modul Mikrokontroler Arduino Uno dan driver transistor memerlukan tegangan untuk catu daya sebesar 12 Volt DC. Tegangan catu daya tersebut didapatkan dari transformer CT yang telah diturunkan tegangannya dari 220 Volt AC menjadi 12 Volt AC. Kemudian dengan bantuan 2 buah diode tegangan 12 volt AC tersebut diubah kembali menjadi 12 Volt DC. gambar dibawah ini merupakan skematik rangkaian untuk power supply. Transformator_2201 D1 CT PLN1 220Vrms 60Hz 0° 12_VDC D2 C1 100µF Gambar 3.5 Rangkaian Power Supply 0_VDC 38 3.2.5. Rangkaian Driver Transistor C9013 Rangkaian di bawah ini merupakan driver untuk memutuskan atau menyambungkan arus listrik yang akan melewati peralatan elektronik yang lain. Rangkaian ini berkerja seperti sakelar elektronik namun yang membedakannya adalah sakelar elektronik ini dikendalikan oleh logika High/Low yang dikeluarkan oleh Microcontroller Arduino Uno. 12_VDC to_220_VAC RELAY_NC X1 K D1 1N4001 to_peralatan_elektronik Pin_Digital_IO R1 1kΩ Q1 S9013 Gambar 3.6 Rangkaian Driver transistor Transistor bekerja dengan Karakteristik saturasi dan cut off. ketika transistor berkerja pada saturasi maka relay akan mati untuk sementara. Namun ketika transistor berkerja pada daerah cut off maka arus akan mengalir dari catu daya menuju kolektor transistor melewati relay sehingga akan menyebabkan kumparan relay aktif dan menginduksi. pada saat relay berkerja menginduksi, maka relay akan berkerja untuk menghubungkan catudaya positif 220 VAC dengan peralatan elektronik rumah tangga. Pada saat peralatan rumah tangga tersebut mendapatkan catudaya 220 VAC maka peralatan tersebut akan hidup, dan ketika relay tidak menginduksi maka jalur catudaya 220 VAC akan terputus sehingga peralatan elektronik akan mati. 3.3 Perancangan Perangkat Lunak Perancangan perangkat lunak dibagi menjadi beberapa bagian, hal itu disebabkan tidak semua perangkat lunak di buat melainkan ada juga yang 39 menggunakan perangkat lunak yang tersedia di google play store. Berikut adalah perancangan perangkat lunak yang digunakan : 3.3.1. Komunikasi data Bluetooth (slave) - Arduino Port yang digunakan adalah Port I/O digital 6 dan Port I/O digital 7. Port I/O digital 6 berfungsi sebagai penerima input data (Rx) dari module bluetooth dan PORT I/O Digital 7 berfungsi sebagai pengirim data (Tx) untuk module Bluetooth. #include <SoftwareSerial.h> //Software Serial Port #define RxD 6 #define TxD 7 SoftwareSerial blueToothSerial(RxD,TxD); void setup() { pinMode(RxD, INPUT); pinMode(TxD, OUTPUT); setupBlueToothConnection(); } void setupBlueToothConnection() { blueToothSerial.begin(38400); //Set BluetoothBee BaudRate to default baud rate 38400 delay(2000); // This delay is required. blueToothSerial.flush(); } 3.3.2. Komunikasi data Bluetooth (master) - Bluetooth (slave) Listing program dibawah ini berfungsi untuk mengatur Bluetooth yang ada pada Microcontroller Arduino Uno menjadi mode slave, memperbolehkan setiap hubungan bluetooth yang pernah terverifikasi dengan PIN untuk terhubung otomatis, memberikan nama kepada bluetooth (slave) menjadi “SeeedBTSlave”, dan menonaktifkan fitur koneksi otomatis apabila hubungan yang telah dibangun putus secara tiba-tiba. void setupBlueToothConnection() 40 { blueToothSerial.print("\r\n+STWMOD=0\r\n"); //set the bluetooth work in slave mode blueToothSerial.print("\r\n+STNA=SeeedBTSlave\r\n"); //set the bluetooth name as "SeeedBTSlave" blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permit Paired device to connect me blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Auto-connection should be forbidden here delay(2000); // This delay is required. blueToothSerial.print("\r\n+INQ=1\r\n"); //make the slave bluetooth inquirable Serial.println("The slave bluetooth is inquirable!"); } 3.3.3. Listing untuk menghidupkan/mematikan peralatan elektronik Listing program dibawah ini berfungsi untuk mengatur Port I/O digital 11 dan Port I/O digital 12 menjadi output sebagai perintah kepada driver transistor untuk memutus/menyambungkan catudaya listrik dengan peralatan elektronik. Microcontroller Arduino Uno memastikan adanya string teks yang diterima oleh Bluetooth slave dan apabila sesuai dengan kondisi yang pengguna inginkan maka dapat dilakukan pemutusan maupun penyambungan catudaya listrik dengan peralatan elektronik. #define pinLed0 11 #define pinLed1 12 String voice; void setup() { Serial.begin(9600); pinMode(pinLed0, OUTPUT); pinMode(pinLed1, OUTPUT); } void loop() { char recvChar; while (blueToothSerial.available()) { //check if there's any data sent from the remote bluetooth shield delay(10); recvChar = blueToothSerial.read(); Serial.print(recvChar); if(recvChar == '#') break; 41 voice += recvChar; } if (voice.length() > 0) { Serial.println(voice); if (voice == "*nyalakan lampu") digitalWrite(pinLed0, HIGH); if (voice == "*nyalakan kipas angin") digitalWrite(pinLed1, HIGH); if (voice == "*matikan lampu") digitalWrite(pinLed0, LOW); if (voice == "*matikan kipas angin") digitalWrite(pinLed1, LOW); voice = ""; } } 3.3.4. Komunikasi data Google Server – Smartphone Perangkat lunak ini merupakan perangkat lunak buatan sebuah perusahaan di india. Perangkat lunak ini berjalan di smartphone android untuk pengenalan suara dengan bantuann google voice recognition system. Dengan komunikasi via module Bluetooth Serial dan mengirimkan suara yang telah diterjemahkan oleh google tersebut menjadi string teks. Ketika pengguna mengatakan “Halo” ponsel android akan menuliskan * Hello # pada layar smartphone androidnya. karakter * dan # menunjukkan tanda untuk start bit dan stop bit. Perangkat lunak ini bisa digunakan untuk banyak microcontroller lainnya sebagai Contoh Platform: Arduino, ARM, PICAXE, MSP430, 8051 dan lain-lainnya. Gambar 3.7 Perangkat Lunak AMR_Voice