BAB III PEMBAHASAN 3.1. Tinjauan Umum Alat · a. LED berfungsi sebagai indikator hasil input yang...

28
44 BAB III PEMBAHASAN 3.1. Tinjauan Umum Alat 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.

Transcript of BAB III PEMBAHASAN 3.1. Tinjauan Umum Alat · a. LED berfungsi sebagai indikator hasil input yang...

44

BAB III

PEMBAHASAN

3.1. Tinjauan Umum Alat

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.

45

3.2. 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 III.1 berikut ini:

Contoh:

Gambar III.1

.Gambar Blok Diagram alat

Android Smartphone

Bluetooth HC-06

Arduino UNO 328p

Lampu LED 1

Kipas LED 2

Televisi (TV) LED3

Lampu tamana LED 4

Baterai 9V+

LCD Display

Motor servo

46

Penjelasan blok diagram alat sebagai berikut:

1. Input

Komponen input ini merupakan komponen masukan yang akan diproses.

Komponen input ini terdiri dari :

a. Adaptor sebagai pemberi tenaga ke Arduino yang akan di salurkan ke

lampu LED, servo, dan LCD sebesar 5v.

b. Bluetooth HC-05 digunakan untuk penerimaan data dari android ke

microcontroller.

c. Android smarthome digunakan untuk mengontrol lampu/LED melalui

aplikasi smarthome project.

2. Proses

Proses merupakan komponen utama yang berfungsi sebagai pengelola data

yang diterima dari masukan yang kemudian akan menghasilkan output. Dalam

proses ini penulis menggunakan mikrokontroler ATMega 328P.

3. Output

Output merupakan keluaran dari semua proses yang telah dijalankan. Output

yang dihasilkan yaitu:

a. LED berfungsi sebagai indikator hasil input yang disimulasikan sebagai

lampu,kipas,TV dan lampu taman.

b. Servo berfungsi untuk membuka dan menutup pintu gerbang melalui

smarthome project.

c. LCD berfungsi untuk menampilkan teks apabila lampu LED menyala maka

lcd mengleuarkan output berupa tulisan.

47

3.3. Skema Rangkaian

3.3.1. Rangkaian Arduino ATMega 328p

Gambar III.2.

Rangkaian Sistem Minimum ATMega 328p (Arduino)

Rangkaian ini adalah sistem pengontrol lampu,kipas,TV,lampu taman, dan pintu

gerbang menggunakan mikrokontroler ATMega 328p sebagai pusat pemroses data,

bluetooth HC-05 sebagai media komunikasi penerima dan pengirim data ke android

smartphone,LED sebagai prototyape atau penanda kalau lampu,kipas,TV,dan lampu

taman menyala,motor servo sebagai pengerak gerbang dan rangkaian elektronika lain

sebagai pendukung sistem.

48

Pada sistem ini terdapat rangkaian converter USB ke serial dimana IC yang

digunakan adalah IC FT232RL. Rangkaian ini berfungsi untuk pengisi program ke

mikrokontroler ATMega 328p secara serial melalui komputer. Antar muka yang

digabungkan adalah USB yang dilengkapi ressetable fuse 500 mA apabila terjadi

hubung singkat didalam sistem maka akan memutuskan arus yang masuk pin 2 USB

(data min) terhubung kepin 15 IC FT232RL,dihubungkan dengan kapasitor 100 nF

untuk meredam noise yang dihasilkan dari IC FT232RL pin 1 (Tx) IC FT232RL akan

dihubngkan kepin 2 (TX) IC mikrokontroler melalui resistor 1k ohm untuk membatasi

arus yang masuk ke pin 2 (RX) IC mikrokontroler begitu pula dengan pin 5 (RX) IC

FT232RL dihubungkan ke kaki 3 (TX) IC Mikrokontroler. Untuk menghindari

penekanan tombol reset secara terus menerus pada proses pengisian program maka pin

