TUGAS AKHIR
ESTIRIANA LIMBONG
152408003
ESTIRIANA LIMBONG
152408003
Saya mengakui bahwa tugas akhir ini adalah hasil karya sendiri. Kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Estiriana Limbong
152408003
ii
UNIVERSITAS SUMATERA UTARA
PENGONTROL TIRAI JENDELA MENGGUNAKAN SENSOR BH1750
BERBASIS ARDUINO UNO
ABSTRAK
iii
UNIVERSITAS SUMATERA UTARA
WINDOW CURTAIN CONTROLLER USING ARDUINO UNO BH1750
SENSOR
ABSTRACT
iv
UNIVERSITAS SUMATERA UTARA
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas
segala keberkahan dan rahmat yang dikaruniakan-Nya kepada penulis sehingga
mampu menyelesaikan Tugas Akhir ini.
Ucapan terima kasih penulis sampaikan kepada semua pihak yang sangat
membantu penulis dalam penyusunan Tugas Akhir ini sehingga dapat selesai.
Terima kasih kepada:
1. Bapak Dr. Kerista Sebayang, MS selaku Dekan Fakultas Matematika dan Ilmu
Pengetahuan Alam Universitas Sumatera Utara.
2. Ibu Dr. Nursahara Paribu, M.Sc selaku Pembantu Dekan I Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
3. Bapak Drs. Takdir Tamba, M.Eng, Sc selaku Ketua Program Studi D-3 Fisika
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera
Utara.
4. Bapak Dr.Kerista Tarigan,M.Eng.Sc selaku Dosen Pembimbing penulis, yang
telah banyak memberikan pengarahan dan bimbingan kepada penulis.
5. Seluruh Staff Pengajar / Pegawai program studi D-3 Fisika Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
6. Ayah dan Mama tercinta yang senantiasa memberikan dukungan doa, moril
dan material serta bimbingan yang sangat membantu penulis.
7. Kakanda Ahmad Wahyudi yang telah memberikan bantuan berupa ilmu dalam
menyelesaikan Tugas proyek.
Penulis menyadari bahwa Tugas Akhir ini masih jauh dari kesempurnaan.
Akhir kata, penulis berharap Tugas Akhir ini tidak hanya sebagai tanggung jawab
perkuliahan saja namun dapat bermanfaat juga bagi pihak-pihak yang
berkepentingan.
Medan, 11 Juli 2018
Penulis
v
UNIVERSITAS SUMATERA UTARA
DAFTAR ISI
Halaman
PERSETUJUAN i
ABSTRAK ii
ABSTRACT iii
PENGHARGAAN iv
DAFTAR ISI vi
DAFTAR GAMBAR viii
DAFTAR TABEL ix
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 1
1.3 Batasan Masalah 2
1.4 Tujuan Proyek 2
1.5 Manfaat Proyek 2
vi
UNIVERSITAS SUMATERA UTARA
3.1.1 Blog Diagram 22
3.1.2 Penentuan Komponen Tirai Jendela 23
3.1.3 Rangkaian BH1750 24
3.1.4 Rangkaian LCD ( Liquid Crystal Display ) 25
3.1.5 Rangkaian IC Regulator 7805 26
3.1.6 Rangkaian Hubungan Keseluruhan Sistem Alat 27
3.1.7 Flowchart Sistem Pengontrol Tirai Jendela Menggunakan
Sensor BH1750 Berbasis Arduino Uno 28
DAFTAR PUSTAKA 44
LAMPIRAN
vii
UNIVERSITAS SUMATERA UTARA
DAFTAR GAMBAR
Halaman
2.1 Arduino Uno 5
2.2 Sensor BH1750 13
2.3 LCD 2x16 14
2.4 Motor DC 16
2.5 Prinsip Kerja Motor DC 17
2.6 Driver L298N 18
2.7 Resistor 19
2.8 Pin Header Jantan 20
3.1 Diagram Blok System 22
3.2 Hubungan Arduino dengan sensor BH1750 23
3.3 Hubungan Arduino dengan LCD 24
3.4 Hubungan Driver L298N,IC 7805,Motor DC,dengan Arduino 25
3.5 Rangkaian Hubungan Keseluruhan Sistem 26
3.6 Flowchart sistem pengontrol Tirai jendela 27
4.1 Informasi signature mikrokontroler Arduino Uno R3 29
4.2 Penulisan program pada software Arduino .cc 35
4.3 Tampilan saat proses compile dan upload 35
4.4 Tampilan saat proses compile dan upload selesai 36
4.5 Pengujian alat pada saat pagi hari 40
4.6 Pengujian alat pada saat siang hari 40
4.7 Pengujian alat pada saat malam hari 41
viii
UNIVERSITAS SUMATERA UTARA
DAFTAR TABEL
Halaman
2.1 Deskripsi Arduino 6
2.2 Konfigurasi LCD 14
3.1 Penjelasan program perbaris 33
4.4.1 Hasil Pengujian Intensitas cahaya 37
4.4.2 Hasil Perbandingan Intensitas Cahaya 37
ix
UNIVERSITAS SUMATERA UTARA
DAFTAR LAMPIRAN
x
UNIVERSITAS SUMATERA UTARA
BAB 1
PENDAHULUAN
1
UNIVERSITAS SUMATERA UTARA
3. Berapa resistansi pada sensor BH1750 ketika keadaan tirai akan membuka
dan menutup ?
1.3 Batasan Masalah
Agar perancangan yang dibahas dalam tugas proyek ini tidak terlalu
luas dan menyimpang dari topik yang telah ditentukan, maka penulis perlu
membatasi permasalahan sebagai berikut:
1. Pembahasan tentang mikrokontroler Arduino Uno R3 hanya sebatas
yang berkaitan dengan perancangan ini.
2. Pembahasan mengenai komponen pendukung yang meliputi: sensor
BH1750, LCD, Motor DC, Driver L298N, Resistor, Adaptor dan
komponen lainnya hanya sebatas teori umum dan yang berkaitan
dengan perancangan alat.
3. Sensor intensitas cahaya menggunakan BH1750.
2
UNIVERSITAS SUMATERA UTARA
BAB 2
TINJAUAN PUSTAKA
2.1.1 Cahaya
Cahaya menjadi sangat penting dalam kehidupan di dalam bumi ini. Dengan
adanya cahaya, maka adapula kehidupan di dunia. Coba bayangkan jika tidak ada
cahaya, semuanya akan redup, tak ada yang bisa dilihat dan sulit untuk bisa
dimengerti. Cahaya juga bisa dikatakan sebagai salah satu sumber kehidupan,
seperti air. Makhluk hidup bisa bertahan hidup dengan cahaya. Sama seperti
manusia, tumbuhan pasti juga memerlukan cahaya.Kita sebagai manusia jika
melihat adanya cahaya, pasti jauh lebih bersemangat untuk melakukan kegiatan
dibandingkan dalam kondisi yang redup. Contoh saja dalam kehidupan kita
sehari-hari, banyak yang beraktivitas di pagi hari, siang hari, hingga sore hari.
Sangat jarang orang yang bekerja dan beraktivitas di malam hari. Sama halnya
dengan hewan hanya beberapa hewan saja yang memiliki kegiatan malam hari dan
biasa disebut dengan nama hewan nocturnal yang mencari kehidupan di malam
hari.
Cahaya membuat keadaan suatu wilayah atau tempat yang disinari menjadi
jauh lebih terang dan tidak gelap. Dengan keadaan yang terang ini, kita bisa
dengan mudah melihat keadaan yang di sekitar dan peristiwa apa yang terjadi di
sekitar.
3
UNIVERSITAS SUMATERA UTARA
Cahaya merupakan energi yang berbentuk gelombang elektromagnetik yang
secara kasat mata dengan memiliki panjang gelombang sekitar 380 hingga 750
nm. Dalam bidang fisika, cahaya merupakan radiasi elektromagnetik, baik itu
dengan panjang gelombang kasat mata maupun yang tidak kasat mata.Tidak
hanya itu saja, cahaya merupakan paket partikel yang biasa disebut dengan nama
foton. Kedua definisi tersebut menjadi sifat milik cahaya yang secara bersama,
sehingga disebut sebagai "dualisme gelombang-partikel".Paket cahaya yang
dinamakan dengan spektrum lantas akan dipersepsikan secara visual oleh indera
penglihatan (mata) sebagai warna. Jika dalam bidang studi cahaya, dikenal dengan
sebutan optika, yang menjadi area riset cukup penting dalam bidang fisika
modern.Berbeda saat kondisi cahaya yang minim alias redup, pasti kita akan
membutuhkan bantuan berupa alat-alat tambahan untuk meneranginya dan
melihat sebenarnya apa yang tengah terjadi di sekitar kita.
4
UNIVERSITAS SUMATERA UTARA
Gambar 2.1 Arduino Uno
Arduino memiliki kelebihan tersendiri dibanding board mikrokontroler
yang lain selain bersifat open source, arduino juga mempunyai bahasa
pemrogramannya sendiri yang berupa bahasa C. Selain itu dalam board arduino
sendiri sudah terdapat loader yang berupa USB sehingga memudahkan ketika
memprogram mikrokontroler didalam arduino. Sedangkan pada kebanyakan board
mikrokontroler yang lain yang masih membutuhkan rangkaian loader terpisah
untuk memasukkan program ketika kita memprogram mikrokontroler. Port USB
tersebut selain untuk loader ketika memprogram, bisa juga difungsikan sebagai
port komunikasi serial.
Arduino menyediakan 20 pin I/O, yang terdiri dari 6 pin input analog dan
14 pin digital input/output. Untuk 6 pin analog sendiri bisa juga difungsikan
sebagai output digital jika diperlukan output digital tambahan selain 14 pin yang
sudah tersedia. Untuk mengubah pin analog menjadi digital cukup mengubah
konfigurasi pin pada program.
Dalam board kita bisa lihat pin digital diberi keterangan 0-13, jadi untuk
menggunakan pin analog menjadi output digital, pin analog yang pada keterangan
board 0-5 kita ubah menjadi pin 14-19. Dengan kata lain pin analog 0-5 berfungsi
juga sebagi pin output digital 14-16. Sifat open source arduino juga banyak
memberikan keuntungan tersendiri untuk kita dalam menggunakan board ini,
karena dengan sifat open source komponen yang kita pakai tidak hanya
tergantung pada satu merek, namun memungkinkan kita bisa memakai semua
komponen yang ada dipasaran. Bahasa pemrograman arduino merupakan bahasa
C yang sudah disederhanakan syntax bahasa pemrogramannya sehingga
5
UNIVERSITAS SUMATERA UTARA
mempermudah kita dalam mempelajari dan mendalami mikrokontroller. Deskripsi
Arduio UNO:
6
UNIVERSITAS SUMATERA UTARA
5V. Pin output ini merupakan tegangan 5 Volt yang diatur dari regulator pada
board. Board dapat disuplai dengan salah satu suplai dari DC power jack (7-
12V), USB connector (5V), atau pin VIN dari board (7-12). Penyuplaian
tegangan melalui pin 5V atau 3,3V membypass regulator, dan dapat
membahayakan board. Hal itu tidak dianjurkan.
3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus
maksimum yang dapat dilalui adalah 50 mA.
GND. Pin ground.
2.2.2 Memori
ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan untuk
bootloader). ATmega 328 juga mempunyai 2 KB SRAM dan 1 KB EEPROM
(yang dapat dibaca dan ditulis (RW/read and written) dengan EEPROM library).
7
UNIVERSITAS SUMATERA UTARA
LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika
pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5,
setiapnya memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda).
Secara default, 6 input analog tersebut mengukur dari ground sampai tegangan 5
Volt, dengan itu mungkin untuk mengganti batas atas dari rangenya dengan
menggunakan pin AREF dan fungsi analogReference(). Di sisi lain, beberapa pin
mempunyai fungsi spesial:
TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI
dengan menggunakan Wire library
Ada sepasang pin lainnya pada board:
AREF. Referensi tegangan untuk input analog. Digunakan dengan
analogReference().
Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara
khusus, digunakan untuk menambahkan sebuah tombol reset untuk melindungi
yang memblock sesuatu pada board.
2.2.4 Komunikasi
Arduino UNO mempunyai sejumlah fasilitas untuk komunikasi dengan
sebuah komputer, Arduino lainnya atau mikrokontroler lainnya. Atmega 328
menyediakan serial komunikasi UART TTL (5V), yang tersedia pada pin digital 0
(RX) dan 1 (TX). Sebuah Atmega 16U2 pada channel board serial komunikasinya
melalui USB dan muncul sebagai sebuah port virtual ke software pada komputer.
Firmware 16U2 menggunakan driver USB COM standar, dan tidak ada driver
eksternal yang dibutuhkan. Bagaimanapun, pada Windows, sebuah file inf pasti
dibutuhkan. Software Arduino mencakup sebuah serial monitor yang
memungkinkan data tekstual terkirim ke dan dari board Arduino. LED RX dan
TX pada board akan menyala ketika data sedang ditransmit melalui chip USB-to-
serial dan koneksi USB pada komputer (tapi tidak untuk komunikasi serial pada
pin 0 dan 1). Sebuah Software Serial library memungkinkan untuk komunikasi
serial pada beberapa pin digital UNO. Atmega328 juga mensupport komunikasi
I2C (TWI) dan SPI.
8
UNIVERSITAS SUMATERA UTARA
2.2.5 Programming
Arduino UNO dapat diprogram dengan software Arduino (download).
Pilih “Arduino Uno dari menu Tools > Board(termasuk mikrokontroler pada
board). ATmega328 pada Arduino Uno hadir dengan sebuah bootloader yang
memungkinkan untuk mengupload kode baru ke ATmega328 tanpa menggunakan
pemrogram hardware eksternal. ATmega328 berkomunikasi menggunakan
protokol STK500 asli (referensi, file C header).
Dapat membypass bootloader dan program mikrokontroler melalui
kepala/header ICSP (In-Circuit Serial Programming. Sumber kode firmware
ATmega16U2 (atau 8U2 pada board revisi 1 dan revisi 2) tersedia.
ATmega16U2/8U2 diload dengan sebuah bootloader DFU, yang dapat diaktifkan
dengan:
Pada board Revisi 1: Dengan menghubungkan jumper solder pada belakang
board (dekat peta Italy) dan kemudian mereset 8U2
Pada board Revisi 2 atau setelahnya: Ada sebuah resistor yang menarik garis
HWB 8U2/16U2 ke ground, dengan itu dapat lebih mudah untuk meletakkan
ke dalam mode DFU. Dapat menggunakan software Atmel’s FLIP (Windows)
atau pemrogram DFU (Mac OS X dan Linux) untuk meload sebuah firmware
baru. Atau dapat menggunakan header ISP dengan sebuah pemrogram
eksternal (mengoverwrite bootloader DFU).
2.2.6 Bahasa Pemrograman Arduino
Seperti yang telah dijelaskan diatas program Arduino sendiri
menggunakan bahasa C. walaupun banyak sekali terdapat bahasa pemrograman
tingkat tinggi (high level language) seperti pascal, basic, cobol, dan lainnya.
Walaupun demikian, sebagian besar dari para programer profesional masih tetap
memilih bahasa C sebagai bahasa yang lebih unggul, berikut alasan-alasannya:
Bahasa C merupakan bahasa yang powerful dan fleksibel yang telah terbukti
dapat menyelesaikan program-program besar seperti pembuatan sistem operasi,
pengolah gambar (seperti pembuatan game) dan juga pembuatan kompilator
bahasa pemrograman baru.
Bahasa C merupakan bahasa yang portabel sehingga dapat dijalankan di
beberapa sistem operasiyang berbeda. Sebagai contoh program yang ditulis
9
UNIVERSITAS SUMATERA UTARA
dalam sistem operasi windows dapat dikompilasi didalam sistem operasi linux
dengan sedikit ataupun tanpa perubahan sama sekali.
Bahasa C merupakan bahasa yang sangat populer dan banyak digunakan oleh
programer berpengalaman sehingga kemungkinan besar library pemrograman
telah banyak disediakan oelh pihak luar/lain dan dapat diperoleh dengan
mudah.
Bahasa C merupakan bahasa yang bersifat modular, yaitu tersusun atas rutin-
rutin tertentu yang dinamakan dengan fungsi (function) dan fungsi-fungsi
tersebut dapat digunakan kembali untuk pembuatan program-program lainnya
tanpa harus menulis ulang implementasinya.
Bahasa C merupakan bahasa tingkat menengah (middle level language)
sehingga mudah untuk melakukan interface (pembuatan program antar muka)
ke perangkat keras.
Struktur penulisan program dalam bahasa C harus memiliki fungsi utama, yang
bernama main(). Fungsi inilah yang akan dipanggil pertama kali pada saat
proses eksekusi program. Artinya apabila kita mempunyai fungsi lainselain
fungsi utama, maka fungsi lain tersebut baru akan dipanggil pada saat
digunakan. Oleh karena itu bahasa C merupakan bahasa prosedural yang
menerapakan konsep runtutan (program dieksekusi per baris dari atas ke bawah
secara berurutan), maka apabila kita menuliskan fungsi-fungsi lain tersebut
dibawah fungsi utama, maka kita harus menuliskan bagian prototipe
(prototype), hal ini dimaksudkan untuk mengenalkan terlebih dahulu kepada
kompiler daftar fungsi yang akan digunakan di dalam program. Namun apabila
menuliskan fungsi-fungsi lain tersebut diatas atau sebelum fungsi utama, maka
tidak perlu lagi untuk menuliskan bagian prototipe diatas.
2.2.7 Reset Otomatis (Software)
Dari pada mengharuskan sebuah penekanan fisik dari tombol reset
sebelum sebuah penguploadan, Arduino Uno didesain pada sebuah cara yang
memungkinkannya untuk direset dengan software yang sedang berjalan pada pada
komputer yang sedang terhubung. Salah satu garis kontrol aliran hardware (DTR)
dari ATmega8U2/16U2 dihubungkan ke garis reset dari ATmega328 melalui
sebuah kapasitor 100 nanofarad. Ketika saluran ini dipaksakan (diambil rendah),
10
UNIVERSITAS SUMATERA UTARA
garis reset jatuh cukup panjang untuk mereset chip. Software Arduino
menggunakan kemampuan ini untuk memungkinkan mengupload kode dengan
mudah menekan tombol upload di software Arduino. Ini berarti bahwa bootloader
dapat mempunyai sebuah batas waktu yang lebih singkat, sebagai penurunan dari
DTR yang dapat menjadi koordinasi yang baik dengan memulai penguploadan.
Pengaturan ini mempunyai implikasi. Ketika Arduino Uno dihubungkan
ke sebuah komputer lain yang sedang running menggunakan OS Mac X atau
Linux, Arduino Uno mereset setiap kali sebuah koneksi dibuat dari software
(melalui USB). Untuk berikutnya, setengah-detik atau lebih, bootloader sedang
berjalan pada Arduino UNO.
Ketika Arduino UNO diprogram untuk mengabaikan data yang cacat/salah
(contohnya apa saja selain sebuah penguploadan kode baru) untuk menahan
beberapa bit pertama dari data yang dikirim ke board setelah sebuah koneksi
dibuka. Jika sebuah sketch sedang berjalan pada board menerima satu kali
konfigurasi atau data lain ketika sketch pertama mulai, memastikan bahwa
software yang berkomunikasi menunggu satu detik setelah membuka koneksi dan
sebelum mengirim data ini.
Arduino Uno berisikan sebuah jejak yang dapat dihapus untuk mencegah
reset otomatis. Pad pada salah satu sisi dari jejak dapat disolder bersama untuk
mengaktifkan kembali. Pad itu diberi label “RESET-RN” dapat menonaktifkan
reset otomatis dengan menghubungkan sebuah resistor 110 ohm dari tegangan 5V
ke garis reset.
2.2.8 Proteksi Arus lebih USB
Arduino UNO mempunyai sebuah sebuah sekring reset yang memproteksi
port USB komputer dari hubungan pendek dan arus lebih. Walaupun sebagian
besar komputer menyediakan proteksi internal sendiri, sekring menyediakan
sebuah proteksi tambahan. Jika lebih dari 500 mA diterima port USB, sekring
secara otomatis akan memutuskan koneksi sampai hubungan pendek atau
kelebihan beban hilang.
2.2.9 Karakteristik Fisik
Panjang dan lebar maksimum dari PCB Arduino UNO masing-masingnya
adalah 2.7 dan 2.1 inci, dengan konektor USB dan power jack yang memperluas
11
UNIVERSITAS SUMATERA UTARA
dimensinya. Empat lubang sekrup memungkinkan board untuk dipasangkan ke
sebuah permukaan atau kotak. Sebagai catatan, bahwa jarak antara pin digital 7
dan 8 adalah 160 mil. (0.16"), bukan sebuah kelipatan genap dari jarak 100 mil
dari pin lainnya.
2.3 Sensor
Sensor pada dasarnya dapat dipandang sebagai sebuah perangkat atau
device yang berfungsi mengubah suatu besaran fisik menjadi besaran listrik,
sehingga keluarannya dapat diolah dengan rangkaian listrik atau sistem digital.
Berdasarkan variabel yang diindranya, sensor dikatagorikan ke dalam dua jenis:
sensor fisika dan sensor kimia. Sensor Fisika merupakan jenis sensor yang
mendeteksi suatu besaran berdasarkan hukum – hukum fisika, yaitu seperti sensor
cahaya, suara, gaya, kecepatan, percepatan, maupun sensor suhu. Sedangkan jenis
sensor kimia merupakan sensor yang mendeteksi jumlah suatu zat kimia dengan
jalan mengubah besaran kimia menjadi besaran listrik dimana didalamnya
dilibatkan beberapa reaksi kimia, seperti misalnya pada sensor pH, sensor
oksigen, sensor ledakan, dan sensor gas.
2.3.1 Sensor BH1750
GY-302 Digital Light Intensity Sensor Module adalah sebuah modul sensor
cahaya berbasis IC BH1750. BH1750 adalah sebuah IC sensor cahaya dengan
antarmuka IC. Modul ini memberikan nilai output digital melalui IC bus, sehingga
Anda tidak perlu lagi menambahkan konverter ADC.
12
UNIVERSITAS SUMATERA UTARA
Spesifikasi :
- Catu Daya : 4.5 V
- Resolusi : 0 - 65535 lux
- Antarmuka : IC
- Jenis Output : Digital
- Chip Sensor : BH1750FVI
- Dimensi : 13.9 x 18.5 mm
Modul sensor intensitas cahaya BH1750 adalah sensor cahaya digital yang
memiliki keluaran sinyal digital, sehingga tidak memerlukan perhitungan yang
rumit. Sensor BH1750 ini lebih akurat dan lebih mudah digunakan jika
dibandingkan dengan sensor lain seperi foto diode dan LDR yang memiliki
keluaran sinyal analog dan perlu melakukan perhitungan untuk mendapatkan data
intensitas. Sensor cahaya digital BH1750 ini dapat melakukan pengukuran dengan
keluaran lux (lx) tanpa perlu melakukan perhitungan terlebih dahulu .
13
UNIVERSITAS SUMATERA UTARA
Terdapat karakter generator terprogram.
Dapat dialamati dengan mode 4-bit dan 8-bit.
Dilengkapi dengan back light.
2.4.1 Konfigurasi LCD 2 x 16
14
UNIVERSITAS SUMATERA UTARA
kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan
data ke jalur data bus.
Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan
dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk
kontrol, 8 pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7-
bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih
apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD.
Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat
dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim
ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.
15
UNIVERSITAS SUMATERA UTARA
Ada dua jenis motor servo, yaitu motor servo AC dan DC. Motor servo AC lebih
dapat menangani arus yang tinggi atau beban berat, sehingga sering diaplikasikan
pada mesin-mesin industri. Sedangkan motor servo DC biasanya lebih cocok
untuk digunakan pada aplikasi-aplikasi yang lebih kecil. Dan bila dibedakan
menurut rotasinya, umumnya terdapat dua jenis motor servo yang dan terdapat di
pasaran, yaitu motor servo rotation 180⁰ dan servo rotation continuous. Motor
servo standard (servo rotation 180⁰) adalah jenis yang paling umum dari motor
servo, dimana putaran poros outputnya terbatas hanya 90⁰ kearah kanan dan 90⁰
kearah kiri. Dengan kata lain total putarannya hanya setengah lingkaran atau 180⁰.
Motor servo rotation continuous merupakan jenis motor servo yang
sebenarnya sama dengan jenis servo standard, hanya saja perputaran porosnya
tanpa batasan atau dengan kata lain dapat berputar terus, baik ke arah kanan
maupun kiri.
16
UNIVERSITAS SUMATERA UTARA
servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan berputar
ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila
pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo akan
berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam). Lebih jelasnya
perhatikan gambar dibawah ini.
Ketika lebar pulsa kendali telah diberikan, maka poros motor servo akan bergerak
atau berputar ke posisi yang telah diperintahkan, dan berhenti pada posisi tersebut
dan akan tetap bertahan pada posisi tersebut. Jika ada kekuatan eksternal yang
mencoba memutar atau mengubah posisi tersebut, maka motor servo akan
mencoba menahan atau melawan dengan besarnya kekuatan torsi yang
dimilikinya (rating torsi servo). Namun motor servo tidak akan mempertahankan
posisinya untuk selamanya, sinyal lebar pulsa kendali harus diulang setiap 20 ms
(mili detik) untuk menginstruksikan agar posisi poros motor servo tetap bertahan
pada posisinya.
17
UNIVERSITAS SUMATERA UTARA
merupakan sebuah IC tipe H-bridge yang mampu mengendalikan beban-beban
induktif seperti relay, solenoid, motor DC dan motor stepper.
Pada IC L298 terdiri dari transistor-transistor logik (TTL) dengan gerbang
nand yang berfungsi untuk memudahkan dalam menentukan arah putaran suatu
motor dc maupun motor stepper. Untuk dipasaran sudah terdapat modul driver
motor menggunakan ic l298 ini, sehingga lebih praktis dalam penggunaannya
karena pin I/O nya sudah terpackage dengan rapi dan mudah digunakan.Kelebihan
akan modul driver motor L298N ini yaitu dalam hal kepresisian dalam
mengontrol motor sehingga motor lebih mudah untuk dikontrol.
18
UNIVERSITAS SUMATERA UTARA
Tiga buah cincin warna dipergunakan untuk mengindikasikan nilai
tahanan sebuah resistor. Cincin-cincin ini ditempatkan saling berdekatan disalah
satu ujung badan resistor. Warna tiap-tiap cincin merepresentasikan sebuah
bilangan. Membaca kode warna dari ujung resistor terdekat, warna-warna tersebut
memiliki arti:
Cincin pertama adalah digit pertama dari nilai tahanan. Cincin kedua
merupakan digit kedua dari nilai tahanan. Dan cincin ketiga merupakan faktor
pengali (sebuah nilai pemangkatan bilangan 10, atau banyaknya angka nol
dibelakang kedua digit pertama).
Spesifikasi-spesifikasi untuk suatu resistor umumnya meliputi nilai
resistansi (dinyatakan dalam ohm (Ω), kilohm (kΩ) atau megaohm (MΩ)), nilai
ketepatan atau tolerasnsi (dinyatakan sebagai penyimpangan maksimum yang
diizinkan dari nilai yang tertera), dan rating daya (yang harus sama dengan atau
lebih besar daripada disipasi daya maksimumnya). Nilai yang tertera pada susatu
resistor bukanlah resistansi eksaknya. Penyimpangan-penyimpangan kecil dalam
nilai resistansi pasti selalu terjadi akibat adanya toleransi produksi. Resistor
tersedia dalam beberapa seri yang nilai-nilainya merupakan kelipatan sepuluh,
dimana jumlah nilai yang diberikan setiap seri ditentukan oleh toleransinya.
Untuk mencakup kisaran nilai resistansi yang sepenuhnya menggunakana resistor
yang bertoleransi ± 20%, harus menyediakan enam nilai dasar.
Rating daya resistor berkaitan dengan suhu operasi dan resistor akan
mengalami penurunan rating pada suhu yang tinggi. Jika keandalan merupakan
hal yang penting, resistor harus dioperasikan jauh dibawah nilai normal disipasi
daya maksimumnya.
Resistor karbon dan resistor oksida logam umumnya ditera dengan kode-
kode warna yang menunjukkan nilai dan toleransinya. Ada dua metode
pengkodean warna yang umumnya digunakan. Yang satu adalah dengan
menggunakan empat cincin warna dan yang lain menggunakan lima cincin warna.
19
UNIVERSITAS SUMATERA UTARA
2.8 Pin Header Jantan
Straight Male Pin Header 40p/ pin header jantan 40-pin dengan pin lurus 180°
berjarak antar pin / pin spacing/ pin pitch0,1 inch (0.1" = 2.54mm, jarak tipikal
yang paling umum digunakan).
2.9 Adaptor
Adaptor merupakan alat atau jembatan untuk menyambungkan sumber
tegangan DC. Tegangan DC ini dibutuhkan oleh berbagai macam rangkaian
elektronik untuk dapat dioperasikan. Seperti halnya adaptor/ power supply yang
digunakan pada hiasan lampu akrilik. Rangkaian inti dari adaptor/ power supply
adalah suatu rangkaian penyearah yaitu rangkaian yang mengubah sinyal bolak-
balik (AC) menjadi sinyal searah (DC). Proses pengubahan dimulai dari penye-
arah oleh diode, penghalusan tegangan kerut (Ripple Viltage Filter) dengan
menggunakan condensator dan pengaturan (regulasi) oleh rangkaian regulator.
Pengaturan meliputi pengubahan tingkat tegangan atau arus. Pada teknik regulasi
pada pembuatan adaptor, kita mengenal teknik regulasi daya linier dan teknik
regulasi switching. Sistem rangkaian penyearah ada 4 fungsi dasar yaitu:
Tranformasi (travo) tegangan yang diperlukan untuk menurunkan tegangan
yang diinginkan.
Rangkaian penyearah, rangkaian ini untuk mengubah tingkat tegangan arus
bolak balik ke arus searah.
Filter (Condesator), merupakan rangkaian untuk memproses fluktuasi
penyearah yang menghasilkan keluaran tegangan DC yang lebih rata.
20
UNIVERSITAS SUMATERA UTARA
Regulasi adalah parameter yang sangat penting pada adaptor dan regulator
tegangan dengan bahan bervariasi.
Pada teknologi modern saat ini adaptor/ power supply rata-rata sudah tidak
lagi menggunakan transformator step down, dimana tegangan AC diturunkan
terlebih dahulu melalui sebuah transformator step down keluaran trafo diserahkan
dengan diode dan diratakan dengan kapasitor elekronik (elco).
Adaptor/power supply umumnya menggunakan sistem switching, sinyal
AC dari tegangan jala-jala listrik 220V disearahkan lebih dahulu ketegangan DC
melalui sebuah rangkaian diode penyearah dan elco. Tegangan DC hasil
penyearah ini kemudian disaklar on-off secara terus menerus dengan frekuensi
tertentu sehingga memungkinkan nilai indikator dari trafo menjadi kecil. Hal ini
khususnya untuk memperkecil ukuran power supply.
21
UNIVERSITAS SUMATERA UTARA
BAB 3
PERANCANGAN DAN PEMBUATAN
POWER SUPPLY
LCD
BH1750
ARDUINO
DRIVER MOTOR
DC
Berdasarkan blok di atas, Arduino menerima masukan yaitu Sensor BH1750 dan
sumber tegangan dari power supply. Masukan dari sensor tersebut, apabila sensor
mendeteksi intensitas cahaya diatas 11-1000 Lux maka arduino akan
memerintahkan LCD untuk menampilkan kata “sudah pagi” serta menghidupkan
motor servo ,sehingga bergerak untuk membukakan tirai.Apabila sensor
22
UNIVERSITAS SUMATERA UTARA
mendeteksi intensitas cahaya dibawah 0 – 10 lux maka arduino akan memerintah
LCD untuk menampilkan kata “sudah malam” serta memerintah motor servo
,sehingga bergerak untuk meutup tirai.Apabila sensor mendeteksi intensitas
cahaya diatas 1000 lux maka arduino akan memerintahkan lcd untuk
menampilkan kata “ sudah siang” serta motor servo akan bergerak menutup tirai
setengah.
23
UNIVERSITAS SUMATERA UTARA
Pada alat pengontrol tirai jendela ini, sensor yang digunakan adalah sensor
BH1750. Sensor BH1750 akan memberikan perintah melalui Motor DC dan
Driver l298n apabila intensitas cahaya rendah atau tinggi.
24
UNIVERSITAS SUMATERA UTARA
Gambar 3.3 Hubungan Arduino dengan LCD
Keterangan:
Kaki RS pada LCD dihubungkan ke pin 11 pada Arduino
Kaki RW pada LCD dihubungkan ke pin GND pada Arduino
Kaki D4 pada LCD dihubungkan ke pin 5 pada Arduino
Kaki D5 pada LCD dihubungkan ke pin 4 pada Arduino
Kaki D6 pada LCD dihubungkan ke pin 3 pada Arduino
Kaki D7 pada LCD dihubungkan ke pin 2 pada Arduino
Kaki E (Enable) pada LCD dihubungkan ke pin 8 pada Arduino
Kaki A (Anoda) pada LCD dihubungkan ke pin VCC pada Arduino
Kaki K (Katoda) pada LCD dihubungkan ke pin GND pada Arduino
25
UNIVERSITAS SUMATERA UTARA
Keterangan :
Kaki 1 pada JP4 dihubungkan ke kaki SDA pada Arduino
Kaki 2 pada JP4 dihubungkan ke kaki SCL pada Arduino
Kaki 1 pada JP3 dihubungkan ke kaki input IC 7805
Kaki 2 pada JP3 dihubungkan ke kaki GND pada Arduino
Kaki 3 pada JP3 dihubungkan ke kaki VCC pada Arduino
Kaki 1 pada JP2 dihubungkan ke kaki 2 Motor DC
Kaki 2 pada JP2 dihubungkan ke kaki 1 Motor DC
26
UNIVERSITAS SUMATERA UTARA
3.1.7 Flowchart Sistem Pengontrol Tirai jendela Menggunakan Sensor
BH1750 Berbasis Arduino Uno
Mulai
Inisialisasi port
Membaca nilai
sensor
Intensitas 0 -
Motor Servo bergerak
10lux
menutup tirai
Intensitas
Motor Servo bergerak
11–1000 lux
membuka tirai penuh
Selesai
27
UNIVERSITAS SUMATERA UTARA
Alat pengontrol tirai jendela akan aktif apabila diberi supply tegangan dari IC
regulator 7805. Kemudian alat akan menginisialisasi port yang ada pada Arduino
(mengidentifikasi atau mengenali port-port Arduino yang terhubung dengan
komponen-komponen yang ada pada rangkaian). Sensor BH1750 akan
mendeteksi intensitas cahaya. Masukan dari sensor tersebut, apabila sensor
mendeteksi intensitas cahaya diatas 11-1000 Lux maka arduino akan
memerintahkan LCD untuk menampilkan kata “sudah pagi” serta menghidupkan
motor servo ,sehingga bergerak untuk membukakan tirai.Apabila sensor
mendeteksi intensitas cahaya dibawah 0 – 10 lux maka arduino akan memerintah
LCD untuk menampilkan kata “sudah malam” serta memerintah motor servo
,sehingga bergerak untuk meutup tirai.Apabila sensor mendeteksi intensitas
cahaya diatas 1000 lux maka arduino akan memerintahkan lcd untuk
menampilkan kata “ sudah siang” serta motor servo akan bergerak menutup tirai
setengah.
28
UNIVERSITAS SUMATERA UTARA
BAB 4
29
UNIVERSITAS SUMATERA UTARA
4.3 Pengujian Rangkaian Sensor BH1750
1 Pengujian sensor BH1750 dilakukan dengan cara : Alat pengontrol tirai
jendela akan aktif apabila diberi supply tegangan dari IC regulator 7805.
Kemudian alat akan menginisialisasi port yang ada pada Arduino
(mengidentifikasi atau mengenali port-port Arduino yang terhubung dengan
komponen-komponen yang ada pada rangkaian). Sensor BH1750 akan
mendeteksi intensitas cahaya. Apabila sensor mendeteksi intensitas cahaya
diatas 11-1000 Lux maka arduino akan memerintahkan LCD untuk
menampilkan kata “sudah pagi” serta menghidupkan motor servo ,sehingga
bergerak untuk membukakan tirai.Apabila sensor mendeteksi intensitas
cahaya dibawah 0 – 10 lux maka arduino akan memerintah LCD untuk
menampilkan kata “sudah malam” serta memerintah motor servo ,sehingga
bergerak untuk meutup tirai.Apabila sensor mendeteksi intensitas cahaya
diatas 1000 lux maka arduino akan memerintahkan lcd untuk menampilkan
kata “ sudah siang” serta motor servo akan bergerak menutup tirai setengah.
#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 7, 6, 5, 4);
#include <Wire.h>
#include <BH1750.h>
#include <Servo.h>
Servo myservo;
BH1750 lightMeter(0x23);
void setup(){
Serial.begin(9600);
30
UNIVERSITAS SUMATERA UTARA
Wire.begin();
lightMeter.begin(BH1750_CONTINUOUS_HIGH_RES_MODE);
Serial.println(F("BH1750 Test"));
myservo.attach(9);
}
void loop() {
lcd.begin(16, 2);
31
UNIVERSITAS SUMATERA UTARA
myservo.write(90);
delay(1000);
lcd.setCursor(0, 1);
lcd.print("Sudah Siang");}
delay(1000);
}
Adapun penjelasan lengkap program dapat dilihat pada tabel berikut:
PROGRAM KETERANGAN
adalah 0x23
sekali
32
UNIVERSITAS SUMATERA UTARA
myservo.attach(9); memulaim servo pada 9 derajat
lcd.begin(16, 2);
lightMeter.readLightLevel();
baris 0
baris 0
derajat
baris 1
33
UNIVERSITAS SUMATERA UTARA
else if(lux>=1001){ jika kondisi lux lebih besar dari 1000
derajat
baris 1
siang”
34
UNIVERSITAS SUMATERA UTARA
Gambar 4.3 Tampilan saat proses compile dan upload
Gambar 4.4 Tampilan saat proses compile dan upload telah selesai
35
UNIVERSITAS SUMATERA UTARA
4.4 Data dan Pengujian sensor BH1750
36
UNIVERSITAS SUMATERA UTARA
4.5 Grafik Hasil Perbandingan pengujian Intensitas cahaya menggunakan
Sensor BH1750 dan AVO LM 4 Sebagai Pengontrol Tirai jendela
2500
y = 1.0269x - 1.5852
2000
R² = 1
1500
Series1
1000
Linear (Series1)
500
0
0 500 1000 1500 2000 2500
-500
Keterangan :
X = pengukuran intensitas cahaya dengan sensor BH1750
Y = pengukuran intensitas cahaya dengan Lux Meter ( AVO LM4 )
37
UNIVERSITAS SUMATERA UTARA
data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka
program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi
umum pin RW selalu diberi logika low (0).
Berdasarkan keterangan di atas maka kita sudah dapat membuat progam
untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke
mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai
berikut:
#include <LiquidCrystal.h>
void setup() {
lcd.begin(16, 2);
lcd.print("hello, world!");
void loop() {
lcd.setCursor(0, 1);
lcd.print(millis() / 1000);
38
UNIVERSITAS SUMATERA UTARA
4.7 Gambar Pengujian Alat
Gambar 4.5 Pengujian alat pada saat pagi hari dengan intensitas 90 lux ( tirai
jendela dalam keadaan terbuka )
Gambar 4.6 Pengujian alat pada saat siang hari dengan intensitas 24138 lux ( tirai
jendela ½ terbuka )
39
UNIVERSITAS SUMATERA UTARA
Gambar 4.7 Pengujian alat pada saat malam hari dengan intensitas 0 lux ( tirai
jendela dalam keadaan tertutup)
40
UNIVERSITAS SUMATERA UTARA
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari perancangan dan pengujian alat pengontrol tirai jendela
menggunakan sensor BH1750 berbasis arduino uno dapat diambil beberapa
kesimpulan sebagai berikut:
2 Prinsip kerja dari alat pengontrol tirai jendela ini adalah sensor BH1750
bekerja secara otomatis mendeteksi intensitas cahaya. Apabila sensor
mendeteksi intensitas cahaya diatas 11-1000 Lux maka arduino akan
memerintahkan LCD untuk menampilkan kata “sudah pagi” serta
menghidupkan motor servo ,sehingga bergerak untuk membukakan
tirai.Apabila sensor mendeteksi intensitas cahaya dibawah 0 – 10 lux maka
arduino akan memerintah LCD untuk menampilkan kata “sudah malam”
serta memerintah motor servo ,sehingga bergerak untuk meutup tirai.Apabila
sensor mendeteksi intensitas cahaya diatas 1000 lux maka arduino akan
memerintahkan lcd untuk menampilkan kata “ sudah siang” serta motor
servo akan bergerak menutup tirai setengah.
41
UNIVERSITAS SUMATERA UTARA
4 Setelah dilakukan pengujian alat pengontrol tirai jendela menggunakan
sensor BH1750 berbasis Arduino uno maka alat tersebut bekerja dengan baik
(berhasil) dalam membuka dan menutup tirai jendela sesuai dengan
perancangan yang telah dibuat.
5.2 Saran
Dari hasil Proyek ini masih terdapat beberapa kekurangan dan
dimungkinkan untuk pengembangan lebih lanjut. Oleh karenanya penulis merasa
perlu untuk memberi saran sebagai berikut:
1. Penggunaan sensor BH1750 yang lebih peka akan mempercepat proses
pendeteksi intensitas cahaya.
2. Diharapkan untuk pembuatan alat pengontrol tirai jendela selanjutnya
lebih memunculkan ide ide baru dan menggunakan peralatan yang lebih
canggih lagi.
3. Bentuk desain alat yang lebih simpel lagi agar lebih efisien
42
UNIVERSITAS SUMATERA UTARA
DAFTAR PUSTAKA
http://belajar-dasar-pemrograman.blogspot.co.id/2013/03/arduino-uno.html
http://buaya-instrument.com/modul-sensor-cahaya-arduino-gy-302-bh1750-
1001000006.html
http://cahaya14design.wordpress.com/2014/05/07/pengertian-fungsi-adaptor/
http://www.habibullahurl.com/2017/04/pengertian-cahaya-dan-sifat-sifat-
cahaya.html
https://id.wikipedia.org/wiki/Intensitas_cahaya
https://id.wikipedia.org/wiki/Tirai
http://www.ilmudasar.com/2017/10/Pengertian-Sifat-Sumber-dan-Intensitas-
Cahaya-adalah.html
https://www.nyebarilmu.com/tutorial-arduino-mengakses-driver-motor-l298n/
43
UNIVERSITAS SUMATERA UTARA
https://teknikelektronika.com/pengertian-motor-dc-prinsip-kerja-dc-motor/
http://www.vcc2gnd.com/sku/PHM40LX6
44
UNIVERSITAS SUMATERA UTARA