• Tidak ada hasil yang ditemukan

TAHAPAN PENGGUNAAN APLIKASI PROGRAM

Dalam dokumen SURAT PENCATATAN CIPTAAN (Halaman 55-78)

Smarthome Berbasis Module Bluetooth dan Voice

TAHAPAN PENGGUNAAN APLIKASI PROGRAM

Alat Smart home ini menggunakan media bluetooth Module berbasis Arduino Uno 328P adalah sebuah prototype yang dapat mengontrol lampu melalui Android Smartphone yang didalamnya terinstal aplikasi yang bernama Arduino Sketch dan Application Inventor yaitu aplikasi yang memiliki fungsi sebagai pengontrol lampu ,kipas, tv, dan lampu taman melalui koneksi Bluetooth Module yang digunakan adalah Bluetooth HC-05 aplikasi ini memanfaatkan fitur bluetooth pada Android Smartphone sebagai media komunikasi untuk mengirim intruksi-intruksi untuk menyalakan lampu yang dihubungkan ke led yang berfungsi sebagai prototype menyalakan lampu, tv, kipas, dan lampu taman.

Alat ini bekerja berdasarkan perintah dari android Smartphone melalui intruksi berupa kode abjad,kode yang dikirimkan akan masuk terlebih dahulu ke bluetooth yang terpasang pada rangkaian sistem minimum dan di teruskan ke ATMega 328p dan untuk monitoring lampu, kipas, tv, dan lampu taman yang bekerja secara terintruksi.

Blok Diagram alat

Pada rencana perancangan blok diagram ini sebelum melakukan perancangan, ada beberapa sistem yang perlu dilengkapi diantranya sistem perangkat keras dan sistem perangkat lunak, untuk lebih jelasnya bisa dilihat pada gambar 3.1 berikut ini:

Gambar 3.1 Gambar Blok Diagram alat

Cara Kerja Alat

Berikut ini adalah proses kerja alat secara keseluruhan :

a. Ketika catu daya batrai 5 Volt DC di hubungkan ke Arduino Uno maka semua rangkaian menerima tegangan yang telah diatur kebutuhannya sehingga rangkaian siap bekerja.

b. Android Smartphone terhubung ke Bluetooth HC-05 dan mengirim kode berupa angka ‘1’

melalui penekan tombol lampu di dalam Application Inventor2.

c. Maka kode tersebut akan dianlisa atau dicocokan dengan program yang sudah dituliskan, jika program yang telah ditulis dalam ATMega 328p cocok maka ATMega 328p akan mengirim intruksi untuk menarik tegangan menjadi HIGH (5VDC).

d. Kemudian ketika ATMega 328p mendapat tegangan HIGH maka akan mengirimkan sinyal berupa input dari aplikasi smartphone melalui modul HC-05 yang akan mengaktifkan LED, yang akan di panggil seperti tv nyala, kipas nyala ,lampu nyala,

lampu taman nyala. dan juga LCD akan menampilkan output berupa tulisan yang akan kita panggil.

e. Motor servo sebagai gerbang otomatis akan bekerja apabila input dari aplikasi android smartphone di panggil seperti “buka gerbang” maka inputan dari aplikasi android akan mengirimkan sinyal ke ATMega 328p melalui modul HC-05 untuk menggerakan motor servo.

Gambar 3.2 Cara Penggunaan

Gambar 3.3 Foto Alat dan Aplikasi

BAB IV CODING

Konstruksi sistem yang akan dijelaskan pada bab ini meliputi initialisasi program, main program, dan input/output program.

File header (file yang berisi eksttnsi.h) adalah file yang berisi deklarasi, Digunakan untuk

memanggil library yang digunakan pada kode program. Berikut library yang digunakan dalam codingan smart home.

#include <LCD.h> //library lcd

#include <LiquidCrystal.h> //library lcd

#include <LiquidCrystal_I2C.h> //library liquid crystal I2C

#include <Wire.h> //library virtual

#include <Servo.h> //library motor servo

#include <SoftwareSerial.h> //sebagai penentu pin RX dan TX