2 (DTR#) dan pin 3(RST#) IC FT232RL diberikan kapasitor 100 nF yang terhubung

ke reset IC Mikrokontroler yang berfungsi untuk sebagai auto reset.

ATMega 328p membutuhkan tegangan (VCC) sebesar 5V dan bekerja pada

frekuensi oscillator yang dipakai mikrokontroler ini mempunyai oscillator internal

yang dapat digunakan sebagai penghasil clock untuk menggerakan CPU pada system

ini akan dipakai Oscillator Crystal eksternal dengan frekuensi 16 MHz dan dipakai

dua buah kapasitor 22Pf yang dihubungkan dengan XTAL 1dan XTAL2 pada

mikrokontroler, pemilihan Crystal dengan frekuensi ini dikarenakan sistem Arduino

membutuhkan eksekusi program yang sangat cepat.

Sistem minimum ini dilengkapi dengan konektor ISPC (InSystem Programming

Connector) yang sudah di sediakan melalui Header Male untuk mengatur fusebit

digunakan untuk pemakaian clock eksternal. Pin-pin tersebut adalah MOSI , MISO,

SCK, Reset, VCC dan GND. Selain itu juga terdapat 3 pin konektor penghubung servo

melalui pin- H, VCC dan GND.Dan juga Dan juga disediakan 6 pin konektor untuk

49

modul Bluetooth HC-05 yaitu NC (Not Connected) ,RX,TX,GND,VCC dan NC (Not

Connected).

Selain itu mikrokontroler memiliki saluran reset aktif rendah (Low) sehingga reset

ini harus di jaga agar tetap berada pada kondisi tinggi (High). Pin RESET digunakan

untuk me-reset program (mulai keadaan awal) dengan memberikan sinyal (Low) pada

pin RESET.

Table III.1.

Penggunaan Port Mikrokontroler ATMega 328p

50

3.3.2. Rangkaian Bluetooth HC-06

Gambar III. 3.

Rangkaian Bluetooth HC-05

Bluetooth module menggunakan jalur komunikasi serial untuk dapat terhubung

ke mikrokontroler.Pin-pin yang digunakan hanya RX, TX, VCC dan GND. Rangkaian

di atas mendapat supply tegangan dari sumber sebesar 5V. Tegangan kerja dari modul

bluetooth tersebut sebesar 3.3V maka terdapat regulator 662K sebagai pengubah

tegangan menjadi 3.3 V sebelum arus listrik masuk ke regulator, akan melewati dioda

penyearah yang berfungsi sebagai pengaman apabila terjadi hubung singkat maka arus

tidak akan mengalir sebagai filter tegangan terdapat kapasitor 100nf agar tegangan

pada rangkaian tersebut stabil PinTX di terhubung ke pin 1 modul Bluetooth HC-06

dan pin RX terhubung ke pin 2 modul Bluetooth melalui resistor yang berfungsi untuk

penghambat arus. Kemudian pin TX dan RX ini tehubung ke pin RX dan TX pada

51

Mikrokontroler ATMega 328p. Kemudian untuk laju data (baudrate) sebesar 9600

bps.

3.3.3. Aplikasi Android Smartphone

Alat ini di kendalikan oleh Android smartphone sebagai data masukan untuk

mengaktifkan led dan motor servo yang terhubung ke pin arduino dengan aplikasi

Arduino sketch dan APK yang sudah terpasang di dalamnya. Media komunikasi yang

digunakan adalah Bluetooth Android Smartphone yang terhubung ke Bluetooth HC-05

yang ada di pin Arduino .

0Gambar III.4

aplikasi android smartphne

52

3.3.4. Rangkaian Motor Servo

Gambar III.5.

Rangkaian Driver Motor Servo

Output dari rangkaian ini sudah berupa dua pin untuk masing masing motor.

Pada prinsipnya rangkaian driver motor L298N ini dapat mengatur tegangan dan arus

sehingga kecepatan dan arah motor dapat diatur.

Sedangkan warna dari masing-masing kabel bergantung pada merek servo

tersebut. Cara yang paling mudah untuk menentukan posisi kabel signal adalah

dengang mengingat Kabel Merah adalah (+), Kabel Hitam adalah (-), Warna lain selain

Merah dan hitam adalah kabel signal.

Untuk dapat melakukan controling pada servo, kabel signal di sambung

langsung pada Salah satu port Mikrocontroller, dan di set sebagai Output.kemudian

servo di beri suplay 5-6 V.Motor Servo Standar 180°.

53

Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan

defleksi masing-masing sudut mencapai 90° sehingga total defleksi sudut dari kanan

– tengah – kiri adalah 180°.

3.3.4. Rangkaian LCD Display

Gambar III.6.

Skema Rangkaian LCD

Rangkaian LCD Display ini digunakan untuk menampilkan output ketika kita

mengaktifkan tv, lampu, lampu taman, dan kipas dengan perintah suara menggunakan

smartphone yang ada pada aplikasi android, yang mana menggunakan modul

Bluetooth HC-05 untuk menampilkan ke dalam LCD Display 2x16 ini. LCD Display

ini beroperasi menggunakan I2C guna mengurangi jumlah port yang digunakan pada

arduino. Port yang terhubung yaitu SCL ke A5 dari Arduino dan SDA ke A4 dari

Arduino.

54

3.3.5. Rangkaian LED (Kipas, Lampu Taman, Lampu,Tv)

Gambar III.7.

Skema Rangkaian LED

Rangkaian ini digunakan untuk menampilkan output berupa lamapu yang menyala

ketika kita mengaktifkan perinta suara mengunakan aplikasi android seprti contoh,

”lampu nyala” maka led untuk menyalakan lampu akan menyala dan jg dengan yang

laianya seperti kipas, lampu taman, dan tv yang mana menggunakan modul HC-06

untuk konektivitas ke aplikasi android smartphone, port yang terhubung ke led untuk

menyalakan lampu menggunakan port 9 untuk terhubung ke led menyalakan lampu

taman menggunakan port 12, untuk terhubung ke led menyalakan kipas menggunakan

port 11, dan untuk terhubung ke led menyalakan TV menggunakan port 10 .

55

3.4. 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.

56

3.4.1. Catu Daya

Sumber : http://listrik.arispuword.com

Gambar III.8

Skema Catu Daya

Pada rangkaian charger handphone ini menggunakan prinsip transformasi,

penyearah dan pembatas tegangan 5V IC (7805). Kami membagi sirkuit ini

menjadi empat bagian: Penurun tegangan AC, Penyearah, filtrasi, dan Regulasi

tegangan. Untuk menurunkan tegangan dari 220V AC menjadi 5V DC, pertama

kita perlu transformator step-down. Di sini kita telah digunakan 9-0-9

transformator step-down 1A, yang mengkonversi 220V AC ke 9V AC. Pemilihan

transformator yang tepat sangat penting tergantung pada kebutuhan beban

rangkaian. Pemilihan tegangan sekunder harus lebih dari tegangan diperlukan.

Berarti jika kita membutuhkan 5V DC, transformator setidaknya harus memiliki

rating 7V, karena regulator tegangan IC 7805 setidaknya perlu 2V lebih yaitu 7V

untuk memberikan tegangan 5V. Penyerah adalah proses menghilangkan bagian

negatif dari alternative pada Current (AC),yang akan menghasilkan tegangan DC

searah. Hal ini dapat dilakukan dengan menggunakan 4 buah dioda. Dioda hanya

menghalirkan arus dalam satu arah. Arus searah atau arus DC ini yang nanti akan

kita gunakan untuk menyalakan alat . Regulator tegangan IC 7805 digunakan

untuk menyediakan diatur 5v DC. Tegangan masukan harus 2volts lebih dari nilai

57

output tegangan untuk kerja yang tepat dari IC, berarti setidaknya 7v yang

diperlukan, meskipun itu dapat beroperasi pada berbagai masukan tegangan 7-

20V. Regulator tegangan memiliki semua sirkuit di dalamnya memberikan DC

diatur tepat. Kapasitor 0.01uF harus dihubungkan ke output dari 7805 untuk

menghilangkan kebisingan, dihasilkan oleh perubahan tegangan transien.

3.5. Flowchart Program

Gambar III.9.

Flowchart program

58

Star menandakan memulai atau menyalakan alat, saat alat aktif maka bluetooth

dan arduino akan memulai pemrosessan data. jika android dan bluetooth sudah

terkoneksi maka input 1 akan menyalakan led1 on/high jika input 0 akan mematikan

led1 off/low dan ketika high lcd akan menampilkan berupa teks ”LAMPU NYALA”,

jika tegangan led1 low maka lcd akan menampilkan berupa teks ”LAMPU MATI”.

Jika servo on/high maka input 1 akan mengaktifkan servo, dan servo akan berputar

180 derajat lcd akan menampilkan berupa teks ”GERBANG TERBUKA”. Jika servo

off/low maka input 0 akan menonaktifkan servo, dan servo akan berputar balik 0

derajat lcd akan menampilkan berupa teks ”GERBANG TERTUTUP”.

3.6. Konstruksi Sistem (Coding arduino)

Konstruksi sistem yang akan dijelaskan pada bab ini meliputi initialisasi

program, main program, dan input/output program.

1. File Header dan Konstanta

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 :

59

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

3.6.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)

