ta bab i-v
TRANSCRIPT
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 1/64
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dalam kehidupan sehari-hari manusia tidak bisa lepas dari kebutuhan akan
cahaya. Selama ini sumber-sumber cahaya yang ada belum di manfaatkan secara
maksimal untuk mempermudah pemenuhan kebutuhan manusia. Sebagai contoh
pemanfaatan cahaya adalah cahaya matahari dan lampu pijar. Disamping itu dalam
kehidupan sehari-hari, manusia cenderung menyukai hal-hal yang bersifat otomatis,sebagai contoh lampu taman atau lampu-lampu yang ada di dalam rumah.Dalam
perkembangan teknologi di era modern yang begitu pesat tentu sangat menyita waktu
bagi manusia untuk terus bertahan dalam persaingan [1].
Kemajuan dunia ini tentu harus diimbangi dengan adanya sistem otomotis
baik dalam dunia industri maupun dalam kebutuhan akan keindahan oleh pelaku
industri khususnya taman di halaman rumah. Hal ini dimaksudkan agar kebutuhan
pribadi ini tidak menyita banyak waktu sehingga dapat mengganggu persaingannya.
Saat ini otomasi merupakan salah satu satu teknologi yang terus dikembangkan dan
diperbaiki sistemnya sehingga menjadi hal yang dianggap sempurna. Kemudian
daerah aplikasinya juga tidak hanya di bidang industri tapi semakin melebar ke
berbagai aspek kehidupan. Dengan demikian otomasi akan terus berkembang dan
menjadi bagian penting di kehidupan yang akan datang [1].
Berdasarkan Informasi diatas, penulis merancang Lampu Pintar untuk
penyinaran taman dengan sistem kendali berbasis internet dan wireless bluetooth
menggunakan Arduino dan Raspberry Pi. Adapun rangkaian Lampu Taman Pintar
berfungsi untuk mengendalikan nyala lampu pada malam hari secara otomatis, dan
pada siang hari, saat cuaca cerah akan secara otomatis dimatikan. Lampu tersebut
dapat menyala secara otomatis, karena dikontrol menggunakan sensor cahaya.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 2/64
2
Dalam hal sistem otomatis sensor nya dikendalikan oleh Arduino, sedangkan
penggunaan Raspberry Pi sebagai pengendali berbasis Internet dan wireless Bluetooth
untuk mekanisme pengaturan Rgb led dan Light Effect yang disesuaikan dengan
keinginan pengguna untuk penggunaan warna lampu pada taman nya.
1.2 Perumusan Masalah
Dalam pembuatan perangkat lunak pada sistem ini, permasalahan yang perlu
dirumuskan adalah :
a. Bagaimana mengolah data program otomatisasi, light effect , dan
warna pada Rgb led sebagai lampu pintar untuk penyinaran taman
dengan menggunakan Aplikasi Arduino IDE.
b. Bagaimana mengolah data program untuk pengaturan light effect
dan warna Rgb led bagi pengguna yang dihubungkan pada Modul
Bluetooth dengan Aplikasi Bluetooth SPP PRO di handphone
Android menggunakan Aplikasi Noobs pada Raspberry Pi.
c. Bagaimana mengolah data program gabungan sistem otomatisasi
LDR, light effect , warna yang didistribusikan pada Modul
Bluetooth dengan Aplikasi Bluetooth SPP PRO di handphone
Android yang dikendalikan dengan program pada Arduino IDE
dan Noobs Raspberry Pi.
1.3 Batasan Masalah
Pembatasan masalah dalam penyusunan laporan tugas akhir ini adalah :
a. Mengolah data program otomatisasi, light effect , dan warna pada
lampu pintar untuk penyinaran taman dengan menggunakan
Aplikasi Arduino IDE.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 3/64
3
b. Mengolah data program untuk pengaturan light effect dan warna
bagi pengguna yang dihubungkan pada Modul Bluetooth dengan
Aplikasi Bluetooth SPP PRO di handphone Android
menggunakan Aplikasi Noobs pada Raspberry Pi.
c. Mengolah data program gabungan otomatisasi, light effect , warna,
yang didistribusikan pada Modul Bluetooth dengan Aplikasi
Bluetooth SPP PRO di handphone Android yang dikendalikan
dengan program pada Arduino IDE dan Noobs Raspberry Pi.
1.4 Tujuan
Adapun tujuan tugas akhir perangkat lunak pada “Rancang Bangun Lampu
Taman Pintar berbasis wireless Bluetooth menggunakan Arduino dan Raspberry Pi”
pada bagian Perangkat lunak adalah :
• Dapat mengolah data pada aplikasi Arduino IDE untuk sistem otomatisasi
lampu pintar untuk penyinaran taman yang disimpan pada programmer DT
HIQ AVR USB ISP mkll untuk dihubungkan pada Arduino Pro Mini.
• Dapat mengolah data pada aplikasi Arduino IDE untuk pengaturan berbagai
macam light effect dan warna pada lampu pintar untuk penyinaran taman yang
disimpan di programmer DT HIQ AVR USB ISP mkll untuk dihubungkan
pada Arduino Pro Mini.
• Dapat mengolah data pada aplikasi Noobs Raspberry Pi untuk pengaturan
efek dan warna yang didistribusikan pada Modul Bluetooth dengan Aplikasi
Bluetotoh SPP PRO di handphone Android.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 4/64
4
1.5 Metode Penyelesaian Masalah
Dalam penyusunan laporan tugas akhir ini menggunakan beberapa metode
sebagai berikut :
a. Studi literatur
Yaitu mencari dan mempelajari buku – buku dan sumber informasi dari
internet yang digunakan sebagai bahan referensi yang berhubungan
dengan permasalahan yang dihadapi.
b. Konsultasi dan bimbingan
Yaitu meminta pendapat, saran dan kritik kepada pembimbing atau orang
yang berkompeten dalam pelaksanaan tugas akhir ini.
c. Perencanaan
Yaitu membuat perecanaan terhadap pembuatan / visualisasi program
yang akan dibuat.
d. Implementasi dan pembuatan program
Yaitu pembuatan program yang akan dibuat dan sesuai dengan apa yang
telah direncanakan sebelumnya.
e. Percobaan dan trouble shooting
Yaitu menguji program yang telah dibuat dengan memadukan unsur
referensi – referensi yang diperoleh dari metode kepustakaan.
f. Pembuatan laporan akhir
Membuat laporan mengenai tugas akhir yang telah dibuat beserta
membuat list program.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 5/64
5
BAB II
TINJAUAN PUSTAKA
Pada bab ini akan membahas mengenai beberapa teori yang mendukung
pembuatan tugas akhir ini pada bagian perangkat lunak. Teori-teori tersebut meliputi
Program Arduino IDE, Program Distribution Raspbian, Program NOOBS, Bahasa
pemrograman Phyton, Aplikasi Bluetooth SPP PRO, dan Perangkat keras DT-HIQ
AVR USB ISP mkll untuk mengisi program dari software Arduino IDE 1.0.5 yangdigunakan.
2.1. Taman
Taman merupakan sebuah areal yang berisikan komponen material keras dan
lunak yang saling mendukung satu sama lainnya yang sengaja direncanakan dan
dibuat oleh manusia dalam kegunaanya sebagai tempat penyegar dalam dan luar
ruangan. Taman dapat dibagi dalam taman alami dan taman buatan. Taman yang
sering dijumpai adalah taman rumah tinggal, taman lingkungan, taman bermain,
taman rekreasi, taman botani. Kebanyakan desain taman masa kini, yaitu
meminimalisasi pengadaan taman untuk rumah.
Keberadaan sebuah taman di rumah sebenarnya mempunyai banyak fungsi.
Selain memperindah rumah, taman juga membuat suasana rumah tidak gersang [2].
Sebuah rumah akan terasa nyaman dan terlihat menarik jika dilengkapi dengan
taman. Keberadaan sebuah eksterior taman, merupakan sangat penting. Taman tidak
sekadar pengisi ruang kosong, melainkan mempunyai banyak fungsi dan peran yang
jauh lebih besar. Dalam rangka terciptanya estetika taman, maka diperlukan adanya
suatu pencahayaan. Eksekusi pencahayaan biasanya dilakukan secara konvensional
dengan memprioritaskan fungsi utamanya saja. Padahal, tata pencahayaan yang tepat
bisa membuat taman tampak lebih indah, terutama pada malam hari.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 6/64
6
Adapun dalam hal ini, tata pencahayaan dapat diatur dengan mendesain
pencahayaan di taman yang bukan sekedar menyinari semua bagian agar terlihat,
akan tetapi membiarkan kondisi gelap itu untuk menciptakan efek-efek tertentu
dengan permainan tata cahaya yang benar. Pencahayaan taman dapat menonjolkan
elemen taman yang di inginkan. Permainan efek-efek cahaya itu harus diperhatikan
dengan detail karena elemen taman ada banyak. Setidaknya ada dua fungsi
pencahayaan taman pada malam hari [2]. Pertama pencahayaan fungsional untuk
menerangi area aktivitas, menerangi jalan atau stepping stone, dan menjaga
keamanan. Kedua, pencahayaan ornamental yang berfungsi untuk menonjolkan
desain dari sebuah taman. Contohnya, elemen pohon, tanaman, air dan patung. Dari
sekian banyak elemen dapat menonjolkan satu hingga dua elemen saja agar tampilan
taman tidak monoton [2].
2.2. Arduino IDE
Arduino adalah pengendali mikro single-board yang bersifat open-source,
diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan
elektronik dalam berbagai bidang. Hardware-nya memiliki prosesor Atmel AVR dan
software nya memiliki bahasa pemrograman sendiri. Arduino menggunakan
pemrograman dengan bahasa C++. Software Arduino dapat dijalankan pada sistem
operasi Windows, Macintosh OSX, dan Linux [3]. Pemrograman Arduino relatif
mudah. Software Arduino dipublikasikan secara open source yaitu dapat
dikembangkan sendiri oleh para programmer yang sudah mahir dengan menggunakan
standar library C++, dan untuk pengguna yang belum pernah memakai sebelumnya.
Dalam satu paket software ini telah disertakan library, contoh program, dan
beberapa referensi instruksi bahasa arduino. Arduino ini dapat digunakan sebagai
batu loncatan ke bahasa pemrograman AVR C yang merupakan akar bahasa
pemrograman Arduino ini. Berikut ini merupakan penjelasan struktur pemograman
pada Arduino IDE. Gambar 2.1 merupakan software Arduino Ide [3].
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 7/64
7
Gambar 2.1 Software Arduino IDE
Sumber : Djuandi, Feri.2011.Pengenalan Arduino.Jakarta : Elexmedia.
IDE standard arduino adalah seperti Gambar 2.1. Pada menubar kemudian
terdapat toolbar dibawahnya dan sebuah area untuk editing sketch. Area hitamdisebut sebagai progress area, dan paling bawah disebut sebagai “status bar ”. Pada
Arduino IDE terdapat beberapa menu, yaitu File, Edit, Tools, Help, dan Toolbar.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 8/64
8
1. File, terdapat beberapa sub menu standard untuk membuat file baru,
membuka, simpan, beberapa contoh, dan sketch book bawaan atau yang kita
buat sendiri.
Terdapat sub menu upload dan upload using programmer masing-masing
untuk melakukan upload ke arduino atau memprogram chip microcontroller
AVR dengan menggunakan programmer seperti USBASP, dll.
2. Edit, terdapat sub menu standard seperti yang kita temui di wordprocessor .
Sketch, terdapat menu verify/compile untuk menghasilkan code HEX yang
akan didownload ke microcontroller . Import Library untuk melihat library
yang ada di folder library dan menambahkannya ke dalam proyek sketch yang
dikerjakan. Library sendiri berisi kumpulan program yang meningkatkan
fungsionalitas dari proyek.
3. Tools, beberapa yang penting disini adalah board , untuk memililih varian
arduino yang terhubung ke komputer. Serial untuk memilih port serial yang
digunakan arduino. Programmer, digunakan untuk memilih tipe board
programmer . Hal ini akan berfungsi jika kita ingin menginstal bootloader
pada microcontroller AVR yang digunakan arduino. Burn bootloader , tentu
saja untuk menginstall bootloader ke chip microcontroller .
4. Help, berisi manual dari arduino terkait instruksi, penggunaan, sample, dll.
5. Toolbar, mewakili beberapa fungsi toolbar . Mulai dari yang paling kiri,
adalah tombol Verify, upload, New, Open dan Save. Gambar 2.2 merupakan
toolbar pada Arduino IDE [3].
Gambar 2.2 Toolbar Pada Arduino IDE
Sumber : Djuandi, Feri.2011.Pengenalan Arduino.Jakarta : Elexmedia.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 9/64
9
Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang
harus ada.
1. void setup( ) { }
Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika
program Arduino dijalankan untuk pertama kalinya.
2. void loop( ) { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah
dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus
menerus sampai catu daya ( power ) dilepaskan.
Selain itu ada juga syntax. Berikut ini adalah elemen bahasa C yang dibutuhkan
untuk format penulisan [4].
1. // (komentar satu baris)
Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-
kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun
yang kita ketikkan dibelakangnya akan diabaikan oleh program.
2. /* */ (komentar banyak baris)
Jika mempunyai banyak catatan, maka hal itu dapat dituliskan pada beberapa
baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut
akan diabaikan oleh program.
3. { }(kurung kurawal)
Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir
(digunakan juga pada fungsi dan pengulangan).
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 10/64
10
4. ;(titik koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma
yang hilang maka program tidak akan bisa dijalankan). Sebuah program
secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan
angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk
memindahkannya [5].
1. int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai
angka desimal dan menyimpan nilai dari -32,768 dan 32,767.
2. long (long)
Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari
memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan
2,147,483,647.
3. boolean (boolean)
Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar)
atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari
RAM.
4. float (float)
Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari
RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.
5. char (character)
Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). Hanya
memakai 1 byte (8 bit) dari RAM [4].
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 11/64
11
Selain itu, ada juga operator yang digunakan untuk memanipulasi
angka (bekerja seperti matematika yang sederhana). Di bawah ini merupakan
program untuk operator matematika.
1. = (sama dengan)
Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2,
x sekarang sama dengan 20).
2. % (persen)
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain
(misalnya: 12 % 10, ini akan menghasilkan angka 2).
3. + (Penjumlahan)
4. – (Pengurangan)
5. * (Perkalian)
6. / (Pembagian)
Operator Pembanding digunakan untuk membandingkan nilai logika [4].
1. == (sama dengan)
Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12
adalah TRUE (benar))
2. != (tidak sama dengan)
Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12
adalah FALSE (salah))
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 12/64
12
3. < (lebih kecil dari)
Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah
FALSE (salah) atau 12 < 14 adalah TRUE (benar))
4. > (lebih besar dari)
Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah
FALSE (salah) atau 12 > 14 adalah FALSE (salah))
Program sangat tergantung pada pengaturan apa yang akan dijalankan
berikutnya, berikut ini adalah elemen dasar pengaturan pada Arduino IDE. [4]
1. if..else, dengan format seperti berikut ini:
if (kondisi) { }
else if (kondisi) { }
else { }
Dengan struktur seperti diatas program akan menjalankan kode yang ada
di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE)
maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE
maka kode pada else yang akan dijalankan.
2. for, dengan format seperti berikut ini:
for (int i = 0; i < #pengulangan; i++) { }
Digunakan bila ingin melakukan pengulangan kode di dalam kurung
kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang
diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke bawah
dengan i – [5].
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 13/64
13
Pada board arduino terdapat pin digital. Untuk memprogram pin tersebut
dapat dengan menggunakan pemograman sebagai berikut.
1. pinMode(pin, mode)
Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang
akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa
digunakan adalah INPUT atau OUTPUT .
2. digitalWrite(pin, value)
Ketika sebuah pin ditetapkan sebagai OUTPUT , pin tersebut dapat dijadikan
HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground ).
3. digitalRead(pin)
Ketika sebuah pin ditetapkan sebagai INPUT maka dapat menggunakan kode
ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5
volts) atau LOW (diturunkan menjadi ground ).
Arduino adalah mesin digital tetapi mempunyai kemampuan untuk
beroperasi di dalam alam analog (menggunakan trik). Berikut ini cara untuk
menghadapi hal yang bukan digital [4].
1. analogWrite(pin, value)
Beberapa pin pada Arduino mendukung PWM ( pulse width
modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on) atau
mati (off ) dengan sangat cepat sehingga membuatnya dapat berfungsi
layaknya keluaran analog. Value (nilai) pada format kode tersebut adalah
angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 14/64
14
2. analogRead(pin)
Ketika pin analog ditetapkan sebagai INPUT maka dapat membaca
keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan
1024 (untuk 5 volts) [3].
2.3. Distribution Raspbian
Raspbian adalah sistem operasi bebas berbasis Debian GNU Linux dan
dioptimalkan untuk perangkat keras Raspberry Pi (arsitektur prosesor armhf).
Raspbian dilengkapi dengan lebih dari 35.000 paket, atau perangkat lunak pre-
compiled paket dalam format yang bagus untuk kemudahan instalasi pada Raspberry
Pi. Awal di rilis sejak Juni 2012, menjadi distribusi yang terus aktif dikembangkan
dengan penekanan pada peningkatan stabilitas dan kinerja sebanyak mungkin.
Meskipun Debian menghasilkan distribusi untuk arsitektur lengan, Raspbian hanya
kompatibel dengan versi yang lebih baru dari yang digunakan pada Raspberry Pi
(ARMv7 CPU-A dan vs Raspberry Pi ARMv6 CPU yang lebih tinggi). Adapun Ikon
Raspbian seperti pada Gambar 2.3 [5].
Gambar 2.3. Raspbian
Sumber : Azikin,Askari.2011.Debian GNU/Linux.Bandung : Informatika.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 15/64
15
2.4. Python
Dalam menggunakan Python dapat memilih dua cara yang umum digunakan,
yaitu lewat Python Interpreter Prompt dan mengeksekusi file Python dari command
line. Dalam hal ini menggunakan interpreter prompt untuk sekedar menulis program
kecil, atau menguji coba modul – modul yang dimiliki Python. Untuk
menggunakannya jika sistem operasi sudah di-install Python, maka akan dipanggil
perintah python melalui command line. Dan jika pengaturan path-nya sudah sesuai,
akan muncul seperti pada Gambar 2.4.
Gambar 2.4. Python Interpreter Prompt
Sumber : Python Interpreter Prompt . Python Software Foundation Team. Python
v2.7.2 Documentation 1990 – 2011. The Python Software Foundation.(2015)
Untuk keluar dari mode interpreter prompt , gunakan kombinasi ctrl+d atau
ctrl+z kemudian tekan enter . Lalu jika ingin menggunakan Python tanpa melalui
interpreter prompt bisa menggunakan text editor yang sering digunakan.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 16/64
16
Dalam menyimpan file Python dengan ekstensi file *.py. Kemudian atur jarak
tab pada text editor tersebut sebanyak empat satuan dan isi tab tersebut diganti
dengan spasi atau memilih menu “replace by space”. Berikut adalah beberapa contoh
text editor yang bisa digunakan untuk membuat program Python beserta menu untuk
pengaturan tab [7].
2.5. NOOBS
Noobs adalah singkatan dari "Out Of The Box New Software" diciptakan
untuk membantu pengguna baru pada komputer kecil papan tunggal (SBC) Raspberry
Pi (RasPi) untuk melewati rintangan pertama memasang software OS baru.
Pengembang Noobs menyertakan serangkaian sistem operasi untuk RasPi dalam
kartu SD. Gambar 2.5. menunjukkan aplikasi Noobs pada pemrograman RasPi.
Gambar 2.5. Aplikasi NOOBS
Sumber : Richardson, Matt. and Wallace, Shawn.2013. Getting Started with
Raspberry Pi.Gravenstein Highway North : O’Reilly Media,Inc.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 17/64
17
Pengembang yang sama sebelumnya telah menerbitkan installer yang serupa
dengan nama Berry Boot juga dapat menginstal dan mengelola beberapa sistem
operasi pada sebuah kartu SD. Noobs adalah installer sistem operasi yang mudah
yang berisi Raspbian. Hal ini juga menyediakan pilihan alternatif sistem operasi yang
kemudian di-download dari internet dan diinstal [8]. Noobs ini diciptakan sebagai
solusi atas banyaknya pengguna Raspberry Pi adalah bukan dari kalangan yang telah
mendalamani TI, dan banyak diantaranya adalah anak-anak disekolah. Oleh sebab itu
RasPi diciptakan untuk membangkitkan minat anak sekolahan disamping untuk
masyarakat agar tertarik menekuni bidang TI. Untuk mencapai tujuan itu, proyek
Raspberry Pi menyarankan agar pengguna RasPi yang kali pertama berhadapan
dengan komputer munggil ini untuk menggunakan dan menginstal software New Out
of Box Software (NOOBS) di kartu SD minimal 4GB (lebih besar lebih baik) yang
berisi koleksi dari beberapa OS yang disediakan sebagai pilihan, termasuk Raspbian,
Pidora dan dua jenis rasa XBMC.
Noobs 1.3 memiliki beberapa fungsi tambahan berupa aplikasi dan bahasa
pemrograman baru termasuk bahasa Java yang diumumkan satu hari sebelumnya.
Pada OS utama Raspbian ( Debian Wheezy) telah ditambahkan fitur "Boot to Scratch"
yang memungkinkan pengguna langsung menjalankan aplikasi pemrograman visual
Scratch setelah booting [8]. Kecuali itu Noobs 1.3 juga telah menyediakan fitur
Backup. Parameter konfigurasi awal Noobs untuk penyetelan bahasa, papan ketik,
dan konfigurasi layar monitor, kini dapat disimpan. Adapun Aplikasi NOOBS LITE
berisi sistem operasi installer yang sama tanpa Raspbian pre-loaded . Ini
menyediakan menu pilihan sistem operasi yang sama memungkinkan Raspbian dan
gambar lain untuk didownload dan diinstal [8].
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 18/64
18
2.6. DT-HIQ AVR USB ISP mkII
DT-HiQ AVR USB ISP mkII merupakan ISP Programmer untuk mikrokontroler AVR yang memiliki fitur In-System Programming. DT-HIQ
AVR USB ISP mkII sebagai prorammer pengisi program ke modul Arduino
pro mini, adapun gambar DT-HIQ AVR USB ISP mkII seperti pada gambar
2.6 [9].
Gambar 2.6. DT-HIQ AVR USB ISP mkIISumber : Pratomo, Andi. 2014. Pemrograman AVR Mikrokontroler
AT90S2313. Jakarta : Andi.
DT-HIQ AVR USB ISP mkII adalah kabel programmer yang dapat
digunakan untuk mengisi program yang telah dibuat di software Arduino
1.0.5.
- Isi CD-Drive
1. Driver USB.
2. Panduan Pembuatan Target Board.
3. Manual dan Quick Start DT-HiQ AVR USB ISP.
4. Website Innovative Electronics.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 19/64
19
- Instalasi Driver USB
Langkah-langkah untuk instalasi driver USB sama sepertiinstalasi
hardware PC pada umumnya. Penjelasan lebih lengkap terdapat pada Manual.
Setelah di-install, DT-HiQ AVR USB ISP akan dikenali sebagai “USB ISP
Device” dengan alokasi COM port tertentu.
- Pengaturan Perangkat Lunak
• Code Vision AVR
1.Memilih menu Setting > Programmer.
2.Memilih AVR Programmer tipe Atmel STK500/AVRISP dan
memilih nomor COM yang sesuai dengan alokasi yang diberikan
setelah instalasi.
• BASCOM-AVR
1.Memilih menu Options Programmer .
2.Memilih AVR Programmer tipe STK500 extended . Memilih nomor
COM yang sesuai dengan alokasi yang diberikan setelah
instalasi.menggunakan baudrate 115200.
3.BASCOM-AVR menggunakan file STK500.exe milik AVR
Studio.Oleh karena itu, mengatur juga lokasi STK500.exe agar
dapat digunakan oleh BASCOM-AVR.
4.Saat akan memprogram, pilih menu Program Send to Chip. Saat
jendela dialog STK500 tampil dengan memilih Programming Mode
Serial [9].
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 20/64
20
2.7. Software Android Bluetooth SPP PRO
Software Android Bluetooth SPP PRO, seperti pada Gambar 2.7.
Gambar 2.7. Ikon Aplikasi Bluetooth SPP Pro
Software ini khusus digunakan untuk mengirimkan data dari Android ke
Arduino melalui bluetooth HC – 05. Cara penggunaan yang mudah, dapat
menentukan data yang dikirim dan dapat menggunakan tombol. Langkah penggunaan
nya, yaitu Pertama kali di Scan sampai dapat nama perangkat modul Bluetooth nya,
Setelah ditemukan namanya yaitu HC – 05 kemudian klik tombol Connect pada
tampilan Connect the device yang berisi nama perangkat modul Bluetooth HC-05,
Mac Address, Kelas Perangkat, signal, jenis Bluetooth, dan Bind state , seperti yang
terlihat pada Gambar 2.8 [10].
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 21/64
21
Gambar 2.8. Scan Device pada Bluetooth SPP Pro
Setelah koneksi terhubung, dapat memilih mode komunikasi yaitu
menggunakan mode Byte Stream atau mode tekan tombol atau mode jalur CMD.
Terdapat mode byte stream dengan cara mengetik data yang akan dikirim di kolom
input send commands, lalu tekan tanda panah kanan yang disebelah kanan untuk
mengirimkan data melalui bluetooth. Cara ini tidak praktis digunakan karena
user /pengguna harus mengingat data apa yang harus dikirimkan. Seperti pada
Gambar 2.9.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 22/64
22
Gambar 2.9. Byte Stream Mode
Terdapat mode CMD line juga mengirimkan input data berupa kode ASCII,
yaitu ( American Standard Code for Information Interchange) merupakan suatu
standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi
ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu
digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode
ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 7 bit [11]. Namun,
ASCII disimpan sebagai sandi 8 bit dengan menambakan satu angka 0 sebagai bit
significant paling tinggi. Bit tambahan ini sering digunakan untuk uji prioritas.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 23/64
23
Karakter kontrol pada ASCII dibedakan menjadi 5 kelompok sesuai dengan
penggunaan yaitu berturut-turut meliputi logical communication, Device control,
Information separator, Code extention, dan physical communication. Code ASCII ini
banyak dijumpai pada papan ketik (keyboard ) komputer atau instrumen-instrumen
digital [11].
Cara ini juga sama dengan mode byte stream, pengguna juga harus mengingat
kode yang dikirimkan melalui bluetooth. Cara yang paling mudah adalah dengan
menggunakan mode tekan tombol. Pada mode tekan tombol dapat memberi nama
pada tombol yang akan digunakan sehingga memudahkan pengguna untuk
menyalakan stop kontak atau lampu. Hal tersebut seperti pada gambar 2.10 [10].
Gambar 2.10. CMD Line Mode
Sumber : Dokuemen Pribadi (2015)
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 24/64
24
BAB III
PERANCANGAN DAN REALISASI ALAT
Pembahasan pada bab ini mengenai perangkat lunak yang digunakan berupa
perancangan dan realisasi pada sistem Rancang Bangun Lampu Taman Pintar
berbasis wireless Bluetooth menggunakan Arduino dan Raspberry Pi. Selain
perangkat lunak akan dibahas mengenai spesifikasi perangkat keras DT-HIQ AVR
USB ISP mkII untuk mengisi program dari software Arduino IDE 1.0.5 pada program
Arduino Pro Mini. Pada perancangan alat akan dibahas deskripsi alat, cara kerja alat,
spesifikasi alat, dan diagram blok. Pada Realisasi Alat akan dibahas mengenai
pemrograman pada Raspberry Pi dan Arduino IDE.
3.1. Perancangan Alat
Pada bagian ini akan membahas perancangan untuk perangkat lunak sistem
Rancang Bangun Lampu Taman Pintar berbasis wireless Bluetooth menggunakan
Arduino dan Raspberry Pi. Perangkat lunak yang digunakan terdiri dari Aplikasi
Program Arduino IDE ¸ Program Distribution Raspbian, Program untuk Modul
Bluetooth, Penggunaan aplikasi Bluetooth SPP PRO, dan perangkat keras DT-HIQ
AVR USB ISP mkII untuk mengisi program dari software Arduino IDE 1.0.5 pada
Arduino Pro Mini.
3.1.1. Deskripsi Alat
Lampu taman pintar ini memiliki fungsi untuk membuat penerangan di area
taman di rumah. Lampu taman pintar ini difungsikan pada keberadaan taman pada
rumah dapat menambah keindahan dan juga kenyamanan area taman tersebut.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 25/64
25
Hal ini dimaksudkan untuk memudahkan pengelola mematikan dan
menghidupkan lampu taman tersebut, dengan berupa rangkaian lampu pintar otomatis
dilengkapi dengan Rgb led dan light effect yang dapat terapkan di area taman
dirumah. Hal ini dapat bertujuan untuk menambah keindahan dan penerangan taman
dirumah dan untuk mendukung sistem keamanan rumah, dengan asumsi, jika terdapat
pengintai (penjahat) yang bertujuan untuk mengambil atau mengganggu seisi rumah
saat malam atau dalam keadaan gelap, maka ketika lampu otomatis menyala.
Penjahat itu pun menyangka jika rumah tersebut ramai penghuninya , padahal
rumah tersebut kosong tanpa penghuni, karena bantuan dari lampu otomatis dapat
menyala tanpa harus mengaturnya. Dalam perancangan sistem lampu taman pintar ini
juga digunakan untuk menciptakan suasana kenyamanan, jika keadaan rumah kosong
dan pada saat keadaan gelap pun, lampu ini dapat secara otomatis memberikan
keindahan penerangan, lampu pintar ini dapat menyala sesuai dengan pengaturan
warna dan efek keinginan pengguna melalui wireless Bluetooth pada program
aplikasi Bluetooth SPP PRO.
3.1.2. Cara Kerja Alat
Sistem kerja alat ini akan bekerja untuk membedakan waktu berdasarkan
terang dan gelapnya cahaya. Alat ini akan bekerja secara otomatis dalam
memanfaatkan perbedaan waktu pada saat siang dan malam hari. Sistem alat ini akan
beroperasi dengan mendeteksi adanya cahaya, jika pada saat siang hari, saat cahaya
terang dan cuaca cerah, dan pada saat malam hari, saat cahaya gelap ataupun redup
ketika cuaca mendung atau menjelang malam. Pada sistem program alat ini, lampu
pintar taman yang dikendalikan oleh penggunaan sensor cahaya (LDR) dengan
berbasis Arduino untuk pengelolaan program pengendalian sensor tersebut.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 26/64
26
Dalam hal mengendalikan cahaya saat cuaca cerah dan waktu siang hari,
maka lampu taman akan secara otomatis dalam keadaan OFF, sedangkan pada saat
malam hari, maka program akan mengelola lampu taman secara otomatis dalam
keadaan ON. Pada program otomatis kerja dari sensor cahaya tersebut akan
dikendalikan oleh arduino, sebagai sistem otomatisasi kerja sensor cahayanya agar
berfungsi mendukung program yang akan dikendalikan dalam Raspberry Pi untuk
pengaturan warna pada Rgb led yang dipakai, dan terdapat 3 pengaturan efek, yaitu
Blink light, Fade – in Fade-Out, dan efek berganti warna. Adapun sistem kendali
melalui wireless Bluetooth yang bekerja pada saat lampu pintar menyala, maka lampu
pintar ini dapat menyala sesuai dengan efek keinginan pengguna yang dapat diatur
secara manual sesuai keinginan dengan menggunakan Aplikasi Bluetooth SPP PRO
yang tersedia pada Handphone sistem Android. Adapun visualisasi alat seperti pada
Gambar 3.1.
Gambar 3.1. Visualisasi Alat
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 27/64
27
3.1.3 Spesifikasi Alat
a. Arduino IDE
• Pengendali mikro single-board bersifat open-source, diturunkan dari
Wiring platform.
• Softwarenya memiliki bahasa pemrograman sendiri. Arduino
menggunakan pemrograman dengan bahasa C++.
• Software Arduino dapat dijalankan pada sistem operasi Windows,
Macintosh OSX, dan Linux.
•
Dalam satu paket software telah disertakan library, contoh program,dan beberapa referensi instruksi bahasa arduino.
• Arduino ini dapat digunakan sebagai batu loncatan ke bahasa
pemrograman AVR C yang merupakan akar bahasa pemrograman
Arduino ini [3].
b. NOOBS
• Noobs adalah "Out Of The Box New Software" pada komputer kecil
papan tunggal (SBC) Raspberry Pi (RasPi) untuk memasang software
OS baru.
• Pengembang NOOBS untuk program RasPi berupa kartu SD yang
untuk kali pertama diterbitkan pada bulan Juni 2014 (NOOBS 1.2.1).
• Software New Out of Box Software (NOOBS) menggunakan kartu SD
minimal 4GB yang berisi OS berupa Raspbian, Pidora dan dua jenis
rasa XBMC.
• Noobs memiliki bahasa pemrograman bahasa Java.
• Nobs pada OS utama Raspbian ( Debian Wheezy) terdapat fitur "Boot
to Scratch" .
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 28/64
28
• Noobs terdapat fitur backup dan parameter konfigurasi awal Noobs
berupa penyetelan bahasa, papan ketik, dan konfigurasi layar monitor
[8].
c. DT-HIQ AVR USB ISP mkII
• Beroperasi pada tegangan target 2,7V sampai 5,5V.
• Antarmuka USB ke PC.
• Mengambil daya dari target board (50mA @ 5,5V).
• Tidak memerlukan catu daya tersendiri dan aman bagi PC jika terjadi
hubungan singkat pada target board.
• Menggunakan protokol ATMEL STK500/AVRISP dengan baud rate
115200 bps.
• Kompatibel dengan perangkat lunak AVR Studio©,
CodeVisionAVR©, AVRDUDE (WinAVR), BASCOMAVR©, dan
perangkat lunak lain yang mendukung protokol ATMEL
STK500/AVRISP.
• Kompatibel dengan Windows® XP/Vista [9].
d. Software Android Bluetooth SPP PRO
• Software ini khusus digunakan untuk mengirimkan data dari Android
ke Arduino melalui modul bluetooth HC – 05.
• Terdapat mode komunikasi yaitu menggunakan mode Byte Stream
atau mode. tekan tombol atau mode jalur CMD [10].
• Terdapat mode CMD line, juga mengirimkan input data berupa kode
ASCII [11], cara ini juga sama dengan mode byte stream, pengguna
juga harus mengingat kode yang dikirimkan melalui bluetooth.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 29/64
29
• Terdapat mode tekan tombol yang dapat memberi nama pada tombol
yang akan digunakan sehingga memudahkan pengguna untuk
menyalakan stop kontak atau lampu [10].
3.1.4. Diagram Blok Sistem
Pada Gambar 3.2. Diagram Blok Sistem, terlihat bahwa otak pengendali
utama adalah Arduino pro mini. Pada sisi sebelah kiri adalah bagian input yang terdiri
atas input utama adalah sensor cahaya yang menentukan kapan led RGB menyala.
Raspberry Pi yang merupakan jembatan penghubung antara Bluetooth HC – 05
dengan Arduino Pro mini sehingga Android bisa memilih efek lampu yang
diinginkan. Tombol hapus memori untuk menghapus isi memori yang tersimpan ke
posisi default , tombol 1 dan 2 untuk merubah efek lampu yang diinginkan tanpa
menggunakan Android. Pada sisi sebelah kanan adalah bagian output yang terdiri atas
Transistor driver Rgb led yang dapat menghubungkan Common Anoda dari LED
RGB ke +5V pada saat transistor aktif sehingga Rgb led dapat menyala, lalu kaki
katoda led merah, led hijau dan led biru.
Gambar 3.2. Diagram Blok Sistem
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 30/64
30
3.2. Realisasi Alat
Pada bagian ini akan membahas realisasi alat untuk perangkat lunak
Pemrograman Rancang Bangun Lampu Taman Pintar berbasis wireless Bluetooth
menggunakan Arduino dan Raspberry Pi. Pemrograman yang akan dibahas adalah
pemrograman pada Raspberry Pi dan Arduino IDE.
3.2.1 Pemrograman Raspberry Pi
Pada pemrograman Raspberry Pi ini berguna untuk menerima data dari
Bluetooth, kemudian jika data telah diterima maka program akan mengambil data
dari Buetooth, jika tidak akan kembali menerima data dari Bluetooth, setelah
mengambil data dari Bluetooth yaitu data ‘A’, jika sudah diambil data tersebut maka
program Raspberry Pi akan mengirim data pada tombol kiri ke Arduino, jika tidak
diterima data ‘A’, maka akan menerima data ‘B’, bila yang diterima data ‘B’ maka
akan mengirim data dengan tombol kanan ke Arduino. Adapun alur pada program
Raspberry Pi ini dapat dilihat pada Flowchart Program Raspberry Pi seperti pada
Gambar 3.3.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 31/64
31
Gambar 3.3. Flowchart Program Raspberry Pi
Pada realisasi program Raspberry Pi ini menggunakan Software Noobs untuk
memasang install Operating System Raspbbery yang baru pada monitor. Pada awal
persiapan dalam memprogram, maka memerlukan download aplikasi noobs dan
keyboard USB untuk dapat dihubungkan dengan raspberry agar dapat mengatur
program pada Raspberry Pi.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 32/64
32
Setelah selesai mendownload akan ada file zip dengan nama file
NOOBS_v1_4_0 kemudian dengan extract ke dalam sebuah folder dan isi di dalam
folder yang akan dicopy ke dalam SD Card yang akan digunakan oleh Raspberry Pi,
seperti pada Gambar 3.4.
Gambar 3.4. file NOOBS_v1_4_0
Program OS Raspberry yang telah terinstall melalui aplikasi Noobs dapat
dipasang keyboard ke USB supaya keyboard dapat digunakan pada perangkat
Raspberry Pi, lalu memasang kabel usb catu daya yang telah dirancang, kemudian
turn-on power supply. Setelah Raspberry mendapat power, Raspberry akan melalui
proses booting, tampilan akan muncul proses loading Operating System pada
Raspberry Pi, seperti pada Gambar 3.5.
Gambar 3.5. Installing Raspberry Pi
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 33/64
33
Program Raspberry Pi yang telah terinstall akan menampilkan menu
konfigurasi raspberry pi, didalam menu konfigurasi ini dapat memilih hari dan
tanggal dan waktu, mengaktifkan kamera board, dan membuat user, kemudian untuk
keluar dari menu ini dengan menekan tombol Tab untuk pilihan pindah ke finish.
Pada Default Login untuk Raspberry Username adalah pi dengan password raspberry
> untuk menampilkan grafik user interface dengan mengetik “startx” seperti pada
Gambar 3.6.
Gambar 3.6. Default Login
Pada awal tampilan Menu Raspberry Pi setelah Default Login,, maka akan
muncul tampilan desktop GUI yang mirip seperti tampilan layar windows, pada
Raspberry Pi model A hanya dapat menggunakan keyboard dikarenakan Port USB
hanya 1. Pada menu utama, dapat dibuka menu Accessories, kemudian memilih
terminal, maka akan tampil layar Terminal pada layar Terminal ini dapat mengetik
command yang mendukung. Untuk dapat menggunakan serial port pada raspberry pi
terlebih dahulu harus loading library serial port dengan mengetikan di layar terminal
sudo apt-get install python-serial, kemudian menunggu sampai proses loading
berjalan sampai selesai loading. Pada saat serial port sudah diaktifkan dengan
loading library serial port .
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 34/64
34
Serial port Raspberry Pi yang sudah aktif, tetapi langsung aktif pada baudrate
115200 bps, sehingga Serial Port Raspberry Pi tidak dapat berkomunikasi dengan
interface serial port dengan baudrate lain seperti contohnya baudrate 9600 bps yang
merupakan baudrate serial port bluetooth HC-05. Proses menghapus setting baudrate
dari Serial Port Raspberry Pi dengan mengetikkan " sudo nano /boot/cmdline.txt" di
Terminal > akan tampil tulisan di layar - layar nano editor yang isi tulisannya
"dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200
console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait"
seperti pada Gambar 3.7.
Gambar 3.7. Serial Port Rasberry Pi
Adapun program yang telah diketik dapat disimpan dengan cara ctrl+X >
ctrl+Y (enter) > keluar dari nano editor ke layar Terminal lagi. Kemudian Mengetik
"sudo nano /etc/inittab" untuk menghapus setting baudrate 115200 juga. Maka akan
tampil nano editor dengan banyak sekali tulisan > tekan tombol panah bawah untuk
melihat tulisan yang dibagian hampir paling bawah > finding : "#Spawn a getty on
Raspberry Pi serial line T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100".
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 35/64
35
Pada tulisan di baris atas diawali dengan # tetapi tulisan di baris bawah tidak
diawali dengan # > meambahkan # di awal baris bawah menjadi "#Spawn a getty on
Raspberry Pi serial line #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"
Kemudian disimpan dengan cara ctrl+X > ctrl+Y <enter> keluar dari nano editor
kembali ke layar Terminal. Pada tahap ini Serial Port Raspberry Pi sudah siap
digunakan tetapi harus di Reboot dahulu dari awal kembali agar semua library serial
port siap digunakan. Kemudian dapat me-reboot Raspberry Pi dengan mengetikkan
"sudo shutdown -r now" > menghidupkan kembali Raspberry Pi.
Setelah masuk kembali dengan melakukan proses yang sama, yaitu Default
Login untuk Raspberry Username adalah pi dengan password raspberry untuk
menampilkan grafik user interface dengan mengetik “startx”, kemudian akan tampil
desktop GUI yang mirip seperti tampilan layar windows. Pada menu tampilan
Terminal dapat mengetik command yang support . Kemudian mengetik “sudo idle3
&” dan tampil layar programming phyton3, seperti pada Gambar 3.8. Programming
phyton 3 ini adalah program yang dapat digunakan untuk mengendalikan port input
dan output pada Raspberry Pi.
Gambar 3.8. layar programming
Adapun pengaturan setting Port input output GPIO yang akan digunakan.
dengan mengetik import serial untuk meloading library serial port ke dalam program
yang sedang dibuat, kemudian untuk membaca isi data yang masuk ke Serial Port
Raspberry Pi dengan mengetik port = serial.Serial(“/dev/ttyAMA0”, baudrate=9600,
timeout=1.0. Seperti pada Gambar 3.9. dan 3.10.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 36/64
36
Gambar 3.9. Setup untuk Output
Gambar 3.10. Setup untuk Input
Pada pengaturan Output dan Input yang telah selesai, maka dapat diambil data
yang masuk ke Serial Port dengan mengetik data=port.read(1) untuk mengambil data
serial port yang masuk > simpan di variabel data,seperti pada Gambar 3.11.
Gambar 3.11. Data Port
Pembuatan script pemrograman pada program Raspberry Pi yang dimulai dari
• Inisialisasi Pin untuk output RGB LED pada pin 18, untuk efek led 1 pada
select 1 sebagai output di pin GPIO (General Purpose Input Output ) 23 dan
efek 2 pada select 2 pada pin GPIO 24 ,
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 37/64
37
• Pengaturan serial port, baudrate = 9600, dan batas waktu 1 detik, dengan
GPIO output led 1, pada pin A0, dengan batas waktu pergantian nya 5 detik
ke GPIO output (1,1).
• Pengaturan untuk serial port pada modul Bluetooth, dengan GPIO output pada
led (1, 0), dan led (1,1) dan batas waktu 5 detik.
• Jika data yang terbaca pada saat koneksi dengan aplikasi Bluetooth SPP PRO,
berupa data b ‘A’ untuk nilai output pada led 1 dan output select 1 untuk
tombol kiri dengan batas waktu 3 detik. Jika data yang terbaca pada Raspberry
berupa data b’B’ untuk nilai output pada led 1 dan output select 2 dengan
batas waktu 3 detik.
• Adapun Isi Pemrograman untuk mengendalikan aplikasi Bluettoh SPP PRO
menggunakan Raspberry Pi, yaitu :
##Loading Port Input dan output
Import RPi, GPIO as GPIO
##Loading library pewaktuan
Import time
##Loading library serial port
Import serial
##Net board mode to Broadcom
GPIO.setmode (GPIO.BCM##Untukdisable warning yang mengganggu
GPIO.setwarnings(False)
##led1 di GPIO18
##select1 di GPIO23
Select1 = 23
##select2 di GPIO24
Select2 = 24
##Setup GPIO18 led1 sebagai Output
GPIO.setup (led1, GPIO.OUT)
##SetupGPIO23 select1 sebagai Output
GPIO.setup (select1. GPIO.OUT)
##Setup GPIO24 select2 sebagai OutputGPIO.setup (select2, GPIO.OUT)
GPIO.output (select1, 1)
GPIO.output (select2, 1)
##Setup serial port
Port = serial. Serial (*/deV/ttyAHAO”, baudrate=9600,
timeout=1, 0
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 38/64
38
GPIO.output (led1, 0)
Time.sleep (0, 5)
GPIO. Output (led1, 1)
While True :
data = port. Read(1)
print(data)
if(data == b’A’) :
GPIO.output (led1, 0)
GPIO.output (select1, 0)
time.sleep (0, 3)
GPIO.output (led1, 1)
GPIO. Output (select1, 1)
If(data == b’B’)
GPIO.output (led1, 0)
GPIO.output (select2, 0)
time.sleep (0, 3)
GPIO.output (led1, 1)
GPIO. Output (select2, 1)
Setelah selesai membuat program, maka dapat memeriksa program dengan
menggunakan alt+R untuk melakukan “ Run Module” dalam menjalankan program
tersebut. Apabila masih terdapat error maka akan tampil pemberitahuan error , tetapi
apabila sudah tidak ada error maka akan tampil tulisan “ restart ” dan program
berjalan yang dapat dilihat pada Raspberry yang terhubung ke rangkaian.
3.2.2. Pemrograman pada Arduino IDE 1.0.5
Pada pemrograman Arduino 1.0.5, terdapat listing program Arduino dengan
menggunakan Software ARDUINO IDE1.0.5. Adapun Alur Program pada Arduino
ini terlihat pada Flowchart Program Arduino pada Gambar 3.12.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 39/64
39
Gambar 3.12. Flowchart Program Arduino
Pada Pemrograman Arduino ini berisi mengenai efek lampu, cara kerja pada
pemrograman di sorftware Arduino IDE 1.0.5 ini yaitu dimulai dari memeriksa
kondisi lampu led RGB, jika dalam kondisi baik, maka program akan mengambil data
efek lampu dari memori yang tersimpan pada DT-HIQ AVR USB ISP mkII,
kemudian menjalankan efek lampu, kemudian jika tombol kiri ditekan maka akan
mengubah efek lampu ke sebelumnya lalu menyimpan di memori, jika tombol kanan
ditekan untuk mengubah efek lampu ke setelahnya lalu menyimpan di memori.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 40/64
40
Jika kondisi lampu led RGB putus, maka program akan mengirimkan
pemberitahuan informasi berupa led Indicator akan menyala dengan 3 warna yaitu
merah, biru dan hijau yang menunjukkan 3 kondisi yaitu ketika lampu 1 putus led
indicator berwarna hijau, ketika lampu 2 putus, led indicator berwarna biru, dan
ketika kedua lampu putus led indikator berwarna merah
3.2.2.1. Desain Program Efek RGB LED
Adapun pemrograman efek lampu pada Arduino IDE 1.0.5. dengan memulai
memprogram dengan mengetik pada board sketch untuk loading library memori
EPROM terlebih dahulu dengan memasukkan inisialisasi pin pada Rangkaian
Arduino Pro Mini , yang terdiri dari pin RGB LED yaitu warna red pada pin 3, green
di pin 5, blue di pin 6, led untuk awal pada pin 13, dan lampu pada pin 10. Adapun
Pin 3, 5, 6, 9, 10, 11 merupakan pin analog yang mendukung PWM ( Pulse Width
Modulation) yaitu sebuah cara memanipulasi lebar sinyal yang dinyatakan dengan
pulsa dalam satu perioda. PWM memiliki frekuensi gelombang yang tetap namun
duty cycle yang bervariasi antara 0% - 100%.
Kemudian inisialisasi untuk tombol- tombol pada rangkaian yaitu terdapat 3
tombol yaitu tombol 1 (tb1) pada pin 4, tombol 2 pada pin 3, dan tombol hapus pada
pin 7. Inisialisasi pada efek yaitu terdiri dari select 1 dan 2 pada pin 8 dan 9.
Inisialisasi pada sensor cahaya (LDR) pada pin A0. PinMode untuk bagian Output
untuk RGB LED ( Red, Green, Blue), led indikator sebagai pengendali Arduino Pro
Mini yang menunjukkan kondisi aktif atau tidak aktif dan diberi kondisi LOW, dan
lampu dalam keadaan HIGH sebagai pengendali yang menunjukkan Aktifnya
memory untuk pertama kali dalam menjalankan program. Adapun isi Pemrograman
untuk Inisialisasi Rgb led , tombol 1 dan 2, dan sensor, yaitu :
#include <EEPROM.h>
//loading library memori EEPROM
const int red = 3;
const int green = 5;
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 41/64
41
const int blue = 6;
const int led = 13;
const int lampu = 10;
const int tb1 = 4;
const int tb2 = 2;
const int tb_hapus = 7;
const int select1 = 8;
const int select2 = 9;
const int sensor = A0;
void setup()
{
pinMode(red,OUTPUT);
pinMode(green,OUTPUT);
pinMode(blue,OUTPUT);
pinMode(led,OUTPUT);
pinMode(lampu,OUTPUT);
pinMode(tb1, INPUT_PULLUP);
pinMode(tb2, INPUT_PULLUP);
pinMode(tb_hapus, INPUT_PULLUP);
pinMode(select1, INPUT_PULLUP);
pinMode(select2, INPUT_PULLUP);
digitalWrite(led, LOW);
digitalWrite(lampu,HIGH);
PinMode untuk bagaian Input yaitu terdiri dari tombol 1, tombol 2, tombol
hapus, efek select 1, dan efek select 2. Program untuk memeriksa perubahan pada
pengaturan tombol 1 dan select 1, tombol 2 dan select 2, serta tombol hapus. Programpada tombol 1, yaitu, jika ditekan dalam keadaan LOW, kemudian indikator led akan
menyala (ON) dalam batas waktu delay 3 detik, setelah itu terjadi proses pemeriksaan
apabila tombol 1 masih ditekan atau tidak, maka setelah itu indikator led akan padam
dan status dalam keadaan LOW.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 42/64
42
Program pada select 1 : Jika ditekan dalam keadaan LOW, kemudian
indikator led akan menyala (ON) dalam batas waktu delay 3 detik, setelah itu terjadi
proses pemeriksaan apabila select 1 masih ditekan atau tidak, maka setelah itu
indikator led akan padam dan status dalam keadaan LOW.
Program pada tombol 2 : Jika ditekan dalam keadaan LOW, kemudian
indikator led akan menyala (ON) dalam batas waktu delay 3 detik, setelah itu terjadi
proses pemeriksaan apabila tombol 2 masih ditekan atau tidak, maka setelah itu
indikator led akan padam dan status dalam keadaan LOW, program pada select 2 :
Jika ditekan dalam keadaan LOW.
Indikator led akan menyala (ON) dalam batas waktu delay 3 detik, setelah itu
terjadi proses pemeriksaan apabila select 2 masih ditekan atau tidak, maka setelah itu
indikator led akan padam dan status dalam keadaan LOW. Adapun isi pemrograman
untuk memeriksa kondisi tombol jika telah ditekan atau tidak ditekan, adalah :
//----------------------------
//cek apakah tombol 2 ditekan?
//----------------------------
tekan2 = digitalRead(tb2);
if(tekan2 == LOW)
{
digitalWrite(led, HIGH); //indikator
led menyala
delay(300);
while(tekan2 == LOW) //apakah tombol 1
masih ditekan?
{
tekan2 = digitalRead(tb2); //cek
tombol 2
}
digitalWrite(led, LOW); //indikator
led padam
if(kode != 3) //apakah kode bukan
13?
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 43/64
43
{
kode = kode + 1;
EEPROM.write(0, kode);
return;
}
return;
}
//----------------------------
//cek apakah select 2 dikasih?
//----------------------------
tekan2 = digitalRead(select2);
if(tekan2 == LOW)
{
digitalWrite(led, HIGH); //indikator
led menyala
delay(300);
while(tekan2 == LOW) //apakah select 2
masih ditekan?
{
tekan2 = digitalRead(select2);
//cek select 2
}
digitalWrite(led, LOW); //indikator
led padam
if(kode != 3) //apakah kode bukan
13?
{
kode = kode + 1;
EEPROM.write(0, kode);
return;
}
return;
}
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 44/64
44
Program pada tombol EPROM dihapus : Jika ditekan dalam keadaan LOW,
kemudian indikator led akan menyala (ON) dalam batas waktu delay 3 detik, setelah
itu terjadi proses pemeriksaan apabila tombol hapus masih ditekan atau tidak, maka
setelah itu indikator led akan padam dan status dalam keadaan LOW. Adapun isi
pemrograman pengahapusan memory pada tombol clear memory yaitu :
//-------------------------
//apakah isi EEPROM dihapus
//-------------------------
hapus = digitalRead(tb_hapus);
if(hapus == LOW)
{
digitalWrite(led, HIGH); //indikator
led menyala
delay(300);
while(hapus == LOW) //apakah tombol
hapus masih ditekan?
{
hapus = digitalRead(tb_hapus);
//cek tombol hapus
}
digitalWrite(led, LOW); //indikator led
padam
kode = 1;
EEPROM.write(0, kode);
return;
}
return;
}
Program pada pemeriksaan kondisi sensor ini berisi nilai sensor yaitu pada pin
analogRead, dan Jika lebih besar nilai sensor dibandingkan dengan batas sensor maka
lampu akan menyala, dan jika sebaliknya lampu akan padam, dengan delay 2 detik.
Adapun isi pemrograman untuk pemeriksaan kondisi sensor pada lampu 1 dan 2,
yaitu :
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 45/64
45
void loop()
{
kode = EEPROM.read(0); //Pertama kali
ambil efek yang terakhir tersimpan di memori
batas = 700; //batas cahaya
cek1: cek_ubah(); //cek apakah efek diubah
//cek kondisi sensor
cek1a:nilai_sensor = analogRead(sensor);
if(nilai_sensor > batas)
{
digitalWrite(lampu, LOW); //lampu
menyala
//delay(200);
goto proses;
}
digitalWrite(lampu, HIGH); //lampu
padam
//delay(200);
goto cek1;
Program pada efek 2 yaitu efek Fade in Fade out , maka pada awal akan
dimulai dengan padam nya lampu dengan nilai red , green, dan blue 255, kemudian
dari padam terus menerang sampai putih dengan pengaturan nilai red 0, dan delay
untuk setiap perubahan selanjutnya yaitu 0,1 detik, dan setiap terjadi perubahan akan
dilakukan pemeriksaan kondisi sensor. kemudian dari putih terus meredup sampai
padam dengan nilai red 255, kemudian timbul sampai warna merah dengan nilai red
0, dari merah terus meredup sampai padam dengan nilai red dikembalikan kembali
menjadi 255, kemudian dari padam terus menerang sampai hijau dengan nilai green
0.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 46/64
46
Proses program berjalan yang menghasilkan penerangan hingga menjadi
warna hijau terus menerang sampai padam, dengan nilai green 255, kemudian dari
padam terus menerang sampai biru dengan nilai blue 0, kemudian dari kuning terus
meredup sampai padam dengan nilai blue 255, dari padam terus menerang sampai
kuning dengan nilai red 0, kemudian dari kuning terus meredup sampai padam
dengan nilai red 255. Dari padam terus menerang sampai cyan dengan nilai green 0,
dan terus meredup sampai padam dengan nilai green 255. Program kembali menerang
sampai berwarna magenta dengan nilai red 0, dan padam kembali dengan nilai red
255. Adapun isi pemrograman sama dengan tabel isi pemrograman berbagai warna
pada tabel 3.1. Program efek 3 yaitu Blinking, pada awal nya akan timbul warna putih
dengan nilai red 0, green 0, dan blue 0, dengan delay 2 detik, dan setiap perubahan
akan dilakukan pemeriksaan sensor, kemudian terjadi perubahan led menjadi padam
dengan nilai red , green, dan blue 255, kemudian timbul warna merah dengan nilai red
0, green 255, dan blue 255, kemudian timbul warna padam kembali dengan nilai red ,
green, dan blue 255 kembali dengan delay 2 detik. kemudian berwarna hijau dengan
nilai green nya 0, kemudian padam kembali. kemudian timbul warna biru dengan
nilai blue nya 0, kemudian padam kembali.kemudian timbul warna kuning dengan
nilai blue 255, red dan green 0, kemudian padam kembali. kemudian timbul warna
cyan dengan nilai red 255, dan nilai green dan blue 0.
Lampu akan padam kembali, lalu timbul warna magenta dengan nilai red dan
blue 0, dan green 255. kemudian padam kembali, timbul warna coklat dengan nilai
red 102, green 153, dan blue 204, lalu padam kembali.timbul warna ungu dengan
nilai red 102, green 255, dan blue 51. kemudian padam kembali, timbul warna
orange dengan nilai red 0, green 153, dan blue 255. kemudian padam kembali,
timbul warna pink dengan nilai red 0, green 102, dan blue 51. Kemudian padam
kembali, dan timbul warna violet dengan nilai red dan blue 51, sedangkan green 153.
Adapun isi pemrograman dilakukan sama dengan yang tertera pada tabel 3.1.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 47/64
47
Setelah semua efek telah selesai diprogram maka akan disimpan dengan
memilih File >Save As. Kemudian akan muncul tampilan File name dengan mengetik
led_rgb, dengan tipe penyimpanan “ All File” kemudian memilih save.
3.2.2.2. Desain Program Notifikasi Lampu Putus
Adapun pemrograman notifikasi pada saat lampu putus pada Arduino IDE
1.0.5. dengan memulai memprogram dengan mengetik pada board sketch untuk
inisialisasi pin pada led error 1 pada pin 12, led error 2 pada pin 0, led error 3 pada
pin 1, dan buzzer pada pin 11. Adapun terdapat dua sensor untuk memeriksa keadaan
lampu 1 dan lampu 2, yaitu diletakkan pada pin A1 dan A2. Notifikasi untuk
digunakan jika lampu putus ini akan diperiksa pada setiap warna di setiap efek.
Pada efek 1 yaitu efek pergantian warna pada setiap pergantian warnanya,
pada efek 2 yaitu efek fade-in fade-out pada setiap lampu menerang atau saat kondisi
fade-in, dan pada efek 3 yaitu efek blinking pada setiap lampu menyala, sedangkan
pada saat lampu padam nya tidak dilakukan pemeriksaan lampu. Setelah
pemrograman warna, maka akan dilakukan pemeriksaan lampu 1 dan lampu 2.
Pemeriksaan kedua lampu tersebut diprogram dengan mengatur nilai sensor untuk
lampu 1 dan lampu 2. Jika nilai sensor1 dan nilai sensor2 melebihi batas1 yaitu
dengan nilai sebesar 500, dimana batas1 ini merupakan nilai tegangan untuk
mengatur tingkat cahaya pada lampu yang diinginkan, yang dimana batas maksimal
nya sebesar 700.
Setelah pengaturan untuk nilai sensor, maka diatur led indikator nya yang
terdapat 3 kondisi, yang menunjukkan ketika lampu 1 putus maka led indikator 1
atau didalam program disebut dengan led_error1 yang akan berwarna hijau, kemudian
ketika lampu 2 putus maka led indikator 2 atau didalam pemrograman disebut
led_error2 berwarna biru, dan ketika kedua lampu putus maka led indikator 3 atau
yang disebut led_error3 akan berwarna merah.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 48/64
48
Adapun pada setiap led indikator tersebut menyala, maka buzzer akan ON
(berbunyi) sebagai alarm peringatan kepada pengguna. Isi pemrograman untuk
memeriksa sensor pada kondisi lampu nyala pada notifikasi lampu putus adalah :
//cek sensor lampu nyala
nilai_sensor1 = analogRead(sensor1);
if(nilai_sensor1 > batas1)
{
nilai_sensor2 = analogRead(sensor2);
if(nilai_sensor2 > batas1)
{
digitalWrite(led_error2,HIGH);
digitalWrite(led_error3,HIGH);
digitalWrite(led_error1,LOW); //nyala
digitalWrite(buzzer, HIGH); //bunyi
goto ef1a;
}
digitalWrite(led_error2,LOW); //nyala
digitalWrite(buzzer, HIGH); //bunyi
goto ef1a;
}
nilai_sensor2 = analogRead(sensor2);
if(nilai_sensor2 > batas1)
{
digitalWrite(led_error3,LOW); //nyala
digitalWrite(buzzer, HIGH); //bunyi
goto ef1a;
}
digitalWrite(led_error1,HIGH);
digitalWrite(led_error2,HIGH);
digitalWrite(led_error3,HIGH);
digitalWrite(buzzer, LOW);
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 49/64
49
BAB IV
PEMBAHASAN
Pada Bab IV ini akan dibahas mengenai Pengujian dan Analisis data/Evaluasi.
Pada bagian pengujian terdapat Deskripsi pengujian, Prosedur pengujian, Data hasil
pengujian. Pada bagian Analisis data/Evaluasi akan dianalisis mengenai
pemrograman pada Arduino dan Raspberry Pi.
4.1. Pengujian
Pada bab ini dilakukan pengujian alat dari seluruh sistem aplikasi rangkaian
yang telah dibuat. Proses pengujian ini bertujuan untuk mengetahui kinerja dari alat
yang telah dibuat dan juga kekurangannya. Selain itu proses pengujian ini juga dapat
mengetahui proses kerja dan fungsi dari alat secara keseluruhan.
4.1.1. Deskripsi Pengujian
Pengujian ini dilakukan dengan cara mengambil data dari percobaan pada
program aplikasi yang dilakukan. Hasil tersebut yang akan digunakan untuk
mengetahui bahwa sistem yang telah dibuat sesuai dengan perancangan sistem
tersebut. Pengujian dilakukan terhadap setiap list pemrograman yang digunakan
untuk mengetahui bahwa program dalam kondisi baik atau masih ada kekurangan.
List pemrograman yang akan di uji terdiri dari Program Arduino IDE dan Raspberry
Pi dengan menggunakan aplikasi Bluetooth SPP PRO pada handphone Android.
a. Pengujian Program Arduino IDE
Pengujian ini dilakukan untuk memastikan bahwa program yang
dibuat telah berjalan dengan baik. Program pada Aplikasi Arduino IDE dibuat
untuk pengaturan otomatisasi dan pengaturan tiga macam efek dan warna,
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 50/64
50
Notifikasi berupa led indicator dan buzzer ketika lampu dalam
keadaan putus. Program Arduino Pro Mini bekerja dengan disimpan pada
programmer DT-HIQ AVR USB ISP mkII yang kompatibel dengan program
pada Arduino Pro Mini.
b. Pengujian Program Raspberry Pi
Pengujian ini dilakukan untuk memastikan bahwa program yang
dibuat telah berjalan dengan baik. Program pada Raspberry Pi ini dibuat
untuk penggunaan modul Bluetooth pada rangkaian yang disambungkan
menggunakan Aplikasi Bluetooth SPP PRO, yang mendukung untuk
pengguna mengatur segala hasil yang telah di program pada Arduino IDE,
yaitu untuk mengetahui sistem otomatisasi, efek, dan warna pada lampu
taman untuk penyinaran taman yang menggunakan Rgb led.
4.1.2. Prosedur Pengujian
Pada bagian ini akan menjelaskan langkah kerja untuk menguji masing-
masing list pemrograman yang digunakan pada sistem ini. Untuk menguji list
pemrograman tersebut menggunakan program Aplikasi Arduino IDE, Program
NOOBS, Program Raspberry Pi, dan Aplikasi Bluetooth SPP PRO.
a. Prosedur Pengujian Pengolahan data program pada Arduino IDE
Pada pengujian di Arduino IDE ini, mencakup pengujian program
yang telah diolah dengan cara sebagai berikut :
1. Membuka list program pada Arduino IDE 1.0.5.
2. Memasang RGB LED pada rangkaian.
3. Melakukan pemeriksaan programmer AVRISP mkII.
4. Melakukan Verifikasi program pada Arduino IDE 1.0.5
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 51/64
51
5. Mengupload program pada Arduino IDE 1.0.5.
6. Membandingkan warna dan efek lampu RGB LED dengan hasil
pada output rangkaian.alat.
7. Memeriksa notifikasi led indicator dan buzzer pada rangkaian alat.
b. Prosedur Pengujian Pengolahan data program Raspberry Pi
Pada pengujian menggunakan Aplikasi Bluetooth SPP PRO di
Aplikasi Bluetooth SPP PRO ini, mencakup pengujian program yang telah
diolah dengan cara sebagai berikut :
1. Memeriksa program dengan menggunakan alt+R untuk klik menu
Run > Run Module untuk menjalankan program Raspberry Pi.
2. Membuka Aplikasi Bluetooth SPP PRO pada handphone Android.
3. Mengirim data ‘A’ dan data ‘B’ seperti pada program Raspberry Pi.
4. Membandingkan dengan hasil output pada modul Bluetooth di
rangkaian dan pada Aplikasi Bluetooth SPP PRO.
4.1.3. Data Hasil Pengujian
Pada bagian ini membahas data hasil dari list pemrograman yang telah di uji.
Hasil data yang di peroleh terdiri dari hasil output program pada Arduino IDE 1.0.5
berupa Light Effect dan notifikasi berupa led indicator dan buzzer dengan 3 kondisi
yaitu pada saat lampu 1 putus, lampu 2 putus, dan kedua lampu putus, serta program
pada Raspberry Pi berupa tampilan hasil pengguna pada Aplikasi Bluetooth SPP PRO
pada handphone Android.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 52/64
52
a. Hasil program pada Arduino IDE 1.0.5.
Program yang diuji yaitu program pada 3 macam light effect , yaitu
efek 1 pergantian warna, efek 2 fade-in fade-out , dan efek 3 blinking. Pada
efek tersebut terdapat unsur warna putih, merah, hijau, biru, kuning, cyan,
magenta, coklat, ungu, orange, pink, violet, dan selingan padamnya lampu
pada saat efek 2 fade-in fade-out serta efek blinking. Program efek dan warna
tersebut telah disimpan pada memori programmer AVRISP mkII, maka
program yang telah disimpan di programmer tersebut telah dipindahkan
kedalam hardware Arduino Pro Mini pada rangkaian lampu taman pintar.
Program akan secara otomatis berjalan tanpa membuka program
terlebih dahulu pada software Arduino IDE.Pada pengujian nya dapat
dilakukan dengan verifikasi program terlebih dahulu pada Arduino IDE 1.0.5,
Adapun proses hasil pengujian verifikasi program seperti yang ditampilkan
pada Gambar 4.1.
Gambar 4.1. Verifikasi Program
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 53/64
53
Setelah melakukan verifikasi program seperti hasil pada gambar 4.1.,
kemudian melakukan pemeriksaan tools yang telah diatur dengan
menggunakan Programmer AVRISP mkII seperti pada Gambar 4.2.
Gambar 4.2. Pemeriksaan Tools Programmer AVRISP mkII
Setelah diperiksa tools yang telah terhubung yaitu programmer
AVRISP mkII, maka kemudian melakukan Upload dengan menggunakan
programmer AVRISP mkII seperti pada Gambar 4.3.
Gambar 4.3. Upload Program with AVRISP mkII
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 54/64
54
Setelah Upload Program berhasil, maka rangkaian alat lampu taman
pintar akan berjalan sesuai dengan program yang telah dirancang pada
software pemrograman Arduino IDE 1.0.5. yaitu akan tampil efek pergantian
warna, fade-in fade-out, dan blinking apabila diatur dengan menekan tombol
pada tombol kiri untuk mengubah efek ke sebelumnya dan menekan tombol
kanan untuk mengubah efek ke setelahnya yang terdapat pada rangkaian.
b. Hasil output program pada Raspberry Pi
Program yang diuji yaitu program untuk digitalisasi pushbutton
menggunakan modul Bluetoooth yang terhubung dengan aplikasi Bluetooth
SPP PRO pada handphone android. Aplikasi Bluetooth SPP PRO ini
berbentuk keyboard mode sebagai tombol 1 yang diberi nama efek bertambah
untuk mengirimkan data ‘A’ ke arduino dan tombol 2 yang diberi nama efek
berkurang untuk mengirimkan data ‘B’ ke arduino. Pengaturan tombol pada
aplikasi Bluetooth SPP PRO ini diatur pada menu Button Set. Adapun materi
pengujian pada program Raspberry Pi berisi pemeriksaan pengiriman data ‘A’
sebagai digitalisasi tombol 1 ke arduino dan data ‘B’ sebagai digitali sasi
tombol 2 ke arduino. Adapun hasil pengujian untuk login program Raspberry
Pi seperti yang ditampilkan pada Gambar 4.4.
Gambar 4.4. Login Program Raspberry Pi
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 55/64
55
Setelah memasukkan username untuk login program yaitu : pi, dan
password nya raspberry, maka kemudian akan muncul tampilan menu
Raspberry Pi untuk menjalankan program yang telah dirancang, seperti pada
Gambar 4.5.
Gambar 4.5. Tampilan Menu Raspberry Pi
Setelah membuka menu Accesoris kemudian Terminal pada tampilan
menu dan mengetikkan “sudo idle3 &” maka akan muncul tampilan Python
Shell untuk membuka file program yang telah dirancang dengan mengetik
“remote.py” pada kolom file name seperti pada Gambar 4.6.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 56/64
56
Gambar 4.6. Open File Program
Setelah membuka file program, maka akan muncul tampilan program
yang telah dirancang, kemudian untuk menjalankan program tersebut dengan
melakukan “run module” seperti pada Gambar 4.7.
Gambar 4.7. Run Module Program
Setelah program pada raspberry pi dan modul bluetooth sudahterhubung dengan aplikasi Bluetooth SPP PRO, maka aplikasi Bluetooth SPP
PRO telah dapat digunakan dengan menggunakan “keyboard mode” dengan
menggunakan 2 tombol yang telah aktif yaitu tombol “efek bertambah” dan
tombol “efek berkurang”, seperti pada Gambar 4.8.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 57/64
57
Gambar 4.8. Keyboard mode
Program akan berjalan dengan menghubungkan Modul Bluetooth HC-
05 dengan aplikasi pada Bluetooth SPP PRO di handphone, setelah terhubung
maka program akan berjalan dengan menerima data dari aplikasi Bluetooth
SPP PRO, setiap kali mengklik keyboard mode “efek bertambah” maka akan
terbaca sebagai data b ‘A’ pada program, sedangkan pada saat mengklik
keyboard mode “efek berkurang” maka program akan menerima data b’B’,
seperti yang tertampil pada hasil penerimaan data tombol di Gambar 4.9.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 58/64
58
Gambar 4.9. Hasil penerimaan data tombol
4.2. Analisis Data/Evaluasi
Pada bagian analisis Data/Evaluasi akan dianalisis mengenai data hasil
pengujian pada pemrograman Arduino dan Raspberry Pi.
a. Analisis Data pada pemrograman Arduino
Dari data hasil percobaan, hasil output efek pada RGB LED, yang
telah diprogram terebih dahulu menggunakan aplikasi Arduino IDE 1.0.5.Adapun pemrograman yang perlu dilakukan sebelum proses efek pada RGB
LED yaitu, pada saat memulai program dengan mengetik program pada board
sketch, kemudian dilakukan loading library memori EPROM, terlebih dahulu
dengan memasukkan inisialisasi pin pada Rangkaian Arduino Pro Mini.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 59/64
59
Inisialisasi pin terdiri dari pin Rgb led yaitu warna red pada pin 3,
green di pin 5, blue di pin 6. Led untuk awal pada pin 13, dan lampu pada pin
10. kemudian inisialisasi untuk tombol-tombol pada rangkaian yaitu terdapat
3 tombol. Tombol 1 (tb1) pada pin 4, tombol 2 pada pin 3, dan tombol hapus
pada pin 7. Inisialisasi pada efek yaitu terdiri dari select 1 dan 2 pada pin 8
dan 9. Inisialisasi pada sensor cahaya (LDR) pada pin A0. PinMode untuk
bagian Output untuk Rgb led ( Red, Green, Blue), indicator led sebagai
pengendali dalam keadaan LOW, dan lampu dalam keadaan HIGH PinMode
untuk bagaian Input yaitu terdiri dari tombol 1, tombol 2, tombol hapus, efek
select 1, dan efek select 2, Hasil output ON/OFF RGB LED ini tergantung
pada pemeriksaan kondisi sensor ini berisi nilai sensor yaitu pada pin
analogRead, dan Jika lebih besar nilai sensor dibandingkan dengan batas
sensor maka lampu akan menyala, dan jika sebaliknya lampu akan padam,
dengan delay 2 detik.
Pada proses efek pada LED yaitu terdiri dari proses pengaturan : jika
kode 1, maka efek pergantian warna, kode 2 yaitu untuk efek 2 dengan efek
fade-in fade-out , dan kode 3 untuk efek 3, dengan efek blinking. Pada efek 1,
terjadi pergantian warna yang dimulai dari warna putih dengan nilai red 0,
green 0, dan blue 0, dan delay 2 detik, dan setiap pergantian warna akan
terjadi pemeriksaan perubahan dan pemeriksaan sensor. Setelah warna putih
yaitu warna merah, dengan nilai red = 0, green 255, dan blue 255, delay 2
detik. kemudian warna hijau dengan nilai green diubah menjadi 0, nilai red
dan blue 255, selanjutnya warna biru dengan nilai blue nya yang 0.
Hasil Output warna dari putih, merah, hijau sampai biru menghasilkan
warna sesuai dengan program, kemudian warna kuning dengan nilai red 0,
green 200, dan blue 255, pada hasil output warna kuning ini tidak
menghasilkan sesuai dengan warna yang diprogram, hasil warna kuning pada
output RGB LED ini masih kurang kuning, dan cenderung mengasilkan warna
kuning kehijauan.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 60/64
60
Hal ini dapat disebabkan karena nilai tegangan pada campuran warna
kuning yaitu nilai green dan blue nya yang masih kurang tepat, dan dapat juga
disebabkan karena pada saat inisialisasi pin yang kurang tepat pada rangkaian.
Kemudian warna cyan dengan nilai red 255, green 0, dan blue 0, warna
magenta dengan nilai red 0, green 255, dan blue 0, warna coklat dengan nilai
red 102, green 153, dan blue 204. Adapun warna coklat yang dihasilkan
kurang sesuai dengan program, warna coklat yang dihasilkan cenderung
berwarna keemasan, hal ini disebabkan karena nilai tegangan dan inisialisasi
pin yang diberikan pada RGB LED kurang tepat. Warna ungu dengan nilai
red 102, green 255, dan blue 51. warna orange dengan nilaii red 0, green 153,
dan blue 255, warna pink dengan nilai red 0, green 102, dan blue 51,
Warna violet dengan nilai red 51, green 153, dan blue 51. Hasil output
untuk warna cyan, magenta, ungu, orange, pink, dan violet mengasilkan warna
yang sesuai dengan program dan nilai tegangan yang tepat. Program pada efek
2 yaitu efek Fade in Fade out , maka pada awal akan dimulai dengan padam
nya lampu dengan nilai red, green, dan blue 255, kemudian dari padam terus
menerang sampai putih dengan pengaturan nilai red 0, dan delay untuk setiap
perubahan selanjutnya yaitu 0,1 detik, dan setiap terjadi perubahan akan
dilakukan pemeriksaan kondisi sensor, kemudian dari putih terus meredup
sampai padam dengan nilai red 255.
Program akan menimbulkan penerangan sampai warna merah dengan
nilai red 0, dari merah terus meredup sampai padam dengan nilai red
dikembalikan kembali menjadi 255, kemudian dari padam terus menerang
sampai hijau dengan nilai green 0. Kemudian dari hijau terus menerang
sampai padam, dengan nilai green 255, kemudian dari padam terus menerang
sampai biru dengan nilai blue 0. Hasil warna yang didapatkan dari RGB LED
padam, menerang hingga putih, meredup kembali sampai padam, menerang
sampai merah, meredup sampai padam, menerang sampai hijau, meredup
kembali padam, menerang sampai biru.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 61/64
61
Program akan menimbulkan peredupan kembali hingga padam,
menghasilkan warna yang sesuai dengan program dan nilai tegangan yang
tepat. Kemudian dari kuning terus meredup sampai padam dengan nilai blue
255, kemudian dari padam terus menerang sampai kuning dengan nilai red 0,
namun hasil warna kuning yang didapatkan tidak sesuai dengan program.
Hasil warna kuning pada output RGB LED ini masih kurang kuning, dan
cenderung mengasilkan warna kuning kehijauan.
Hal ini dapat disebabkan karena nilai tegangan pada campuran warna
kuning yaitu nilai green dan blue nya yang masih kurang tepat, dan dapat juga
disebabkan karena pada saat inisialisasi pin yang kurang tepat pada rangkaian.
Kemudian dari kuning terus meredup sampai padam dengan nilai red 255,
kemudian dari padam terus menerang sampai cyan dengan nilai green 0, dan
terus meredup sampai padam dengan nilai green 255, Kemudian terus
menerang kembali sampai berwarna magenta dengan nilai red 0, dan padam
kembali dengan nilai red 255. Hasil output saat menerang menjadi cyan,
meredup kembali padam, menerang menjadi magenta hingga meredup
kembali padam, telah mengahasilkan warna yang optimal sesuai dengan
program dengan nilai tegangan yang tepat.
Program efek 3 yaitu Blinking, pada awal nya akan timbul warna putih
dengan nilai red 0, green 0, dan blue 0, dengan delay 0,2 detik, dan setiap
perubahan akan dilakukan pemeriksaan sensor, kemudian terjadi perubahan
led menjadi padam dengan nilai red, green, dan blue 255, kemudian timbul
warna merah dengan nilai red 0, green 255, dan blue 255, kemudian timbul
warna padam kembali dengan nilai red, green, dan blue 255 kembali dengan
delay 0,2 detik, kemudian berwarna hijau dengan nilai green nya 0, kemudian
padam kembali. kemudian timbul warna biru dengan nilai blue nya 0,
kemudian padam kembali, kemudian timbul warna kuning dengan nilai blue
255, red dan green 0, kemudian padam kembali,
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 62/64
62
Warna cyan dengan nilai red 255.Nilai green dan blue 0, Kemudian
padam kembali, timbul warna magenta dengan nilai red dan blue 0, dan green
255, lalu padam kembali, timbul warna coklat dengan nilai red 102, green
153, dan blue 204, adapun warna coklat yang dihasilkan pada efek 3 ini
kurang sesuai dengan program, seperti pada efek 1. Warna coklat yang
dihasilkan cenderung berwarna keemasan, hal ini disebabkan karena nilai
tegangan dan inisialisasi pin yang diberikan pada RGB LED kurang tepat,
kemudian padam kembali, timbul warna ungu dengan nilai red 102, green
255, dan blue 51, kemudian padam kembali, timbul warna orange dengan nilai
red 0, green 153, dan blue 255, kemudian padam kembali, timbul warna pink
dengan nilai red 0, green 102, dan blue 51, kemudian padam kembali, dan
timbul warna violet dengan nilai red dan blue 51, sedangkan green 153. Pada
warna ungu, kemudian padam, orange, pink, kemudian padam, hingga warna
violet telah berjalan optimal.
Program notifikasi pada saat lampu putus pada Arduino IDE 1.0.5.
dengan inisialisasi pin pada led error 1 pada pin 12, led error 2 pada pin 0, led
error 3 pada pin 1, dan buzzer pada pin 11. Adapun terdapat dua sensor
sebagai pemeriksa keadaan lampu 1 dan lampu 2, yaitu diletakkan pada pin
A1 dan A2. Notifikasi untuk digunakan jika lampu putus ini akan diperiksa
pada setiap warna di setiap efek. Pada efek 1 yaitu efek pergantian warna
pada setiap pergantian warnanya, pada efek 2 yaitu efek fade-in fade-out pada
setiap lampu menerang atau saat kondisi fade-in, dan pada efek 3 yaitu efek
blinking pada setiap lampu menyala, sedangkan pada saat lampu padam nya
tidak dilakukan pemeriksaan lampu. Setelah pemrograman warna, maka akan
dilakukan pemeriksaan lampu 1 dan lampu 2. Led indikator digunakan
sebagai output pada program notifikasi lampu putus ini yang akan bekerja jika
pada saat pengujian, yaitu sensor unruk lampu 1 dan 2, menerima cahaya
gelap.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 63/64
63
Led indikator ini memiliki 3 kondisi, yang menunjukkan ketika lampu
1 putus maka led indikator atau didalam program disebut dengan led_error1
yang akan berwarna hijau, kemudian ketika lampu 2 putus maka led indikator
2 atau didalam pemrograman disebut led_error2 berwarna biru, dan ketika
kedua lampu putus maka led indicator3 atau yang disebut led_error3 akan
berwarna merah, dan pada setiap led indikator tersebut menyala, maka buzzer
akan ON (berbunyi) sebagai alarm peringatan kepada pengguna.
b. Analisis Data pada pemrograman Raspberry Pi
Dari data hasil percobaan pada program Raspberry Pi ini dimulai
dengan membuat pemrograman untuk output RGB LED pada kaki 18, untuk
efek led 1 pada select 1 di pin GPIO 23 sebagai output . Pada efek 2 pada
select 2 pada pin GPIO 24, dengan pengaturan serial port, baudrate = 9600,
dan batas waktu 1 detik. GPIO output led 1, pada pin A0, dengan batas waktu
pergantian nya 5 detik ke GPIO output (1,1). Pengaturan untuk serial port
pada modul Bluetooth, dengan GPIO output pada led (1, 0), dan led (1,1) dan
batas waktu 5 detik. Jika data yang terbaca pada saat koneksi dengan aplikasi
Bluetooth SPP PRO, berupa data b ‘A’ untuk nilai output pada led 1 dan
output select 1 untuk tombol kiri dengan batas waktu 3 detik. Jika data yang
terbaca pada Raspberry berupa data b’B’ untuk nilai output pada led 1 dan
output select 2 dengan batas waktu 3 detik. Hasil output yang terdapat pada
aplikasi Bluetooth SPP PRO yang telah disesuaikan dengan program pada
Raspberry Pi telah berjalan dengan optimal, dimana saat mengetik b ‘A’ pada
Aplikasi Bluetooth SPP PRO, maka Raspberry Pi akan menerima b ‘A’ juga
dan akan mengirim data tombol kiri ke Arduino. Pada saat mengetik b ‘B’
pada Aplikasi Bluetooth SPP PRO, maka Raspberry Pi akan menerima b ‘B’
juga dan akan mengirim data tombol kanan ke Arduino.
7/21/2019 TA BAB I-V
http://slidepdf.com/reader/full/ta-bab-i-v 64/64
64
BAB V
PENUTUP
5.1. Kesimpulan
Dari hasil pengujian program sistem otomatisasi untuk penyinaran lampu
taman menggunakan Arduino IDE dan Raspberry Pi, dapat disimpulkan bahwa :
1. Lampu Taman Pintar memiliki variasi light-effect Pergantian warna, Fade-in
Fade-Out (Meredup-Menerang) dan Blinking (Padam-Menerang) yang
diprogram menggunakan Arduino IDE.
2. Lampu Taman Pintar memiliki sistem otomatisasi ON/OFF menggunakan
sensor cahaya (LDR) yang diprogram menggunakan Arduino IDE.
3. Led indikator sebagai output notifikasi lampu putus akan bekerja pada 3
kondisi ketika lampu 1 putus berwarna hijau, lampu 2 putus berwarna biru,
dan ketika kedua lampu putus berwarna merah dan juga disertai alarm yang
berbunyi sebagai tanda peringatan.
4. Tombol 1 diwakili dengan pengkodean b‘A’, dan tombol 2 dengan
pengkodean b‘B’ pada handphone berbasis Android.
5.2. Saran
Kendala pada warna yang kurang sesuai dengan program terjadi pada warna
kuning dan coklat disebabkan oleh kurang tepatnya nilai tegangan yang diberikan
pada program dan inisialisasi pin RGB LED pada rangkaian, sehingga diperlukan