Konstanta adalah jenis identifier (suatu pengenal) yang bersifat konstanta atau tetap.

Berikut konstanta yang digunakan dalam coding smart home : int pinBluetoothTx = 0; //sebagai pin 0 pada arduino int pinBluetoothRx = 1; //sebagai pin 1 pada arduino Servo servoku; //variable untuk servo

int pos; //variable untuk menyimpan posisi servo

char data; //tipe data untuk menyatakan suatu karakter

1. Initialisasi

Initialisasi adalah sebuah proses pengisian nilai awal (nilai default) kedalam sebuah variabel. Berikut adalah initialisasi yang digunakan pada coding Smarthome : if (bluetooth.available() > 0) //sebagai penerima data dari buffer

bluetooth.read(); //Bluetooth akan membaca perintah

data = bluetooth.read(); //sebagai pengirim data Bluetooth. available() Serial.println(data); //sebagai pemangil data serial monitor pada

Arduino IDE

if (data == 'A') //untuk membandingkan variable dengan beberapa konstanta dan variable A deklarasi untuk lampu nyala.

DigitalWrite(10, 1); //pin10 arduino bernilai 1 maka tegangan akan bernilai

(HIGH)

if (data == 'E'){ //untuk membandingkan variable dengan beberapa konstanta dan variable E deklarasi untuk lampu mati.

digitalWrite(10, 0 ); // pin10 arduino bernilai 0 maka tegangan akan bernilai

(LOW)

If merupakan suatu percabangan dalam program, didalam if ada case untuk membandingkan variable dengan beberapa konstanta seperti contoh digitalWrite( 10 ,1); maka pin 10 arduino akan di beri nilai variable ‘1’ untuk memberi tegangan (HIGH) pada pin Arduino dan sebaliknya jika digitalWrite(10,0); maka pin 10 arduino akan diberi nilai ‘0’ untuk memberi tegangan (LOW) pada pin Arduino.

2. Input

Input adalah fungsi pustaka yang digunakan untuk menginput atau membaca data.

Codingan input yang digunakan pada program ini adalah :

void setup(){ //untuk menginialisasi variable, mode pin,

memulai menggunakan library.

Serial.begin(9600); //serial begin

bluetooth.begin(9600); //bluetooth begin

lcd.begin (16,2); //lcd 16x2

lcd.backlight(); //pencahayaan pada lcd

pinMode(8, OUTPUT); //menetapkan pin 8 sebagai output

pinMode(10, OUTPUT); // menetapkan pin 10 sebagai output

pinMode(11, OUTPUT); // menetapkan pin 11 sebagai output

pinMode(12, OUTPUT); // menetapkan pin 12 sebagai output

servoku.attach(7); //pin untuk motor servo

servoku.write(180); //servo berada dalam posisi 180 derajad

lcd.setCursor(0,0); //menetapkan kursor pada lcd

lcd.print("TUGAS AKHIR"); //untuk menampilkan teks pada lcd

3. Main Program

Void loop(){ //semua kode yang ada disini akan dibaca berulang kali oleh arduino

if (bluetooth.available()>0) { //sebagai pemangil serial variable bluetooth

{

data = bluetooth.read(); //untuk membaca data pada serial bluetooth

Serial.println(data); //untuk memangil serial monitor pada Arduino

IDE

}

if (data == 'A') //untuk membandingkan variable dengan

beberapa konstanta dan variable A deklarasi untuk lampu nyala.

{

digitalWrite(10, 1 ); // pin10 arduino bernilai 1 maka tegangan akan

bernilai (HIGH)

lcd.backlight(); //pencahayaan pada lcd

lcd.setCursor(0,0); //menetapkan kursor pada lcd

lcd.print("LAMPU NYALA"); //untuk menampilkan teks pada lcd

}

lcd.backlight(); // pencahayaan pada lcd

lcd.setCursor(0,0); //menetapkan kursor pada lcd

lcd.print("KIPAS NYALA"); //untuk menampilkan teks pada lcd

}

if (data == 'C') //untuk membandingkan variable dengan

beberapa konstanta dan variable C deklarasi untuk tv nyala.

{

digitalWrite(11, 1 ); //pin 11 bernilai 1 maka tegangan akan (HIGH)

lcd.backlight(); //untuk pencahayaan pada lcd

lcd.setCursor(0,0); //untuk menentukan kursor pada lcd

lcd.print("TV NYALA "); //untuk menampilkan teks pada lcd

}

if (data == 'D') // untuk membandingkan variable dengan

beberapa konstanta dan variable D deklarasi untuk lampu taman nyala.

{

digitalWrite(12, 1 ); //pin 12 bernilai 1 maka tegangan akan (HIGH)

lcd.backlight(); //untuk pencahayaan pada lcd

lcd.setCursor(0,0); //untuk menentukan kursor pada lcd

lcd.print("LAMPU TAMAN NYALA"); //untuk menampilkan teks pada lcd

}

if (data == '1') // untuk membandingkan variable dengan

beberapa konstanta dan variable 1 deklarasi untuk gerbang terbuka

{

digitalWrite(9, 0); //pin 9 bernilai 0 maka tegangan akan (LOW)

lcd.backlight(); //untuk pencahayaan pada lcd

lcd.setCursor(0,0); //untuk menentukan kursor pada lcd

lcd.print("GERBANG TERBUKA"); //untuk menampilkan teks pada lcd

servoku.write(130); //servo akan membaca 130 derajad

delay(500); //delay untuk servo

lcd.print("KIPAS MATI ");

if (data == 'H') // untuk membandingkan variable dengan

beberapa konstanta dan variable H deklarasi untuk lampu

lcd.print("LAMPU TAMAN MATI");

}

if (data == '2') //untuk membandingkan variable dengan

beberapa konstanta dan variable 2 deklarasi untuk gerbang tertutup

{

digitalWrite(9, 1); //pin 9 pada Arduino akan bernilai 1 maka

tegangan akan (HIGH)

lcd.backlight(); //untuk pencahayaan pada lcd

lcd.setCursor(0,0); //untuk mengatur kursor pada lcd

lcd.print("GERBANG TERTUTUP"); //untuk menampilkan teks pada lcd

servoku.write(180); //servo akan membaca 180 derajad

}

if (data == '3') //untuk membandingkan variable dengan

beberapa konstanta dan variable 3 deklarasi untuk menonaktifkan semua perangkat

lcd.print("CUCAK ROWO CORP ");

}

}

4. Output

Output adalah proses untuk mengoutput atau menampilkan data program. Berikut codingan outputyang digunakan pada alat :

if (data == '1') // untuk membandingkan variable dengan beberapa

konstanta dan variable 1 deklarasi untuk gerbang terbuka

{

digitalWrite(9, 0); //pin 9 bernilai 0 maka tegangan akan (LOW)

lcd.backlight(); //untuk pencahayaan pada lcd

lcd.setCursor(0,0); //untuk menentukan kursor pada lcd

lcd.print("GERBANG TERBUKA ");//untuk menampilkan teks pada lcd

servoku.write(130); //servo akan membaca 130 derajad

delay(500); //delay untuk servo

digitalWrite(9, 1); //pin 9 pada Arduino akan bernilai 1 maka

tegangan akan (HIGH)

lcd.backlight(); //untuk pencahayaan pada lcd

lcd.setCursor(0,0); //untuk mengatur kursor pada lcd

lcd.print("GERBANG TERTUTUP"); //untuk menampilkan teks pada lcd

servoku.write(180); //servo akan membaca 180 derajad

}

BAB V HASIL

Hasil percobaan yang dilakukan pada projek smarthome ini adalah dengan menguji coba apakah bluetooth bisa terkoniksi atau tidak dengan aplikasi android ,serta output akan bekerja baik atau tidak jika bluetooth dalam keadaan aktif.

1. Hasil Percobaan Input

Tabel 5.1.

Hasil input percobaan alat

Aplikasi android dikoneksikan dengan Bluetooth agar Arduino bias menerima input lewat aplikasi android kemudian melakukan penekanan pada tombol aplikasi android untuk menyalakan atau mematikan led/servo.

2. Hasil Percobaan Output

Tabel 5.2

Hasil output percobaan alat

Pada tabel 3.2 menunjukan bahwa pada percobaan pertama atau saat alat pertama kali dinyalakan dengan led1 nyala maka led akan aktif dan lcd menampilkan teks “LAMPU NYALA” dan motor servo tidak aktif, Pada percobaan kedua led1 mati maka led akan mati dan lcd menampilkan teks “LAMPU MATI” dan motor servo tidak aktif, Percobaan ke tiga servo nyala dan lcd menampilkan teks “GERBANG TERBUKA” motor servo 3. Hasil Percobaan Keseluruhan

Table 5.3

Hasil keseluruhan percobaan alat

Sebelumnya Arduino memerlukan tenaga agar dapat hidup dan membagi sebagian daya untuk dibagi ke modul HC-05, LCD display,LED, dan motor servo pada alat ini memerlukan

tegangan 9v. smartphone mengirimkan perintah melalui aplikasi yang sudah di sediakan ke modul HC-05 berupa sinyal. Ini nantinya yang akan di esekusi di Arduino untuk di terjemahkan menjadi gerakan atau nyala lampu led. Contoh Input perintah suara “lampu nyala” dan button 4 on maka output nomor 1 status nyala dan hasil led1 on/high, input ”lampu mati” dan button 4 off maka output nomor 0 status mati dan hasil led1 off/low.

BAB VI

KESIMPULAN DAN SARAN

6.1. Kesimpulan

Berdasarkan hasil analisa, perancangan dan implementasi yang telah dilakukan, serta berdasarkan rumusan masalah yang ada, maka dabat diambil beberapa kesimpulan diantaranya sebagai berikut :

1. Komunikasi antara android smartphone dengan mikrokontroler dapat dilakukan secara wireless menggunakan Bluetooth, yang mana android smartphone dan Bluetooth module pada sisitem mikrokontroler dapat berkomunikasi mengunakan data serial.

2. Fitur speech recognition dan button yang ada pada android smartphone dapat dimanfaatkan untuk mengendalikan lampu meggunakan printah suara dan penekanan tombol pada aplikasi android. Hal ini dilakukan dengan cara menginisialisasikan spectrum perintah suara berupa string kedalam kode karakter yang telah dikenal mikrokontroler.

3. Pengendali lampu tidaakan bekerja jika smartphone android diluar jarak jangkauan pancaran wireless Bluetooth dari Bluetooth module karena sambungan Bluetooth akan terputus secara otomatis

6.2. Saran-saran

Sistem ini tidak lepas dari kekurangan dan kelemahan.Oleh karena itu, penulis memberi beberapa saran yang dapat digunakan sebagai acuan dalam penelitian atau pengembangan selanjutnya, yaitu sebagai berikut:

1. Mengoptimalkan status lampu untuk monitoring lampu agar lebih komunikatif.

2. Agar perangkat ini dapat digunakan dari jarak yang lebih jauh maka diperlukan pengaturan baudrate dan perangkat keras versi Bluetooth module yang lebih canggih.

3. Aplikasi ini dapat di kembangkan lagi mengunakan modul GSM sebagai sistem monitoring agar bias digunakan dari jarak yang lebih jauh untuk mematikan lampu ketika kita jauh dari rumah

DAFTAR PUSTAKA

Ahyadi, Zaiyan. (2018). Belajar Antarmuka Arduino Secara Cepat Dari Contoh. Yogyakarta:

Poliban Press.

Ananda, Ricki. (2018). 40 Project Robotic dan Aplikasi Android. Yogyakarta: Deepublish.

Bayu Sedewo, A. D. (2017). Perancangan Pengendali Rumah Menggunakan Smartphone Android dengan Konektivitas Bluetooth. Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, 416.

Dinata, I., dan Wahri Sunanda. (2015). Implementasi Wireless Monitoring Energi Listrik Berbasis Web Database. Jurnal Teknik Elektro, Vol. 4, No. 1, 86. Diambil dari:

http://jnte.ft.unand.ac.id/index.php/jnte/article/view/120

Fadlilah, N. I., dan Ahmad Arifudin. (2018). Pembuatan Alat Pendeteksi Gempa Menggunakan Accelerometer Berbasis Arduino. Jurnal Evolusi, Vol. 6, No. 1, 61–62.

Diambil dari:https://ejournal.bsi.ac.id/ejurnal/index.php/evolusi/article/view/3582

Hendrawan, Fauzi, Indah Purnamasari dan Martias. (2018). Pembuatan Robot Menggunakan Sensor Ultrasonic HC-SR 04 Berbasis Mikrokontroler Atmega 328. Jurnal Ilmu Pengetahuan dan Teknologi Komputer, Vol. 4, No. 1, 83. Diambil dari:

http://ejournal.nusamandiri.ac.id/ejurnal/index.php/jitk/article/view/985

Iswanto. (2016). Belajar Mikrokontroler AT89S51 dengan Bahasa Basic. Yogyakarta:

Deepublish.

Iswanto dan Nia Maharani Raharja. (2015). Mikrokontroller: Teori dan Praktik Atmega 16 dengan Bahasa C. Yogyakarta: Deepublish.

Kadir, Abdul. (2017). Pemrograman Arduino dan Processing. Jakarta: PT Elex Media Komputindo.

Kadir , Abdul. (2018). Langkah Mudah Pemrograman Android Mengunakan App Inventor 2 Ultimate. Jakarta: PT Elex Media Komputindo.

Listiyarini, Ratih. (2018). Dasar Listrik Dan Elektronika. Yogyakarta: Deepublish.

Nugroho, Kukuh ST,MT. (2016). jaringan komputer menggunakan pendekatan praktis.

kebumen: MEDIATERA.

Maulana, E., dan Rachmat, Adi Purnama. (2017). Pemanfaatan Layanan SMS Telepon Seluler Berbasis Mikrokontroler Atmega328p Sebagai Sistem Kontrol Lampu Rumah.

Jurnal Teknik Komputer Amik BSI, Vol. III, No. 1, 93. Diambil dari:

https://ejournal.bsi.ac.id/ejurnal/index.php/jtk/article/view/1349

Nuraini, Rini. (2015). Desain Algorithma Operasi Perkalian Matriks Menggunakan Metode Flowchart. Jurnal Teknik Komputer Amik BSI, Vol. 1, No. 1, 146. Diambil dari:

https://ejournal.bsi.ac.id/ejurnal/index.php/jtk/article/view/245

Rafika. (2015). Rumah Autometic menggunakan Bluetooth berbasis ATMega 328p. Jurnal pengembangan teknologi informasi dan ilmu komputer, vol.8 no.3.

Siyoto, S., dan Muhammad Ali Sodik. (2015). Dasar Metodologi Penelitian. Yogyakarta:

Literasi Media Publishing.

Sokop, S. J., Dringhuzen J. Mamahit dan Sherwin Sompie. (2016). Trainer Periferal Antarmuka Berbasis Mikrokontroler Arduino Uno. E-Journal Teknik Elektro Dan

Komputer, Vol. 5, No. 3, 14. Diambil dari:

https://ejournal.unsrat.ac.id/index.php/elekdankom/article/view/11999

Sujarwata. (2018). Belajar Mikrokontroler BS2SX Teori, Penerapan dan Contoh pemrograman P Basic. Yogyakarta: Deepublish.

Sugianto. (2015). Desain Rangkaian Elektronika dan Layout PCB dengan Protokol 99 SE.

Jakarta: PT Elex Media Koputindo.

Susilawati, I., dan Risanto Dharmawan. (2017). Pengembangan Automatic Water Heater Berbasis Android. Jurnal Jiifor, Vol, 1, No. 1, 42. Diambil dari:

https://www.jurnal.teknikunkris.ac.id/index.php/JIIFOR/article/download/185/195

Utami, F. H., dan Asnawati. (2015). Rekayasa Perangkat Lunak. Yogyakarta: Deepublish.

Yahya, Wachid. (2017). Buku Sistem Kontrol Otomotif. Yogyakarta: Deepublish.

Dalam dokumen SURAT PENCATATAN CIPTAAN (Halaman 55-78)

Dokumen terkait