60

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.

3.6.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

61

3.6.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

}

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

beberapa konstanta dan variable B deklarasi

untuk kipas nyala.

{

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

bernilai (HIGH)

62

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

63

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

}

if (data == 'E')

{

digitalWrite(10, 0 );

lcd.backlight();

lcd.setCursor(0,0);

lcd.print("LAMPU MATI ");

}

if (data == 'F')

{

digitalWrite(8, 0 );

lcd.backlight();

lcd.setCursor(0,0);

lcd.print("KIPAS MATI ");

}

if (data == 'G')

64

{

digitalWrite(11, 0 );

lcd.backlight();

lcd.setCursor(0,0);

lcd.print("TV MATI ");

}

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

beberapa konstanta dan variable H deklarasi

untuk lampu taman mati.

{

digitalWrite(12, 0 );

lcd.backlight();

lcd.setCursor(0,0);

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

65

}

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

beberapa konstanta dan variable 3 deklarasi

untuk menonaktifkan semua perangkat

{

digitalWrite(8, 0);

digitalWrite(10, 0);

digitalWrite(11, 0);

digitalWrite(12, 0);

lcd.backlight();

lcd.setCursor(0,0);

lcd.print("TUGAS AKHIR ");

lcd.setCursor(0,1);

lcd.print("CUCAK ROWO CORP ");

}

}

