PENGGUNAAN LDR DAN SENSOR AIR PADA SIMULASI ALAT KONTROL ATAP OTOMATIS BERBASIS ARDUINO
UNO
LAPORAN TUGAS AKHIR
JUAN EVANS SITORUS 162408019
PROGRAM STUDI D-3 FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2019
PENGGUNAAN LDR DAN SENSOR AIR PADA SIMULASI ALAT KONTROL ATAP OTOMATIS BERBASIS ARDUINO
UNO
LAPORAN TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
JUAN EVANS SITORUS 162408019
PROGRAM STUDI D-3 FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2019
PERNYATAAN ORISINALITAS
PENGGUNAAN LDR DAN SENSOR AIR PADA SIMULASI ALAT KONTROL ATAP OTOMATIS BERBASIS ARDUINO
UNO
LAPORAN TUGAS AKHIR
Saya menyatakan bahwa laporan tugas akhir ini adalah hasil karya sendiri kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2019
JUAN EVANS SITORUS 162408019
PENGESAHAN TUGAS AKHIR
Judul : Penggunaan LDR dan Sensor Air Pada Simulasi Alat Kontrol Atap Otomatis Berbasis Arduino uno
Kategori : Laporan Tugas Akhir
Nama : Juan Evans Sitorus
Nomor Induk Mahasiswa : 162408019 Program Studi : D3 Fisika
Fakultas : Matematika Dan Ilmu Pengetahuan Alam
Universitas Sumatera Utara
Disetujui di Medan, Juli 2019
Ketua Program Studi Pembimbing,
Drs. Takdir Tamba, M.Eng.Sc Dr. Kerista Sebayang, M.S
NIP. 196006031986011002 NIP. 1958062319860110001
UNO
ABSTRAK
Mikrokontroller merupakan IC yang dapat diprogram dan diprogram ulang karena memiliki RAM dan ROM tersendiri. Mikrokontroller dapat diaplikasikan dalam bentuk”Penggunaan LDR dan Sensor Air pada Simulasi Alat Kontrol Atap Otomatis Berbasis Arduino UNO”. Simulasi sistem atap otomatis ini menggunakan sebuah sensor cahaya yaitu LDR (Light Dependent Resistance) yang dipasang untuk menentukan kondisi cahaya di luar rumah dan sensor hujan untuk menentukan keadaan hujan di luar rumah. Sedangkan kontol otomatisnya memanfaatkan Arduino dengan logika OR sehingga akan menutup saat hujan, malam, atau keduanya dan membuka ketika siang dan tidak hujan. Pengujian yang dilakukan mengetahui kemampuan alat buka tutup atap otomatis dan keandalan-nya serta menguji kombinasi kedua sensor sebagai dasar awal pergerakan alat buka tutup atap otomatis ini.
Kata Kunci:sensor hujan, sensor LDR, otomatis, motor stepper.
ARDUINO UNO
ABSTRACT
Microcontroller is an IC that can be programmed and reprogrammed because it has its own RAM and ROM. Microcontroller can be applied in the form of "Use of LDR and Water Sensors in Simulation of Arduino UNO-Based Automatic Roofing Control Devices". This automatic roof system simulation uses a light sensor that is LDR (Light Dependent Resistance) which is installed to determine the condition of the light outside the house and the rain sensor to determine the state of rain outside the home. While the automatic dick uses Arduino with logic OR so it will close when it rains, night, or both and opens when noon and no rain. Tests carried out to determine the ability of the automatic roof opening tool and its reliability as well as testing the combination of the two sensors as the basis for the initial movement of the automatic roof cover
Keywords: rain sensor, LDR sensor, automatic, stepper motor.
limpahan berkat-Nya penyusun Laporan Praktik Proyek ini dapat diselesaikan dalam waktu yang ditetapkan. Ucapan terimakasih penulis sampaikan kepada berbagai pihak yang telah banyak membantu penulis dalam penyelesaian Laporan Praktik Proyek ini yaitu kepada :
1. E. Sitorus dan R. Nainggolan Selaku kedua orangtua saya yang membantu dalam bentuk perhatian, kasih sayang dan semangat serta doa demi kelancaran tugas akhir ini
2. Bapak Dr. Kerista Sebayang, MS selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara.
3. Bapak Drs. Takdir Tamba, M.Eng. Selaku Ketua Jurusan D-3 Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara.
4. Bapak Dr. Kerista Sebayang, MS selaku Dosen Pembimbing yang telah membimbing dan mengarahkan Kepada Penulis dalam menyelesaikan Laporan Proyek ini
5. Dosen-dosen di Departemen Fisika yang telah memberikan ilmu selama dalam perkuliahan.
6. Pegawai-pegawai di Departemen Fisika yang telah memberikan petunjuk dan arahan selama dalam perkuliahan.
7. Para Sahabat dan kekasih yang telah menjadi keluarga kedua penulis selama ini
Penulis menyadari sepenuhnya bahwa dalam pembuatan Laporan Praktik Proyek ini masih jauh dari kesempurnaan, untuk itu kritik dan saran yang bersifat membangun sangat penulis harapkan dari para pembaca.
Medan, Juli 2019
JUAN EVANS SITORUS 162408019
ABSTRAK i
ABSTRACT ii
PENGHARGAAN iii
DAFTAR ISI iv
DAFTAR GAMBAR vi
DAFTAR TABEL vii
BAB I PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 RumusanMasalah 1
1.3 BatasanMasalah 2
1.4 Tujuan 2
1.5 Manfaat 2
1.6 SistematikaPenulisan 2
BAB II LANDASAN TEORI 4
2.1 Mikrokontroler Arduino 4
2.1.1 Arduino Uno 6
2.1.2 Konfigurasi Pin Arduino Uno 11
2.1.3 Komunikasi 12
2.1.4 Bahasa Pemrograman Arduino 14
2.2 Sensor Hujan YL-83 15
2.2.1 Spesifikasi Sensor Hujan Y-83 16
2.3 Sensor Cahaya (LDR) 16
2.3.1 Prinsip Kerja LDR 17
2.4 Motor Listrik DC 18
2.4.1. Prinsip Kerja Motor Listrik DC 19
2.5 LCD (Liquid Crystal Display) 20
2.5.1 Cara Kerja LCD 21
2.6 Buzer 23
2.6.1 Cara Kerja Buzer 23
2.6.2 Jenis-jenis Buzer 24
3.1 Perancangan 26
3.1.1 Diagram Blok 26
3.1.2 Flowchart Sistem 28
3.2 GambarRangkaian 29
3.2.1 Rangkaian Arduino Uno 29
3.2.2 Rangkaian Arduino dengan Motor Stepper 29 3.2.3 Rangkaian Arduino dengan Sensor Hujan 30 3.2.4 Rangkaian Arduino dengan Sensor LDR 30
3.2.4 Rangkaian Keseluruhan Sistem 30
3.3 PengujianSistem 31
3.3.1 Pengujian ArduinoUno 31
3.3.2 Pengujian Sensor Hujan 31
3.3.3 Pengujian Sensor LDR 31
3.3.4 Pengujian Seluruh Alat 32
BAB IV PENGUJIAN DAN PEMBAHASAN 33
4.1 Pengujian Sensor Hujan 33
4.2 Pengujian Sensor LDR 34
BAB V KESIMPULAN DAN SARAN 36
5.1 Kesimppulan 36
5.2 Saran 36
DAFTAR PUSTAKA 37
LAMPIRAN
1. Data Sheet Arduino Uno 2. Data Sheet Sensor LDR 3. Data Sheet Sensor Hujan 4. Data Sheet L298N 5. Data Sheet LCD 6. Program Alat
Gambar 2.2 Board Arduino Uno R3 10
Gambar 2.3 Mapping Pin Arduino Uno 10
Gambar 2.4 Sensor Hujan 15
Gambar 2.5 Sensor LDR 17
Gambar 2.6 Motor Listrik DC 19
Gambar 2.7 LCD (Liquid Crystal Display) 20
Gambar 2.8 Buzer 24
Gambar 2.9 Driver L298N 25
Gambar 3.1 Blok Diagram 26
Gambar 3.2 Flowchart Sistem 28
Gambar 3.3 Gambar Rangkaian Arduino Uno 29
Gambar 3.4 Rangkaian Arduino dengan Motor Stepper 29 Gambar 3.5 Gambar Rangkaian Arduino dengan Sensor Hujan 30 Gambar 3.6 Gambar Rangkaian Arduino dengan Sensor LDR 30
Gambar 3.6 Rangkaian Keseluruhan 30
Tabel 2.1 Spesifikasi mikrokontroller Arduino Uno 12
Tabel 2.2 Pin-pin LCD 20
Tabel 3.1 Pengujian output pin Arduino Uno 31
Tabel 3.2 Pengujian Sensor Hujan YL-83 31
Tabel 3.3 Pengujian Sensor LDR 31
Tabel 3.4 Pengujian Seluruh Sensor 32
Tabel 4.1 Pengujian Sensor Hujan 33
Tabel 4.2 Pengujian Sensor LDR 34
BAB I PENDAHULUAN
1.1 LATAR BELAKANG
Kemajuan ilmu pengetahuan dan teknologi telah mendorong manusia untuk berusaha mengatasi segala permasalahn yang timbul di sekitarnnya serta meringankan pekerjaan yang ada. Salah satu teknologi yang sedang berkembang saat ini adalah mikrokontroler. Mikrokontroler merupakan keluarga mikroprosesor yaitu sebuah chip yang dapat melakukan pemprosesan data secara digital sesuai dengan perintah bahasa assembly yang diberikan. Dengan memanfaatkan mikrokontroler ini dapat diciptakan suatu alat secerdas komputer tetapi dengan biaya yang relatife lebih murah daripada komputer. Pada umumnya orang sering disibukkan dengan pekerjaannya biasanya akan lupa dengan apa yang ada dirumahnya dan akan merasa tidak tenang saat hujan tiba-tiba saja turun karena tidak ada yang mengangkat pakaiannya yang dijemur diluar rumah. Oleh karena itu, simulasi alat kontrol atap otomatis akan sangat membantu. Dengan alat ini kita bisa meninggalkan jemuran pakaian kita tanpa takut apabila tiba-tiba hujan turun. Karena simulasi alat ini akan membuka dan menutup atap secara otomatis sesuai dengan keadaan lingkungan sekitar..Oleh karena itu, judul dari tugas akhir ini adalah“Penggunaan Ldr Dan Sensor Air Pada Simulasi Alat Kontrol Atap Otomatis Berbasis Arduino Uno.”
1.2 RUMUSAN MASALAH
Berdasarkan uraian diatas, penulis tertarik untuk mengangkat permasalahan tersebut ke dalam bentuk skripsi sebagai Tugas Proyek dengan judul
“Penggunaan Ldr Dan Sensor Air Pada Simulasi Alat Kontrol Atap Otomatis Berbasis Arduino Uno.”
1.3 BATASAN MASALAH
Mengingat keterbatasan waktu dan untuk menghindari topik yang tidak perlu maka penulis membatasi pembahasan pembuatan alat ini. Adapun permasalahan ini adalah :
1. Hasil pembacaan pengukuran ditampilkan pada LCD berukuran 16x2.
2. Terkadang komponen harus dilepas dari PCB sewaktu ingin dilakukan pengujian.
1.4 TUJUAN
1. Mengetahui dan memahami mikrokontroler arduino uno secara umum, sensor yang digunakan, serta komponen yang terdapat pada pembuatan alat.
2. Mengembangkan mikrokontroler arduino uno sebagai tempat pemrosesan data untuk mengontrol atap otomatis.
1.5 MANFAAT
Manfaat dari penulisan tugas akhir ini adalah :
1. Untuk Mengetahui cara guna sensor air pada kontrol atap otomatis.
2. Untuk meminimalisir kebanjiran yang terjadi.
3. Untuk memberi rasa nyaman ketika berada di dalam ruangan
1.6 SISTEMATIKA PENULISAN
Untuk mempermudah penulisan tugas akhir ini, penulis membuat suatu sistematika penulisan yang terdiri dari :
BAB I PENDAHULUAN
Pada bab ini berisikan mengenai latar belakang , rumusan masalah, Tujuan penulisan, batasan masalah, serta sistematika penulisan.
BAB II DASAR TEORI
Bab ini berisi tentang teori dasar yang digunakan sebagai bahan acuan proyek tugas akhir, serta komponen yang perlu diketahui untuk mempermudah dalam memahami sistem kerja alat ini.
BAB III PERANCANGAN SISTEM
Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian dan diagram alir dari program yang akan diisikan ke mikrokontroler.
BAB IV PENGUJIAN DAN ANALISA RANGKAIAN
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktifkan rangkaian, penjelasan mengenai program yang diisikan ke Arduino Uno.
BAB V KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan daripembahasan yang dilakukan dari tugas akhir ini serta saran apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.
BAB II DASAR TEORI
2.1 MIKROKONTROLER
Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi ia adalah kombinasi dari hardware, bahasa pemrograman dan Integrated Development Environment (IDE) yang canggih. IDE adalah sebuah software yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memory microcontroller. Mikrokontroler merupakan suatu IC yang di dalamnya berisi CPU, ROM, RAM, dan I/O. Dengan adanya CPU tersebut maka mikrokontroler dapat melakukan proses berfikir berdasarkan program yang telah diberikan kepadanya. Mikrokontroler banyak terdapat pada peralatan elektronik yang serba otomatis, mesin fax, dan peralatan elektronik lainnya. Mikrokontroler dapat disebut pula sebagai komputer yang berukuran kecil yang berdaya rendah sehingga sebuah baterai dapat memberikan daya. Mikrokontroler terdiri dari beberapa bagian seperti yang terlihat pada gambar di bawah ini :
Gambar 2.1 Bagian Mikrokontroler
Pada Gambar 2.1 di atas tampak suatu mikrokontroler standar yang tersusun atas komponen-komponen sebagai berikut :
A. Central Processing Unit (CPU)
CPU merupakan bagian utama dalam suatu mikrokontroler. CPU pada mikrokontroler ada yang berukuran 8 bit ada pula yang berukuran 16 bit. CPU ini akan membaca program yang tersimpan di dalam ROM dan melaksanakannya.
B. Read Only Memory (ROM)
ROM merupakan suatu memori (alat untuk mengingat) yang sifatnya hanya dibaca saja. Dengan demikian ROM tidak dapat ditulisi.Dalam dunia mikrokontroler ROM digunakan untuk menyimpan program bagi mikrokontroler tersebut. Program tersimpan dalm format biner („0‟ atau „1‟). Susunan bilangan biner tersebut bila telah terbaca oleh mikrokontroler akan memiliki arti tersendiri.
C. Random Acces Memory (RAM)
Berbeda dengan ROM, RAM adalah jenis memori selain dapat dibaca juga dapat ditulis berulang kali. Tentunya dalam pemakaian mikrokontroler ada semacam data yang bisa berubah pada saat mikrokontroler tersebut bekerja. Perubahan data tersebut tentunya juga akan tersimpan ke dalam memori. Isi pada RAM akan hilang jika catu daya listrik hilang.
D. Input / Output (I/O)
Untuk berkomunikasi dengan dunia luar, maka mikrokontroler menggunakan terminal I/O (port I/O), yang digunakan untuk masukan atau keluaran.
E. Komponen lainnya
Beberapa mikrokontroler memiliki timer/counter, ADC (Analog to Digital Converter), dan komponen lainnya. Pemilihan komponen tambahan yang sesuai dengan tugas mikrokontroler akan sangat membantu perancangan sehingga dapat mempertahankan ukuran yang kecil. Apabila komponen komponen tersebut belum ada pada suatu mikrokontroler, umumnya komponen tersebut masih dapat ditambahkan pada sistem mikrokontroler melalui port-portnya.
Saat ini Arduino sangat populer di seluruh dunia.Banyak pemula yang belajar mengenal robotika dan elektronika lewat arduino karena mudah dipelajari.Tapi tidak hanya pemula, para hobbyist atau profesional pun ikut senang mengembangkan aplikasi elektronik menggunakan arduino. Ada banyak projek dan alat-alat yang dikembangkan oleh mereka, selain itu juga ada banyak modul-modul pendukung (sensor, tampilan, penggerak dan sebagainya) yang dibuat oleh pihak lain untuk bisa
disambungkan dengan arduino. Arduino berevolusi menjadi sebuah platform karena ia menjadi pilihan dan acuan bagi banyak praktisi. Bahasa yang dipakai dalam arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan dengan bantuan (libraries) Arduino. Arduino juga menyederhanakan proses bekerja dengan mikrokontroler, sekaligus menawarkan berbagai macam kelebihan antara lain:
a. Arduino biasanya dijual relatif murah (antara 125 ribu hingga 400 ribu rupiah saja) dibandingkan dengan platform mikrokontroler pro lainnya. Harganya akan lebih murah lagi jika pengguna membuat papannya sendiri dan merangkai komponen-komponennya satu per satu.
b. SoftwareArduino dapat dijalankan pada sistem operasi Windows, Macintosh OSXdan Linux, sementara platform lain umumnya terbatas hanya pada Windows.
c. Perlu diketahui bahwa lingkungan pemrograman di Arduino mudah digunakan untuk pemula, dan cukup fleksibel bagi mereka yang sudah tingkat lanjut. Untuk guru/dosen, Arduino berbasis pada lingkungan pemrograman processing, sehingga jika mahasiswa atau murid-murid terbiasa menggunakan processingtentu saja akan mudah menggunakan Arduino.
d. Perangkat lunak Arduino IDE dipublikasikan sebagai Open Source, tersedia bagi para pemrogram berpengalaman untuk pengembangan lebih lanjut.
Bahasanya bisa dikembangkan lebih lanjut melalui pustaka-pustaka C++ yang berbasis pada Bahasa C untuk AVR.
e. Perangkat keras Arduino berbasis mikrokontroler ATMEGA8, ATMEGA168, ATMEGA328 dan ATMEGA1280 (yang terbaru ATMEGA2560).
2.1.1 ARDUINO UNO
Arduino didefinisikan sebagai sebuah platform elektronik yang open source, berbasis pada software dan hardware yang fleksibel dan mudah digunakan, yang ditujukan untuk seniman, desainer, hobbies dan setiap orang yang tertarik dalam membuat objek atau lingkungan yang interaktif.
Arduino sebagai sebuah platform komputasi fisik (Physical Computing) yang open source pada board input ouput sederhana, yang dimaksud dengan platform
komputasi fisik disini adalah sebuah sistem fisik yang interaktif dengan penggunaan software dan hardware yang dapat mendeteksi dan merespon situasi dan kondisi.Menurut Artanto, kelebihan arduino dari platform hardware mikrokontroler lain adalah:
1. IDE Arduino merupakan multiplatform, yang dapat dijalankan di berbagai sistem operasi, seperti Windows, Macintosh dan Linux.
2. IDE Arduino dibuat berdasarkan pada IDE Processing, yang sederhana sehingga mudah digunakan.
3. Pemrograman arduino menggunakan kabel yang terhubung dengan port USB, bukan port serial. Fitur ini berguna karena banyak komputer yang sekarang ini tidak memiliki port serial.
Arduino adalah hardware dan software open source pembaca bisa mendownload software dan gambar rangkaian arduino tanpa harus membayar ke pembuat arduino. Biaya hardware cukup murah, sehingga tidak terlalu menakutkan membuat kesalahan. Proyek arduino ini dikembangkan dalam lingkungan pendidikan sehingga bagi pemula akan cepat dan mudah mempelajarinya. Memiliki begitu banyak pengguna dan komunitas di internet dapat membantu setiap kesulitan yang dihadapi. Arduino ysng digunakan pada alat ini Arduino Uno adalah board berbasis mikrokontroler pada ATmega328 yang memiliki 14 pin digital input / output (dimana 6 pin dapat digunakan sebagai output PWM), 6 input analog, 16 MHz osilator kristal, sebuah koneksi USB, sebuah konektor sumber tegangan, sebuah header ICSP, dan sebuah tombol reset.
Arduino Uno memuat segala hal yang dibutuhkan untuk mendukuang sebuah mikrokontroler.Hanya dengan menghubungkannya ke sebuah komputer melalui USB atau memberikan tegangan DC dari baterai atau adaptor AC ke DC sudah dapat menggunakannya. Arduino Uno menggunakan ATmega16u2 yang diprogram sebagai USBto-serial converter untuk komunikasi serial ke komputer melalui port USB. Proyek Arduino dimulai pertama kali di Ovre, Italy pada tahun 2005. Tujuan proyek ini awalnya untuk membuat peralatan kontrol interaktif dan modul pembelajaran bagi siswa yang lebih murah dibandingkan dengan prototype yang lain.
Pada tahun 2010 telah terjual dari 120 unit Arduino. Arduino yang berbasis open source melibatkan tim pengembang. Pendiri arduino itu Massimo Banzi dan David
Cuartielles, awalnya mereka memberi nama proyek itu dengan sebutan arduino dari ivrea tetapi seturut perkembangan zaman nama proyek itu diubah menjadi Arduino.
Software arduino yang digunakan adalah driver dan IDE, walaupun masih ada beberapa software lain yang sangat berguna selama pengembangan arduino. IDE atau Integrated Development Environment suatu program khusus untuk suatu komputer agar dapat membuat suatu rancangan atau sketsa program untuk papan Arduino.IDE arduino merupakan software yang sangat canggih ditulis dengan menggunakan java.
IDE arduino terdiri dari:
1. Editor Program
Sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa processing.
2. Compiler
Sebuah modul yang mengubah kode program menjadi kode biner bagaimanapun sebuah mikrokontroler tidak akan bisa memahami bahasa processing.
3. Uploader
Sebuah modul yang memuat kode biner dari komputer ke dalam memory di dalam papan arduino.
Dalam bahasa pemrograman arduino ada tiga bagian utama yaitu struktur, variabel dan fungsi (Artanto, 2012:27):
Struktur Program Arduino : a. Kerangka Program.
Kerangka program arduino sangat sederhana, yaitu terdiri atas dua blok. Blok pertama adalah void setup() dan blok kedua adalah void loop.
b. Blok Void setup ()
Berisi kode program yang hanya dijalankan sekali sesaat setelah arduino dihidupkan atau di-reset. Merupakan bagian persiapan atau instalasi program.
c. Blok void loop()
Berisi kode program yang akan dijalankan terus menerus.
Merupakan tempat untuk program utama.
a. Sintaks Program.
Baik blok void setup loop () maupun blok function harus diberi tanda kurung kurawal buka “{“ sebagai tanda awal program di blok itu dan kurung kurawal tutup “}” sebagai tanda akhir program.
b. Variabel.
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas dengan menggunakan sebuah varibel.
Pada bagian ini meliputi fungsi input output digital, input output analog, advanced I/O, fungsi waktu, fungsi matematika serta fungsi komunikasi.Pada proses Uploader dimana pada proses ini mengubah bahasa pemrograman yang nantinya dicompile oleh avr-gcc (avr-gcc compiler) yang hasilnya akan disimpan kedalam papan arduino.
Avr-gcc compiler merupakan suatu bagian penting untuk software bersifat open source. Dengan adanya avr-gcc compiler, maka akan membuat bahasa pemrogaman dapat dimengerti oleh mikrokontroler. Proses terakhir ini sangat penting, karena dengan adanya proses ini maka akan membuat proses pemrogaman mikrokontroler menjadi sangat mudah.
Berikut ini merupakan gambaran siklus yang terjadi dalam melakukan pemrogaman Arduino:
1. Koneksikan papan Arduino dengan komputer melalui USB port.
2. Tuliskan sketsa rancangan suatu program yang akan dimasukkan ke dalam papan Arduino.
3. Upload sketsa program ke dalam papan Arduino melalui kabel USB dan kemudian tunggu beberapa saat untuk melakukan restart pada papan Arduino.
4. Papan Arduino akan mengeksekusi rancangan sketsa program yang telah dibuat dan di-upload ke papan Arduino.
Arduino dikembangkan dari thesis hernando Barragan di desain interaksi institute Ivrea. Arduino dapat menerima masukan dari berbagai macam sensor dan juga dapat mengontrol lampu, motor dan aktuator lainnya. Mikrokontroler pada board arduino di program dengan menggunkan bahasa pemrograman arduino (based on wiring) dan
IDE arduino (based on processing). Proyek arduino dapat berjalan sendiri atau juga bisa berkomunikasi dengan software yang berjalan pada komputer.
Bentuk fisik arduino Uno R3 ini dapat dilihat pada gambar 2.2 dan Gambar 2.3 mapping pin arduino uno
Gambar 2.2 Board Arduino Uno R3
Gambar 2.3 Mapping Pin Arduino Uno
2.1.2 Konfigurasi Pin Arduino Uno
Arduino Uno memiliki 14 digital pin input/output, Berikut Konfigurasi pin Arduino Uno :
1. SPI (Serial Peripheral Interface)
Fungsi dari SPI adalah untuk singkronisasi yang digunakan oleh mikrokontroller untuk berkomunikasi dengan satu atau lebih perangkat dengan cepat dalam jarak pendek
2. SCK (Serial Clock)
SCK berfungsi untuk menseting Clock dari master ke slave 3. MOSI (Master out, Slave In)
MOSI di gunakan pada SPI, dimana data di transfer dari Master Ke Slave 4. MISO (Master In, Slave Out)
MISO digunakan pada SPI, dimana data di transfer dari Slave ke master 5. I2C
Protokol yang menggunakan jalur clock(SCL) dengan (SDA) untuk bertukar informasi
6. SCL
Jalur data yang digunakan oleh I2C untuk mengidentifikasi bahwa data sudah siap di transfer
7. SDA
Jalur data (dua arah) yang digunakan oleh I2C 8. ICSP (In Circuit Serial Programming)
ICSP digunakan untuk memprogram sebuah mikrokontroller seperti Atmega328 menggunakan jalur USB Atmega16U2. ICSP sendiri menggunakan jalur SPI untuk transfer data.
9. VCC
Jalur suplay tegangan biasanya +5V 10. IOREF
Input/Output referensi yang berguna untuk melindungi board agar tidak terjadi overvoltage
11. Vin
Pin ini berfungsi untuk mensuplay tegangan dari ekseternal misal adapter.
(jangan mensuplay tegangan dari luar bila board anda sudah mendapatkan suplay dari USB)
12. GND
Jalur Ground 13. USB
Digunakan untuk mentrasfer data dari komputer ke board anda 14. PWM (Pulse Width Modulation)
Pin yang di tandai dengan "~" mendukung Signal PWM, PWM sendiri berfungsi untuk mengatur kecepatan motor, atau kecerahan lampu dan lain lain.
15. Analog Pins
A0-A5 merupakan Pin Analog, membaca nilai analog dari 0-1023 Tabel 2.1 Spesifikasi mikrokontroller Arduino Uno
2.1.3 Komunikasi
Komunikasi serial Arduino adalah komunikasi antara Arduino Uno dan computer dapat dilakukan melalui port USB. Dalam hal ini, Arduino Uno tidak hanya bisa mengolah data dari pin I/O secara independ.Tetapi dapat juga dikomunikasikan dengan computer untuk ditampilkan hasil dari pengolahan datanya sehingga
Mikrokontroller ATmega 328 Operasi Tegangan 5V
Input tegangan 7 – 12 V (Rekomendasi) Pin I/O digital 14 pin (6 PIN untuk PWM) Arus DC tiap pin I/O 50Ma
Arus DC ketika 3.3 V 50 Ma
Mmeori flash 32 KB (AT mega 328) dan 0,5 KB digunakan oleh bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Kecepatan clock 16 Mhz
komunikasi yang dilakukan bersifat dua arah.Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan computer, Arduino lain, atau mikrokontroler lainnya.ATmega328 menyediakan UART TTL (5V) komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1 (TX).Dengan menggunakan fasilitas ini, dapat dikirimkan data ke Arduino Uno dan sebaliknya dapat membaca kiriman dari arduino uno.Tentu saja, hal ini memungkinkan dapat mengontrol Arduino uno melalui computer dan memantau sesuatu yang sedang terjadi di Arduino Uno. Jenis command komunikasi serial Arduino :
Serial.begin() : untuk menentukan kecepatan pengiriman dan penerimaan data melalui port serial. Kecepatan yang umum digunakan adalah 9600 bit per detik (9600 bps). Namun, kecepatan hingga 115.200 didukung oleh Arduino Uno.
Contoh yang sering digunakan yaitu Serial.begin (9600).
Serial.end() : digunakan untuk menghentikan program akan perintah komunikasi serial.
Serial.available() : berguna untuk menghasilkan jumlah byte di port serial yang belum terbaca. Jika port serial dalam keadaan kosong, maka fungsi ini dapat menghasilkan nilai nol.
Serial.read() : berguna untuk membaca suatu byte data yang terdapat di port serial. Setelah pemanggilan Serial.read(), jumlah data di port serial berkurang satu.
Serial.print(data) : berfungsi untuk mengirimkan data ke port serial. Apabila argumen format disertakan, data yang dikirim akan menyesuaikan dengan format tersebut. dalam hal ini, format yang digunakan bisa berupa.
Serial.flush() : berfungsi sebagai untuk pengosongan data pembacaan yang ditaruh pada buffer.
Serial.parseFloat() : berfungsi untuk bilangan titik mengambang atau real.
Serial.println(data) : memiliki fungsi yang hamper sama dengan serial print, yang memberi efek perpindahan baris berikutnya.
Serial.parseln() : untuk menghasilkan nilai bulat.
Data yang dikirm dan diterima arduino dalam bentuk ASCII.
2.1.4 Bahasa Pemrograman Arduino
Banyak bahasa pemrograman yang biasa digunakan untuk program mikrokontroler, misalnya bahasa assembly.Namun dalam pemrograman Arduino bahasa yang dipakai adalah bahasa C. Bahasa C adalah bahasa yang sangat lazim dipakai sejak awal computer diciptakan dan sangat berperan dalam perkembangan software.Di internet banyak Library Bahasa C untuk Arduino yang bisa didownload dengan gratis.Setiap library Arduino biasanya disertai dengan contoh pemakaiannya, keberadaan library-library ini bukan hanya membantun kita membuat proyek mikrokontroler, tetapi bisa dijadikan sarana untuk mendalami pemrograman Bahasa C pada mikrokontroler. Berikut ini adalah penjelasan mengenai karakter bahasa C dan software Arduino:
a. Struktur :Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada.
Void setup() { }
Semua kode di dalam kurung kuraal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.
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.
b. Syntax :Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.
//(komentar satu baris)
/* */(komentar banyak baris)
{ } (kurung kurawal)
; (titik koma)
c. Variabel :Sebuah program secara garis besar dapat didefenisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variable inilah yang digunakan untuk memindahkannya. Integer, Long, Boolean, Float, Char, Byte, Unsignt int, Unsign long, Double, String, Array.
d. Operator Matematika :operator yang digunakan untuk memanipulasi angka.
e. Operator Pembanding :digunakan untuk membandingkan nilai logika.
f. Struktur Pengaturan : Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini elemen dasar pengaturan: if…else dan for.
g. Digital :
PinMode(pin, mode)
digitalWrite(pin, value)
digitalRead(pin)
h. Analog :Arduino adalah mesin digital, tetapi mempunyai kemampuan untuk beroperasi di dalam analog.
analogWrite(pin, value)
analogRead(pin)
2.2 Sensor Hujan YL - 83
Sensor hujan adalah salah satu jenis sensor yang peka terhadap air hujan. Cara kerjadari sensor air hujan adalah ketika sensor terkena air hujan maka jalur port dan dan jalur ground terhubung sehingga tidak ada tegangan karena port langsung terhubung langsungdengan ground.Sensor hujan merupakan jenis sensor yang berfungsi untuk mendeteksi terjadinya hujan atau tidak, yang dapat difungsikan dalam segala macam aplikasi dalam kehidupan sehari- hari.Sensor hujan berfungsi untuk memberikan nilai masukan pada tingkat elektrolisasi air hujan, dimana panel sensor hujan akan tersentuh oleh air hujan yang turun.Bentuk fisik Sensor Hujan ini dapat dilihat pada gambar 2.3
Gambar 2.4 Sensor Hujan YL-83
Pada sensor hujan ini terdapat ic komparator yang dimana output dari sensor ini dapat berupa logika high dan low (on atau off). Serta pada modul sensor ini terdapat output yang berupa tegangan pula. Sehingga dapat dikoneksikan ke pin khusus
Arduino yaitu AnalogDigital Converter. Sensor ini dapat digunakan untuk memantau kondisi ada tidaknya hujan di lingkungan luar yang dimana output dari sensor ini dapat berupa sinyal analog maupun sinyal digital
.
2.2.1 Spesifikasi Sensor Hujan YL-83
1. Sensor ini bermaterial dari FR-04 dengan dimensi 5cm x 4cm berlapis nikel dan dengan kualitas tinggi pada kedua sisinya
2. Pada lapisan module mempunyai sifat anti oksidasi sehingga tahan terhadap korosi
3. Tegangan kerja masukan sensor 3.3V – 5V 4. Menggunakan IC comparator LM393 yang stabil
5. Output dari modul comparator dengan kualitas sinyal bagus lebih dari 15mA
6. Dilengkapi lubang baut untuk instalasi dengan modul lainnya
7. Terdapat potensiometer yang berfungsi untuk mengatur sensitifitas sensor 8. Terdapat 2 Output yaitu digital (0 dan 1) dan analog (tegangan)
9. Dimensi PCB yaitu 3.2 cm x 1.4 cm
2.3 Sensor Cahaya (LDR)
LDR adalah sensor cahaya yang memiliki 2 terminal output, dimana kedua terminal output tersebut memiliki resistansi yang dapat berubah sesuai dengan intensitas cahaya yang diterimanya. Dimana nilai resistansi kedua terminal output LDR akan semakin rendah apabila intensitas cahya yang diterima oleh LDR semakin tinggi.LDR (Light Dependent Resistor) merupakan salah satu komponen resistor yang nilai resistansinya akan berubah-ubah sesuai dengan intensitas cahaya yang mengenai sensor ini. LDR juga dapat digunakan sebagai sensor cahaya.Perlu diketahui bahwa nilai resistansi dari sensor ini sangat bergantung pada intensitas cahaya. Semakin banyak cahaya yang mengenainya, maka akan semakin menurun nilai resistansinya. Sebaliknya jika semakin sedikit cahaya yang mengenai sensor (gelap), maka nilai hambatannya akan menjadi semakin besar sehingga arus listrik yang mengalir akan terhambat.
LDR berfungsi sebagai sebuah sensor cahaya dalam berbagai macam rangkaian elektronika seperti saklar otomatis berdasarkan cahaya yang jika sensor terkena cahaya maka arus listrik akan mengalir(ON) dan sebaliknya jika sensor dalam kondisi minim cahaya(gelap) maka aliran listrik akan terhambat(OFF). LDR juga sering digunakan sebagai sensor lampu penerang jalan otomatis, lampu kamar tidur, alarm, rangkaian anti maling otomatis menggunakan laser, sutter kamera otomatis, dan masih banyak lagi yang lainnya. LDR merupakan singkatan dari Light dependendt resistor.
LDR adalah jenis resistor yang nilai resistansinya dapat berubah-ubah hampir sama dengan potensiometer Yang membedakan antara LDR dan potensiometer adalah nilai resistansi LDR berubah akibat perubahan intensitas cahaya yang diterimanya sedangkan pada potensiometer hambatan berubah akibat putaran Jika di lihat dari fisiknya bentuk fisik ldr mempunyai 2 kaki dengan sebuah sensor di permukaannya yang peka terhadap perubahan intensitas cahaya. Karena sifatnya yang peka terhadap perubahan cahaya maka LDR sering digunakan sebagai sensor pada rangkaian lampu otomatis dimana lampu dapat hidup pada malam hari dan mati pada siang hari
Gambar 2.5 Sensor LDR
2.3.1 Prinsip Kerja LDR
Prinsip kerja LDR sangat sederhana tak jauh berbeda dengan variable resistor pada umumnya.LDR dipasang pada berbagai macam rangkaian elektronika dan dapat memutus dan menyambungkan aliran listrik berdasarkan cahaya. Semakin banyak cahaya yang mengenai LDR maka nilai resistansinya akan menurun, dan sebaliknya semakin sedikit cahaya yang mengenai LDR maka nilai hambatannya akan semakin membesar.
2.4 Motor Listrik DC
Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah energi listrik menjadi energi kinetik atau gerakan (motion).Motor DC ini juga dapat disebut sebagai Motor Arus Searah.Seperti namanya, DC Motor memiliki dua terminal dan memerlukan tegangan arus searah atau DC (Direct Current) untuk dapat menggerakannya.Motor Listrik DC ini biasanya digunakan pada perangkat-perangkat Elektronik dan listrik yang menggunakan sumber listrik DC seperti Vibrator Ponsel, Kipas DC dan Bor Listrik DC. Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per menit atau biasanya dikenal dengan istilah RPM (Revolutions per minute) dan dapat dibuat berputar searah jarum jam maupun berlawanan arah jarum jam apabila polaritas listrik yang diberikan pada Motor DC tersebut dibalikan.
Motor Listrik DC tersedia dalam berbagai ukuran rpm dan bentuk. Kebanyakan Motor Listrik DC memberikan kecepatan rotasi sekitar 3000 rpm hingga 8000 rpm dengan tegangan operasional dari 1,5V hingga 24V.
Apabila tegangan yang diberikan ke Motor Listrik DC lebih rendah dari tegangan operasionalnya maka akan dapat memperlambat rotasi motor DC tersebut sedangkan tegangan yang lebih tinggi dari tegangan operasional akan membuat rotasi motor DC menjadi lebih cepat. Namun ketika tegangan yang diberikan ke Motor DC tersebut turun menjadi dibawah 50% dari tegangan operasional yang ditentukan maka Motor DC tersebut tidak dapat berputar atau terhenti. Sebaliknya, jika tegangan yang diberikan ke Motor DC tersebut lebih tinggi sekitar 30% dari tegangan operasional yang ditentukan, maka motor DC tersebut akan menjadi sangat panas dan akhirnya akan menjadi rusak. Pada saat Motor listrik DC berputar tanpa beban, hanya sedikit arus listrik atau daya yang digunakannya, namun pada saat diberikan beban, jumlah arus yang digunakan akan meningkat hingga ratusan persen bahkan hingga 1000% atau lebih (tergantung jenis beban yang diberikan). Oleh karena itu, produsen Motor DC biasanya akan mencantumkan Stall Current pada Motor DC. Stall Current adalah arus pada saat poros motor berhenti karena mengalami beban maksimal.
2.4.1 Prinsip Kerja Motor Listrik DC
Terdapat dua bagian utama pada sebuah Motor Listrik DC, yaitu Stator dan Rotor. Statora dalah bagian motor yang tidak berputar, bagian yang statis ini terdiri dari rangka dan kumparan medan. Sedangkan Rotor adalah bagian yang berputar, bagian Rotor ini terdiri dari kumparan Jangkar. Dua bagian utama ini dapat dibagi lagi menjadi beberapa komponen penting yaitu diantaranya adalah Yoke (kerangka magnet), Poles (kutub motor), Field winding (kumparan medan magnet), Armature Winding (Kumparan Jangkar), Commutator (Komutator) dan Brushes (kuas/sikat arang).
Pada prinsipnya motor listrik DC menggunakan fenomena elektromagnet untuk bergerak, ketika arus listrik diberikan ke kumparan, permukaan kumparan yang bersifat utara akan bergerak menghadap ke magnet yang berkutub selatan dan kumparan yang bersifat selatan akan bergerak menghadap ke utara magnet. Saat ini, karena kutub utara kumparan bertemu dengan kutub selatan magnet ataupun kutub selatan kumparan bertemu dengan kutub utara magnet maka akan terjadi saling tarik menarik yang menyebabkan pergerakan kumparan berhenti.Untuk menggerakannya lagi, tepat pada saat kutub kumparan berhadapan dengan kutub magnet, arah arus pada kumparan dibalik. Dengan demikian, kutub utara kumparan akan berubah menjadi kutub selatan dan kutub selatannya akan berubah menjadi kutub utara. Pada saat perubahan kutub tersebut terjadi, kutub selatan kumparan akan berhadap dengan kutub selatan magnet dan kutub utara kumparan akan berhadapan dengan kutub utara
Gambar2.6 Motor Listrik DC
magnet. Karena kutubnya sama, maka akan terjadi tolak menolak sehingga kumparan bergerak memutar hingga utara kumparan berhadapan dengan selatan magnet dan selatan kumparan berhadapan dengan utara magnet. Pada saat ini, arus yang mengalir ke kumparan dibalik lagi dan kumparan akan berputar lagi karena adanya perubahan kutub. Siklus ini akan berulang-ulang hingga arus listrik pada kumparan diputuskan.
2.5 LCD (Liquid Crystal Display)
Liquid Crystal Display (LCD) adalah komponen yang dapat menampilkan tulisan.Salah satu jenisnya memiliki dua baris dengan setiap baris terdiri atas enam belas karakter.LCD seperti itu biasa disebut LCD 16x2. Debugging adalah istilah yang telah digunakan software komputer untuk menggambarkan suatu proses tidak bekerja dengan benar. Konon dikatakan bahwa istilah tersebut dipakai untuk pertama kalinya oleh Garce Hopper pada sekitar tahun 1940-an. Dimana pada waktu itu, komputer yang sebagian besarnya merupakan peralatan elektromekanis, ada yang berhenti beroperasi karena ada serangga yang terjebak di dalam sistem mekaniknya.Tetapi pada saat ini, bug bukan berbentuk fisik lagi, melainkan suatu virtual yang tidak dapat dilihat.
Gambar 2.7 LCD (Liquid Crystal Display)
LCD memiliki 16 pin dengan fungsi pin masing-masing seperti yang terlihat pada table 2.2
Tabel 2.2 Pin-pin LCD
No.Pin Nama Pin I/O Keterangan
1 VSS Power Catu daya, ground (0v) 2 VDD Power Catu daya positif
3
V0 Power
Pengatur kontras, menurut datasheet, pin iniperlu dihubungkan dengan pin vss melalui resistor Variabel.
4 RS Input
Register Select
RS = HIGH : untuk mengirim data
RS = LOW : untuk mengirim instruksi
5 R/W Input Read/Write control bus R/W = HIGH : mode untuk membaca data di LCD
2.5.1 Cara kerja LCD
Pada aplikasi umumnya RW diberi logika rendah 0. Bus data terdiri dari 4bit atau 8 bit. Jika jalur data 4 bit maka yang digunakan ialah DB4 sampai dengan DB7.
Sebagaimana terlihat pada table deskripsi, interface LCD merupakan sebuah parallel bus, dalam hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8bit dikirim ke LCD secara 4bit atau 8bit pada satu waktu
Jika mode 4bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8bit (pertama dikirim 4bit MSB lalu 4bit LSB dengan pulsa clock EN setiap nibblenya). Jalur control EN digunakan untuk memberitahu LCD bahwa mikrokontroler mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high 1dan kemudian menset dua jalur control lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus. Saat jalur lainnya sudah siap, EN harus diset ke“0 dan tunggu beberapa saat, dan set EN kembali ke high 1.
Ketika jalur RS berada dalam kondisi low 0, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau 1,data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar.
Misal, untuk menampilkan huruf A pada layar maka RS harus diset ke 1.
Jalur control R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high 1, maka program akan melakukan query data dari LCD. Instruksi pembacaan hanya satu, yaitu Get
LCD status, lainnya merupakan instruksi penulisan, Jadi hamper setiap aplikasi yang menggunakan LCD, R/W selalu di set ke 0.Jalur data dapat terdiri 4 atau 8 jalur.Mengirimkan data secara parallel baik 4bit atau 8bit merupakan 2 mode operasi primer.
Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting. 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.Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi low
“0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau
“1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilay.
Mode 8bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/0 (3pin untuk control, 8pin untuk data).Sedangkan mode 4bit minimal hanya membutuhkan 7bit (3pin untuk control, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroler dan LCD. Jika bit ini diset (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.6 Buzer
Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).Buzzer Listrik adalah sebuah komponen elektronika yang dapat mengubah sinyal listrik menjadi getaran suara. Pada umumnya, Buzzer yang merupakan sebuah perangkat audio ini sering digunakan pada rangkaian anti-maling, Alarm pada Jam Tangan, Bel Rumah, peringatan mundur pada Truk dan perangkat peringatan bahaya lainnya. Jenis Buzzer yang sering ditemukan dan digunakan adalah Buzzer yang berjenis Piezoelectric, hal ini dikarenakan Buzzer Piezoelectric memiliki berbagai kelebihan seperti lebih murah, relatif lebih ringan dan lebih mudah dalam menggabungkannya ke Rangkaian Elektronika lainnya. Buzzer yang termasuk dalam keluarga Transduser ini juga sering disebut dengan Beeper.
Buzer merupakan sebuah komponen elektronika yang masuk dalam keluarga transduser, yang dimana dapat mengubah sinyal listrik menjadi getaran suara. Nama lain dari komponen ini disebut dengan beeper.
Dalam kehidupan sehari – hari, umumnya digunakan untuk rangkaian alarm pada jam, bel rumah, perangkat peringatan bahaya, dan lain sebagainya.
Jenis – jenis yang sering ditemukan dipasaran yaitu tipe piezoelectric. Dikarenakan tipe ini memiliki kelebihan seperti harganya yang relatif murah, mudah diaplikasikan ke dalam rangkaian elektronika.
2.6.1 Cara kerja Buzer
Seperti namanya, Piezoelectric Buzzer adalah jenis Buzzer yang menggunakan efek Piezoelectric untuk menghasilkan suara atau bunyinya. Tegangan listrik yang diberikan ke bahan Piezoelectric akan menyebabkan gerakan mekanis, gerakan
tersebut kemudian diubah menjadi suara atau bunyi yang dapat didengar oleh telinga manusia dengan menggunakan diafragma dan resonator.Jika dibandingkan dengan Speaker, Piezo Buzzer relatif lebih mudah untuk digerakan. Sebagai contoh, Piezo Buzzer dapat digerakan hanya dengan menggunakan output langsung dari sebuah IC TTL, hal ini sangat berbeda dengan Speaker yang harus menggunakan penguat khusus untuk menggerakan Speaker agar mendapatkan intensitas suara yang dapat didengar oleh manusia.Piezo Buzzer dapat bekerja dengan baik dalam menghasilkan frekuensi di kisaran 1-5 kHz hingga 100 kHz untuk aplikasi Ultrasound.Tegangan Operasional Piezoelectric Buzzer yang umum biasanya berkisar diantara 3Volt hingga 12 Volt. Pada saat ada aliran catu daya atau tegangan listrik yang mengalir ke rangkaian yang menggunakan piezoelectric, maka akan terjadi pergerakan mekanis pada piezoelectric tersebut yang dimana gerakan tersebut mengubah energi listrik menjadi energi suara yang dapat didengar oleh telinga manusia. Piezoelectric menghasilkan frekuensi di range kisaran antara 1 – 5 kHz hingga 100 kHz yang diaplikasikan ke Ultrasound. Tegangan operasional piezoelectric pada umumnya yaitu berkisar antara 3Vdc hingga 12 Vdc.
2.6.2 Jenis Jenis Buzer
Passive buzer yaitu yang tidak mempunyai suara sendiri, sehingga cocok untuk dipasangkan dengan arduino yang dapat diprogram tinggi rendah nadanya.
Contoh dalam kehidupan sehari – hari yaitu speaker.
Active buzer yaitu yang dapat berdiri sendiri atau standalone atau singkatnya sudah mempunyai suara tersendiri ketika diberikan catu daya.
Gambar 2.8 Buzer
2.7 Driver L298N
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.Untuk mengontrol driver L298N ini dibutuhkan 6 buah pin mikrokontroler.Dua buah untuk pin Enable ( satu buah untuk motor pertama dan satu buah yang lain untuk motor kedua. Karena driver L298N ini dapat mengontrol dua buah motor DC) 4 buah untuk mengatur kecepatan motor motor tersebut. Skematik rangkaian driver motor L298N harus ditambahkan beberapa komponen lagi agar dapat bekerja.Yang pertama berupa rangkaian regulator yang berada dibagian atas skematik.dan yang kedua adalah rangkaian pendukung driver motor yang berupa beberapa dioda.Output dari rangkaian ini sudah berupa dua pin untuk masing masing motor.Pada prinsipnya rangkaian driver motor L298N ini dapat mengatur tegangan dan arus sehingga kecepatan dan arah motor dapat diatur. L298 aadalah driver motor berbasis H-Bridge, mampu menangani beban hingga 4A pada tegangan 6V – 46V.
Dalam chip terdapat dua rangkaian H-Bridge. Selain itu driver ini mampu mengendalikan 2 motor sekaligus dengan arus beban 2 A. berikut gambar rangkaian driver motor L298.
Gambar 2.9 Driver L298N
BAB III
PERANCANGAN SISTEM
3.1 Perancangan
Perancangan merupakan suatu tahap yang sangat penting didalam penyelesaian pembuatan suatu alat ukur. Pada perancangan dan pembuatan alat ini akan ditempuh bebrapa langkah yang termasuk kedalam langkah perancangan antara lain pemiihan komponen yang sesaui dengan kebutuhan serta pembuatan alat. Dalam perancangan ini dibutuhkan bebrapa petunju yang menunjang pembuatan alat seperti buku teori, data sheet atau buku lainnya. Dimana buku petunjuk tersebut memuat teori-teori perancangan maupun spesifikasi komponen yang akan digunakan dalam pembuatan alat, melakukan percobaan serta pengujian alat.
Tujuan perancangan adalah untuk memudahkan dalam pembuatan suatu alat serta mendapatkan suatu alat yang baik seperti yang diharapkan dengan memperhatikan penggunaan komponen dengan harga ekonomis serta mudah didapat dipasasaran.Selain itu, perancangan juga bertujuan untuk membuat solusi dari suatu permasalahan dengan penggabungan prinsip-prinsip elektronik dan mekanik, serta degan literature dengan proyek yang ada.
3.1.1 Blok Diagram Sistem
\
\
Gambar 3.1Blok diagram sistem Sensor Hujan
YL-83 Sensor Cahaya
LDR
Ardunio UNO
Motor DC
Power Supply LCD
Buzer
Driver L298N
Adapun fungsi masing-masing blok diagram pada gambar 3.1 adalah sebagai berikut:
1. Blok Arduino Uno :Sebagai pengontrol, penerima dan pengolah data dala sistemelektronika.
2. Blok Sensor Hujan : Sebagai input sensor untuk mendeteksi Hujan
3. Blok Sensor LDR : Sebagai input sensor untuk mendeteksi intensitas cahaya 4. Blok PowerSupply: Sebagai penyedia sumber arus listrik ke sistem dansensor 5. Blok Motor DC : Sebagai Penggerak pada simulasi kontrol atap otomatis 6. Blok Buzer : Sebagai indikator mengubah getaran listrik menjadi getaran
Suara
7. Blok LCD : Sebagai output ataupun tampilan dari rangkaian
8. Blok Driver L298N: Sebagai Pengontrol kecepatan dan arah pergerakan motor
ya
Tidak
Tidak
ya 3.1.2 Flowchart Alat
Gambar 3.2 Flowchart Sistem Start
Konfigurasi Sensor LDR
Konfigurasi Sensor Hujan
Basa h
Tutup
Tera ng
Buka
Selesai
3.2 Gambar Rangkaian
3.2.1 Gambar Rangkaian Arduino Uno
Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet).Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yangke adaptorDC.Skematik rangkaian arduino seperti pada Gambar 3.3.
Gambar 3.3Rangkaian Arduino Uno
3.2.2 Gambar Rangkaian Arduino dengan Motor DC
Gambar 3.5 Rangkaian Arduino dengan Motor DC
3.2.3 Gambar Rangkaian Arduino Uno dengan Sensor Hujan
Gambar 3.5 Rangkaian Arduino dengan Sensor Hujan
3.2.4 Gambar Rangkaian Arduino Uno dengan Sensor LDR
Gambar 3.6 Rangkaian Arduino dengan Sensor LDR
3.2.5 Gambar Rangkaian Keseluruhan Alat
Gambar 3.7 Gambar Rangkaian Seluruhnya
3.3 Pengujian Sistem
3.3.1 Pengujian Arduino Uno
Pengujian Arduino Uno dilakukan dengan cara pengukuran output pin arduino uno. Berikut tabel pengujian arduino uno :
PIN Vout
VCC ( 5 V ) 4,98 V
3,3 V 3.29 V
Reset ( Tidak Ditekan ) 4,98 V
Reset ( Ditekan ) 0,01 V
Analog ( high ) 4,98 V
Analog ( low ) 0,01 V
Digital ( high ) 4,98 V
Digital ( low ) 0,01 V
Tabel 3.1 Pengujian output pin Arduino Uno
3.3.2 Pengujian Sensor Hujan
NO. KONDISI
ATAP
BUKA TUTUP
1 Hujan
X
O2 Tidak Hujan O X
Tabel 3.2 Pengujian Sensor Hujan YL-83
3.3.3 Pengujian Sensor LDR
NO. KONDISI
ATAP
BUKA TUTUP
1 Terang
O
X2 Gelap X O
Tabel 3.3 Pengujian Sensor LDR
3.3.4 Pengujian Keseluruhan
NO. KONDISI
ATAP BUKA TUTUP
1 Hujan dan Gelap
X
O2 Hujan dan Terang X O
3 Tidak Hujan dan Gelap X O
4 Tidak Hujan dan Terang O X
Tabel 3.4 Pengujian Seluruh Sensor
BAB IV
PENGUJIAN DAN PEMBAHASAN
4.1 Pengujian Sensor Hujan
Sensor hujan diuji dengan cara meneteskan air dengan menggunakan pipet keatas penampang sensor hujan. Setiap tetesan menghasilkan nilai pembacaan sensor yang berbeda. Hasil pembacaan awal ketika belum ditetesi air, ADC sensor menunjukan nilai 20. Ketika terdapat satu tetes air nilai pembacaan ADC sensor berubah menjadi 25 (asumsi turun hujan).
Berikut tabel hasil nilai bacaan ADC Mikrokontroller pada sensor hujan No. Jumlah tetesan air pada sensor Nilai bacaan ADC Mikrokontroller
1. 1 25
2. 2 29
3. 3 34
4 4 37
Dari tabel pengujian sensor hujan diatas, maka bisa dilihat grafik sebagai berikut
Gambar 4.1 Grafik pengujian sensor hujan
Berdasarkan grafik pada gambar 4.1 dapat terlihat bahwa semakin banyak tetesen air yang diberikan maka nilai ADC pembacaan sensor semakin menaik
0 5 10 15 20 25 30 35 40
1 2 3 4
Kon…
Jumlah Tetesan Air Pada Sensor
NILAI BACAAN ADC MIKROKONTROLER
Jumlah Tetesan Air Pada Sensor
NILAI BACAAN ADC MIKROKONTROLER
Jumlah Tetesan Air Pada Sensor
NILAI BACAAN ADC MIKROKONTROLER
4.2 Pengujian Sensor Cahaya
Pada pengujian sensor cahaya saya mengunakan pencahayaan lampu senter dari android untuk melihat nilai resistansi LDR dan kepekaan sensor saat menerima cahaya. Nilai ini secara langsung dikonversi oleh mikrokontroller sebagai nilai ADC.
Berikut tabel hasil nilai bacaan ADC Mikrokontroller pada sensor hujan.
No. Jam/Waktu Nilai Bacaan ADC Mikrokontroler
1. 8:00 886
2. 9:00 887
3. 10:00 888
4. 11:00 890
5. 12:00 892
6. 13:00 893
7. 14:00 895
8. 15:00 887
9. 16:00 885
10. 17:00 880
11. 18:00 879
12. 19:00 848
Dari tabel pengujian sensor LDR diatas, maka bisa dilihat grafik sebagai berikut
Gambar 4.2 Grafik pengujian sensor cahaya
820 830 840 850 860 870 880 890 900
8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 LDR
NILAI BACAAN ADC MIKROKONTROLER JAM
Berdasarkan grafik pada gambar 4.2 menunjukan bahwa ketika dalam kondisi terang yakni pada pagi hari hingga sore hari pukul 16:00, nilai ADC bernilai besar yakni diatas dari 850 . Pada saat kondisi gelap, nilai ADC menurun hingga mencapai nilai bacaan minimum pada pukul 19:00. Setelah rangkaian sistem kontrol atap otomatis telah dibangun dan terhubung dengan adaptor kemudian dilakukan pengujian alat untuk mengetahui apakah alat kontrol atap otomatis dapat bekerja sesuai kebutuhan.
4.3 Simulasi Alat Keseluruhan
Setelah dilakukan pengujian tiap bagian baik itu rangkaian mikrokontroler, sensor hujan, sensor suhu dan kelembaban, sensor cahaya, kipas, motor servo dan rangkaian mekanik, tahap terakhir dilakukan simulasi alat secara menyeluruh.
Program Keseluruhan
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#define sensor_hujan A0
#define sensor_LDR A1 int kondisi_sensor_hujan = 0;
int kondisi_sensor_LDR = 0;
#define IN1 9
#define IN2 10 int buka=0;
int tutup=1;
void setup () {
Serial.begin(9600);
pinMode (sensor_hujan, INPUT);
pinMode (sensor_LDR, INPUT);
pinMode (IN1, OUTPUT);
pinMode (IN2, OUTPUT);
lcd.begin();
lcd.backlight();
delay(500);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("JUAN EVANS S");
lcd.setCursor(3,1);
lcd.print("162408019");
delay(1000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("LDR dan YL83");
lcd.setCursor(0,1);
lcd.print("Sebagai Kontrol");
delay(1000);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Atap Otomatis");
lcd.setCursor(0,1);
lcd.print("---");
delay(1000);
//tutupatap();
}
void loop() {
delay (1000);
int kondisi_sensor_hujan = analogRead(sensor_hujan);
int kondisi_sensor_LDR = analogRead(sensor_LDR);
Serial.println(kondisi_sensor_hujan);
if(kondisi_sensor_LDR <= 850 && tutup==1 ) // buka atap {
bukaatap();
lcd.setCursor(0,1);
lcd.print("Atap terbuka....");
}
else if (kondisi_sensor_hujan < 30 && buka==1) // tutup atap {
tutupatap();
lcd.setCursor(0,1);
lcd.print("Atap tertutup....");
}
else if (kondisi_sensor_hujan < 30 && kondisi_sensor_LDR > 980 && buka==1) //
tutup {
tutupatap();
lcd.setCursor(0,1);
lcd.print("Atap tertutup....");
}
}
void tutupatap() {
analogWrite(9,0);
analogWrite(10,100);
delay(7000);
analogWrite(9,0);
analogWrite(10,0);
delay(2000);
tutup=1;
buka=1;
}
void bukaatap() {
analogWrite(9,100);
analogWrite(10,0);
delay(7000);
analogWrite(9,0);
analogWrite(10,0);
delay(2000);
buka=1;
tutup=0;
}
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
1. Arduino merupakan salah satu mikrokontroler berbasis ATmega328. Arduino berfungsi sebagai pembaca sensor dan kemudian menghubungkannya kepada akuator. Arduino dioperasikan dengan menggunakan bahasa pemograman C/C++. Sensor yang digunakan adalah sensor hujan dan sensor cahaya (LDR).
Komponen nya adalah Motor Stepper.
2.
Kontrol utama pada sistem adalah Arduino Uno yang berbasis mikrokontroler ATmega328, pada saat sensor hujan mendeteksi adanya hujan maka atap akan tertutup dan akan terbuka bila sensor nya mengering. Sensor cahaya (LDR) digunakan untuk mendeteksi intensitas cahaya dilingkungan sekitar.Ketika sensor LDR menerima sedikit cahaya maka atap akan tertutup dan atap terbuka kembali ketika LDR mendapat cahaya yang cukup terang.
5.2 Saran
1. Persiapkan penguasan terhadap teori-teori dasar komponen yang digunakan secara baik. Hal ini akan sangat sangat berguna dalam melakukan analisa kinerja alat.
2. Untuk pengembangan selanjutnya, sebaiknya perlu ditambahkan lagi sensor yang dipakai selain sensor LDR dan sensor hujan
DAFTAR PUSTAKA
Kurnia, Warsito.2016.Perancangan Alat Pembuka Dan Penutup AtapPenjemur Gabah Secara
Otomatis DenganMenggunakan Arduino UNO BerbasisMikrokontroler Arduino Uno.
Jurnal Fisika Sainsdan Aplikasinya.
Elektur. 1996. Rangkaian Elektronika. Penerjemah P.Pratomo dkk. Jakarta:
Percetakan PT.Gramedia.
https://referensiarduino.wordpress.com
http://www.caratekno.com/2015/07/pengertian-arduino-uno-mikrokontroler.html