PENGONTROL TIRAI JENDELA MENGGUNAKAN SENSOR BH1750 BERBASIS ARDUINO UNO
TUGAS AKHIR
ESTIRIANA LIMBONG 152408003
PROGRAM STUDI D-3 FISIKA DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2018
PENGONTROL TIRAI JENDELA MENGGUNAKAN SENSOR BH1750 BERBASIS ARDUINO UNO
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
ESTIRIANA LIMBONG 152408003
PROGRAM STUDI D-3 FISIKA DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2018
PERNYATAAN
PENGONTROL TIRAI JENDELA MENGGUNAKAN SENSOR BH1750 BERBASIS ARDUINO UNO
LAPORAN TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil karya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 23 Juli 2018
Estiriana Limbong 152408003
PENGONTROL TIRAI JENDELA MENGGUNAKAN SENSOR BH1750 BERBASIS ARDUINO UNO
ABSTRAK
Pesatnya perkembangan teknologi sekarang ini memberikan perubahan yang sangat nyata dalam kehidupan manusia.Sangat banyak peralatan yang dibuat dan tujuannya untuk mempermudah pekerjaan manusia.Dengan adanya kemajuan di bidang ilmu pengetahuan dan teknologi menghasilkan inovasi baru yang berkembang menuju lebih baik.Sistem kontrol secara otomatis di bidang ilmu pengetahuan dan teknologi belakangan ini juga berkembang pesat.Hal ini dapat dilihat dari jangkauan aplikasinya mulai dari rumah tangga hingga peralatan yang canggih. Pengontrol tirai jendela menggunakan sensor BH1750 berbasis arduino uno dengan parameter intensitas cahaya merupakan gagasan yang timbul untuk memenuhi kebutuhan sistem otomatisasi pada rumah. Membuka dan menutup tirai jendela adalah salah satu kegiatan yang sering dilakukan dalam kehidupan rumah tangga, dan biasa kita sering lupa menutup tirai jendela pada malam hari dan disaat kita bepergian kita menjadi kewalahan dalam menutup tirai jendela.Untuk mengatasi masalah tersebut, maka perlu adanya pengontrol tirai jendela yang bekerja pada saat pagi hari dan menjelang malam hari. Secara sederhana ketika pagi hari tirai jendela akan terbuka secara otomatis dan meloloskan sinar matahari untuk masuk ke dalam ruangan sebagai sumber pencahayaan secara otomatis.Saat malam hari, tirai jendela akan menutup secara otomatis agar suasana di dalam rumah tidak dapat dilihat dari luar jendela.
Kata kunci : Arduino Uno, BH1750, Intensitas Cahaya, Tirai Jendela
WINDOW CURTAIN CONTROLLER USING ARDUINO UNO BH1750 SENSOR
ABSTRACT
The rapid development of technology today provides a very real change in human life.Very much equipment is made and its purpose to facilitate human work.With the advancement in the field of science and technology produce new innovations that develop to better.Automated control systems in the field of science and technology lately is also growing rapidly.This can be seen from the range of applications ranging from household to sophisticated equipment.The window curtain controller using arduino uno based BH1750 sensors with light intensity parameters is an idea that arises to meet the needs of home automation systems.Opening and closing the window blinds is one of the most common activities in household life, and we often forget to close the window blinds at night and when we travel we become overwhelmed in closing the window blinds.To overcome these problems, it is necessary to control window blinds that work in the morning and late at night.Simply when the morning the window curtain will open automatically and pass sunlight to enter the room as a source of lighting automatically.At night, the window curtain will close automatically so that the atmosphere inside the house can not be seen from outside the window.
Keywords : Arduino Uno, BH1750, Light intensity,Window curtain
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
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
BAB 2 TINJAUAN PUSTAKA 3
2.1 Tirai Jendela 3
2.1.1 Cahaya 3
2.1.2 Intensitas Cahaya 4
2.2 Mikrokontroller Arduino Uno 4 - 5
2.2.1 Daya (Power) 6
2.2.2 Memori 7
2.2.3 Input dan Output 7
2.2.4 Komunikasi 8
2.2.5 Programming 9
2.2.6 Bahasa Pemrograman Arduino 10
2.2.7 Reset Otomatis (Software) 11
2.2.8 Proteksi Arus Lebih USB 12
2.2.9 Karakteristik Fisik 12
2.3 Sensor 12
2.3.1 Sensor BH1750 12
2.4 Liquid Crystal Display (LCD) 13
2.4.1 Konfigurasi LCD 2 x 16 14
2.4.2 Prinsip Kerja LCD 15
2.5 Motor Servo 16 - 17
2.6 Driver L298n 18
2.7 Resistor 19
2.8 Pin Header Jantan 20
2.9 Adaptor 21
BAB 3 PERANCANGAN DAN PEMBUATAN 22
3.1 Perancangan Sistem 22
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
BAB 4 HASIL DAN PEMBAHASAN 29
4.1 Pengujian Rangkaian Sumber Daya 29
4.2 Pengujian Rangkaian Mikrokontroler Arduino Uno 30
4.3 Pengujian Rangkaian Sensor BH1750 36
4.4 Data dan pengujian sensor BH1750 37
4.5 Grafik 38
4.6 Pengujian Rangkaian LCD 39
4.7 Gambar Pengujian Alat 40
BAB 5 KESIMPULAN DAN SARAN 42
5.1 Kesimpulan 42
5.2 Saran 43
DAFTAR PUSTAKA 44
LAMPIRAN
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
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
DAFTAR LAMPIRAN
NOMOR LAMPIRAN JUDUL
Lampiran 1 Program pengontrol tirai jendela
Lampiran 2 Datasheet BH1750
Lampiran 3 Datasheet IC Regulator 7805
Lampiran 4 Datasheet Arduino Uno
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Di era modernisasi ini, kemajuan teknologi dapat membantu kebutuhan manusia dalam kehidupan sehari – hari.terutama di dalam bidang elektronika.Pemanfaatan sensor dapat mengkoordinasikan peralatan elektronik secara otomatis.Pemanfaatan tenologi tersebut dapat diaplikasikan pada hal – hal sederhana sekali pun. Salah satunya alat pembuka dan penutup tirai jendela secara otomatis.
Dalam kasus yang ditemukan sehari – hari , biasanya penghuni rumah akan membuka tirai agar cahaya dapat masuk ke dalam ruangan. Kemudian akan menutupnya kembali ketika menjelang malam hari. Dengan alat pembuka tirai jendela secara otomatis, si penghuni rumah tidak perlu melakukan hal tersebut.
Secara sederhana ketika pagi hari tirai jendela akan terbuka secara otomatis dan meloloskan sinar matahari untuk masuk ke dalam ruangan sebagai sumber pencahayaan secara otomatis. Pada siang hari tirai jendela akan tertutup setengah agar cahaya yang masuk ke dalam ruangan rumah tidak terlalu silau .Saat malam hari , tirai jendela akan menutup secara otomatis agar suasana di dalam rumah tidak agar suasana di dalam rumah tidak dapat dilihat dari luar jendela. Dengan alat ini diharapkan dapat meningkatkan mobilitas penghuni rumah di era modernisasi.
Berdasarkan latar belakang tersebut maka penulis membuat
“Pengontrol Tirai Jendela Menggunakan Sensor BH1750 Berbasis Arduino Uno”. Sebagai pembahasan dalam Tugas Akhir yang dibuat oleh penulis.
1.2 Rumusan Masalah
Dari uraian latar belakang masalah diatas ,dapat diidentifikasikan beberapa masalah, yaitu :
1. Pengontrol atau pengendali tirai dibutuhkan cahaya terang dan gelap . Selain itu, pengendali ini terdiri dari berbagai komponen sehingga mendapatkan hasil yang maksimal dalam pembuatannya.
2. Bagaimana kemampuan motor DC dalam menggerakkan tirai jendela ?
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.
1.4 Tujuan Proyek
Adapun tujuan dari penulisan Tugas Proyek ini adalah :
1. Sebagai salah satu syarat untuk menyelesaikan Program D-3 Fisika FMIPA Universitas Sumatera Utara.
2. Sebagai pengembangan lebih lanjut dari Arduino Uno dalam bidang alat pengontrol dengan menggunakan sensor BH1750
3. Untuk mengetahui kinerja (keberhasilan) pengontrol tirai jendela menggunakan sensor BH1750 berbasis Arduino Uno.
1.5 Manfaat Proyek
Adapun manfaat dari penelitian ini adalah :
1. Untuk mengetahui prinsip kerja sensor BH 1750
2. Untuk mengetahui intensitas cahaya yang masuk ke dalam ruangan rumah 3. Untuk mengetahui kinerja pengontrol tirai jendela menggunakan sensor
BH 1750 berbasis arduino uno.
BAB 2
TINJAUAN PUSTAKA
2.1 Tirai Jendela
Tirai atau gorden merupakan potongan kain atau tekstil yang digunakan untuk menghalangi cahaya. Tirai sering digantung di bagian dalam jendela suatu bangunan untuk menghalangi masuknya cahaya, sebagai contoh di waktu malam untuk membantu tidur, atau untuk mencegah cahaya keluar dari bangunan (mencegah orang di luar untuk dapat melihat bagian dalam Tirai juga memberikan pemisahan visual pada situasi lain seperti pada suatu pertunjukan panggung di mana para aktor melakukan persiapan terakhir untuk pertunjukan di balik tirai sewaktu penonton menunggu di depan tirai. Jika digunakan untuk suatu pertunjukan tertentu, biasanya tirai dibuka sewaktu pertunjukan dimulai dan ditutup sewaktu jeda pertunjukan.
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.
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.
2.1.2 Intensitas Cahaya
Intensitas Cahaya adalah besaran pokok dalam fisika yang menyatakan daya yang dipancarkan oleh suatu sumber cahaya pada arah tertentu per satuan sudut.
Satuan Internasional (SI) untuk intensitas cahaya adalah Candela (Cd). Simbol yang digunakan untuk melambangkan intensitas cahaya adalah I (huruf kapital).
Definisi baku untuk 1 Candela adalah intensitas cahaya padah arah tertentu dari sumber cahaya dengan frekuensi 540 x 1012 Hz dengan intensitas radian pada arah 1/682 watt per steradian. Alat ukur yang sering digunakan untuk mengukur intensitas cahaya antara lain adalah lightmeters, illuminance, luxmeter, dll.
2.2 Mikrokontroller Arduino Uno
Arduino adalah sebuah board mikrokontroller yang berbasis ATmega328.
Arduino memiliki 14 pin input/output yang mana 6 pin dapat digunakan sebagai output PWM, 6 analog input, crystal osilator 16 MHz, koneksi USB, jack power, kepala ICSP, dan tombol reset. Arduino mampu men-support mikrokontroller;
dapat dikoneksikan dengan komputer menggunakan kabel USB.
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
mempermudah kita dalam mempelajari dan mendalami mikrokontroller. Deskripsi Arduio UNO:
Tabel 2.1 Deskripsi Arduino 2.2.1 Daya (Power)
Arduino UNO dapat disuplai melalui koneksi USB atau dengan sebuah power suplai eksternal. Sumber daya dipilih secara otomatis. Suplai eksternal (non-USB) dapat diperoleh dari sebuah adaptor AC ke DC atau battery. Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board. Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor POWER. Board Arduino UNO dapat beroperasi pada sebuah suplai eksternal 6 sampai 20 Volt. Jika disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5 Volt dan board Arduino UNO bisa menjadi tidak stabil. Jika menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino UNO.
Range yang direkomendasikan adalah 7 sampai 12 Volt. Pin-pin dayanya adalah sebagai berikut:
VIN. Tegangan input ke Arduino board ketika board sedang menggunakan sumber suplai eksternal (seperti 5 Volt dari koneksi USB atau sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika penyuplaian tegangan melalui power jack, aksesnya melalui pin ini.
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).
2.2.3 Input dan Output
Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi- fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi- fungsi spesial:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih jelasnya.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.
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.
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
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),
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
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.
Gambar 2.2 Sensor BH175
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 .
2.4 Liquid Crystal Display (LCD)
Liquid crystal display adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator, atau pun layar komputer.
Gambar 2.3 LCD 2x16
LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat. Adapun fitur yang disajikan dalam LCD ini adalah:
Terdiri dari 16 karakter dan 2 baris.
Mempunyai 192 karakter tersimpan.
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
Tabel 2.2 Konfigurasi LCD
2.4.2 Prinsip Kerja LCD
Cara kerja LCD adalah Pada aplikasi umumnya RW diberi logika rendah
“0”. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu. Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan
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.
2.5 Motor Servo
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor. motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai penentu batas posisi putaran poros motor servo.
Penggunaan sistem kontrol loop tertutup pada motor servo berguna untuk mengontrol gerakan dan posisi akhir dari poros motor servo. Penjelasan sederhananya begini, posisi poros output akan di sensor untuk mengetahui posisi poros sudah tepat seperti yang di inginkan atau belum, dan jika belum, maka kontrol input akan mengirim sinyal kendali untuk membuat posisi poros tersebut tepat pada posisi yang diinginkan. Untuk lebih jelasnya mengenai sistem kontrol loop tertutup, perhatikan contoh sederhana beberapa aplikasi lain dari sistem kontrol loop tertutup, seperti penyetelan suhu pada AC, kulkas, setrika dan lain sebagainya.
Motor servo biasa digunakan dalam aplikasi-aplikasi di industri, selain itu juga digunakan dalam berbagai aplikasi lain seperti pada mobil mainan radio kontrol, robot, pesawat, dan lain sebagainya.
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.
Prinsip kerja motor servo
Motor servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa (Pulse Wide Modulation / PWM) melalui kabel kontrol. Lebar pulsa sinyal kontrol yang diberikan akan menentukan posisi sudut putaran dari poros motor servo. Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros motor
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.
2.6 Driver L298n
Driver motor L298N merupakan module driver motor DC yang paling banyak digunakan atau dipakai di dunia elektronika yang difungsikan untuk mengontrol kecepatan serta arah perputaran motor DC.Driver motor L298N merupakan driver motor yang paling populer digunakan untuk mengontrol kecepatan dan arah pergerakan motor terutama pada robot line foller / line tracer.Kelebihan dari driver motor L298N ini adalah cukup presisi dalam mengontrol motor. Selain itu, kelebihan driver motor L298N adalah mudah untuk dikontrol. IC L298
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.
.
Gambar 2.6 Driver L298n 2.7 Resistor
Konsep resistansi sebagai suatu yang melawan arus. Bentuk-bentuk resistor konvensional mengikuti suatu hukum garis lurus ketika tegangan diplot terhadap arus dan ini memungkinkan kita untuk menggunakan resistor sebagai suatu sarana untuk mengkonveksi arus menjadi jatuh tegangan dan sebaliknya.
Karena itu resistor merupakan sarana untuk mengkontrol arus dan tegangan yang bekerja dalam rangkaian-rangkaian elektronika. Resisor juga dapat berperan sebagai beban untuk mensimulasi keberadaan suatu rangkaian selama pengujian.
Gambar 2.7 Resistor
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.
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).
Gambar 2.8 Pin Header Jantan
Pin header(atau sering disebut secara singkat "header") merupakan opsi konektivitas yang ekonomis dan populer karena kesederhanaannya. Anda dapat memotong pin header dengan tang pemotong untuk menyesuaikan jumlah pin yang dibutuhkan (6-pin, 8-pin, dsb.)
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.
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.
BAB 3
PERANCANGAN DAN PEMBUATAN
3.1 Perancangan Sistem
Perancangan ini telah dilakukan pada bulan Februari sampai April 2018 di rumah tinggal, dan Perpustakaan Universitas Sumatera Utara.
3.1.1 Blog Diagram
Dalam perancangan alat pengontrol tirai jendela menggunakan sensor BH1750 berbasis arduino uno, mikrokontroler Arduino Uno digunakan sebagai komponen utama yang mengatur komponen lainnya seperti: Sensor BH1750. Hardware ini dirancang agar mikrokontroler Arduino dapat menerima masukan dari sensor BH1750, sehingga fungsi alat untuk mengontrol tirai jendela tercapai. Hardware pengontrol tirai jendela dirancang sesuai diagram blok yang terdapat pada gambar berikut.
Gambar 3.1 Diagram Blok Sistem
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
POWER SUPPLY
ARDUINO BH1750
LCD
DRIVER MOTOR
DC
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.
3.1.2 Penentuan Komponen Tirai Jendela
1. Satu set komputer berfungsi untuk pengelolaan data dan pemrograman 2. Solder berfungsi untuk mencairkan timah dan menyambungkan beberapa
komponen elektronik
3. Obeng berfungsi untuk memasang baut dan mur
4. Mesin potong triplek berfungsi untuk memotong triplek dan akrilik 5. Attractor berfungsi sebagai alat penyedot timah
6. Mur dan baut berfungsi sebagai peguat dalam pemasangan komponen pada papan triplek dan akrilik
7. Akrilik berfungsi sebagai pelindung komponen pada alat
8. Spacer berfungsi sebagai penyanggah antara akrilik dengan triplek 9. Papan triplek berfungsi sebagai tempat meletakkan alat
10.Arduino Uno R3 berfungsi sebagai mikrokontroler
11.Sensor BH 1750 berfungsi untuk mendeteksi intensitas cahaya 12.LCD (Liquid Crystal Display) berfungsi untuk menampilkan status
kerja alat
13.Potensiometer berfungsi sebagai pengatur tegangan
14.Resistor (330 Ω, 1k, 10k) berfungsi untuk menghambat tegangan yang masuk pada LED
15.Adaptor berfungsi sebagai supply tegangan
16.IC 7805 berfungsi sebagai menunjukkan output tegangan
17.Lux meter AVO LM4 sebagai penentuan lux pada intensitas cahaya 18.Motor Servo sebagai penggerak tirai
3.1.3 Rangkaian BH1750
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.
Gambar 3.2 Hubungan Arduino dengan Sensor BH1750 Keterangan:
Kaki SCL pada sensor BH1750 dihubungkan ke pin A5 pada Arduino
Kaki SDA pada sensor BH1750 dihubungkan ke pin A4 pada Arduino
Kaki GND pada sensor BH1750 dihubungkan ke pin GND pada Arduino
Kaki ADD pada sensor BH1750 dihubungkan ke pin GND pada Arduino
Kaki VCC pada sensor BH1750 dihubungkan ke pin VCC pada Arduino
3.1.4 Rangkaian LCD
Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena arduino dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter. Pemasangan trimpot sebesar 10 KΩ untuk mengatur kontras karakter yang tampil.
Pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI mempunyai fungsi khusus sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Arduino Uno.
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 3.1.5 Rangkaian IC Regulator 7805
Gambar 3.4 Hubungan driver L298N , IC 7805,Motor Servo dengan Arduino
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
3.1.6 Rangkaian Hubungan Keseluruhan Sistem Alat
Rangkaian keseluruhan sistem dari alat pengontrol tirai dibagi menjadi 3 bagian yaitu: power supply, bagian input (sensor) , dan bagian output. Bagian power supply merupakan adaptor. Bagian input terdiri dari 1 buah input yaitu sensor BH 1750. Bagian output terdiri dari LCD.
Gambar 3.5 Rangkaian Hubungan Keseluruhan Sistem Alat
3.1.7 Flowchart Sistem Pengontrol Tirai jendela Menggunakan Sensor BH1750 Berbasis Arduino Uno
Gambar 3.6 Flowchart Sistem Pengontrol tirai jendela Mulai
Inisialisasi port
Membaca nilai sensor
Intensitas 0 -
10lux Motor Servo bergerak
menutup tirai
Intensitas 11–1000 lux
Motor Servo bergerak membuka tirai penuh
Intensitas 1001- tak terhingga
Motor Servo bergerak menutup
tirai setengah
Selesai
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.
BAB 4
HASIL DAN PEMBAHASAN
4.1 Pengujian Rangkaian Sumber Daya
Untuk supply daya pada alat ini digunakan IC regulator 7805. IC regulator 7805 dengan k dan tegangan masukan sebesar 12 volt, tegangan keluaran 5 voltndihubungkan pada arduino. Apabila rangkaian aktif (arus mengalir pada rangkaian alat) maka IC regulator 7805 berhasil memberi masukan tegangan kedalam alat ini. Dan dalam pengujian alat ini, IC regulator 7805 yang digunakan dapat mengalirkan arus kedalam alat pengontrol tirai jendela.
4.2 Pengujian Rangkaian Mikrokontroler Arduino Uno
Pemrograman menggunakan mode ISP (In System Programming) mikrokontroler harus dapat diprogram langsung pada papan rangkaian dan rangkaian mikrokontroler harus dapat dikenali oleh program Arduino.cc.
Pada pengujian ini berhasil dilakukan dengan dikenalinya jenis mikrokontroler oleh program downloader yaitu Arduino Genuino/Uno.
Gambar 4.1. Informasi Signature Mikrokontroler Arduino Uno R3
Apabila Chip Signature sudah dikenali dengan baik dan dalam waktu singkat, bisa dikatakan rangkaian mikrokontroler Arduino Uno R3 bekerja dengan baik dengan mode ArduinoISP-nya.
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);