3.6.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

66

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

}

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

}

3.6.5. Konstruksi program MIT App Inventor

Perintah untuk sebelum terhubung Bluetooth, ketika aplikasi pertama kali di

buka, aplikasi meminta di hubungkan dengan Bluetooth di alat dan perintah untuk

close application.

Gambar III.9.

Back pressed

67

when listpicker1 BeforePicking disini adalah ketika pertama kali aplikasi ini

dibuka do yang harus dilakukan set menyiapkan listpicker1 pilihan elements elemen

to untuk mencari Bluetoothclient1 bluetooth yang akan dihubungkan

AddressesAndNames nama dari Bluetooth yang akan di hubungkan ke aplikasi pada

Gambar III.10.

Before picking

Perintah untuk terhubung Bluetooth HC-05 dan memberi informasi jika sudah

terhubung, jika Bluetooth dari mesin sudah terhubung aplikasi maka aplikasi dapat

menjalan kan perintah button open atau close.

When Clock1 Timer disini adalah ketika aplikasi terhubung dengan Bluetooth client,

do yang dilakukan if jika Call pemanggilan pada BluetoothClient1 bluetooth klien

Connect sudah terhubung address alamat pada set List_bluetooth permintaan

perintah selection yang dipilih pada aplikasi, then lalu set menyiapkan

List_bluetooth text to berupa tulisan “SUDAH TERSAMBUNG” else set

List_bluetooth text to berupa tulisan “BELUM TERSAMBUNG” .

Gambar III.11.

Timer

68

Ketika when aplikasi sudah terhubung dengan bluetooth , Button1 atau Butt0n1

click tombol pada button do melakukan call perintah untuk bluetoothclient1

bluetooth yang sudah terhubung tadi Send1ByteNumber berupa nyala lampu text

bernilai A untuk menyalakan lampu.

Gambar III.12.

Button click on

Ketika when aplikasi sudah terhubung dengan bluetooth, Button2 atau

Button2 click tombol pada button do melakukan call perintah untuk

bluetoothclient1 bluetooth yang sudah terhubung tadi Send1ByteNumber berupa

lampu led off/mati text bernilai E untuk mematikan lampu.

Gambar III.13.

Button click off

Ketika when aplikasi sudah terhubung dengan Bluetooth ,

speechRecognizher1 untuk memangil printah suara AfterGetting Text hasil do if

contains text get result mengandung teks yang dihasilkan piece “lampu nyala”

dekalarasi untuk memangil pada aplikasi perintah suara then call BluetoothClirnt1

bluetooth yang sudah terhubung tadi send1bytenumber berupa printa suara untuk

menyalakan lampu text bernilai A. Hasil_spech . text yaitu lebel untuk menyimpan

hasil suara berupa text to speechrecognizer1 . result dan hasil suara di proses.

69

Gambar III.14.

Aftergetting text

3.7. Hasil Percobaan

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.

3.7.1. Hasil Percobaan Input

Table III.2.

Hasil input percobaan alat

70

Aplikas 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.

1.6.1. Hasil Percobaan Output

Table III.3.

Hasil output percobaan alat

Pada table III.3 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

71

1.6.2. Hasil Percobaan Keseluuhan

Table III.4.

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.