Anda di halaman 1dari 78

1

1
1
BAB I

PENDAHULUAN

1.1 Latar Belakang

Saat ini masih banyak alat elektronik yang bekerja secara konvesional dan masih

membutuhkan tenaga manusia dalam pengendaliannya. Alat elektronik tersebut

masih sekedar untuk membantu manusia tetapi tidak bersifat cerdas. Padahal

manusia sangat membutuhkan alat yang dapat membantu atau meringankan

pekerjaannya tanpa sedikitpun mengeluarkan tenaga.

Salah satu alat elektronika yang bekerja secara konvesional dan masih

membutuhkan tenaga manusia dalam pengendaliannya adalah alat pendingin

ruangan. Saat ini, alat pendingin ruangan yang banyak digunakan adalah berupa

kipas angin dan Air Conditioner (AC). Air Conditioner (AC) adalah alat

pendingin ruangan yang paling modern, tetapi tidak semua orang sanggup untuk

memiliki AC. Kipas angin juga bias digunakan sebagai pendingin ruangan, tetapi

kipas angin belum bisa dikatakan meringankan pekerjaan manusia, karena masih

bekerja secara konvensional dan masih diperlukan tenaga manusia dalam

pengendaliannya.

Hampir setiap rumah mempunyai kipas angin yang tujuannya untuk menggerakan

udara (sirkulasi udara) dalam ruangan. Awalnya pengaktifan kipas dilakukan oleh

manusia, namun seiring dengan perkembangan teknologi dibidang elektronika,

tugas manusia ini sudah dapat digantikan alat bantu tertentu yang dapat bekerja

secara otomatis untuk mengaktifkan kipas. Oleh sebab itu diperlukan inovasi dan

pengembangan alat-alat elektronik menjadi lebih baik lagi. Ada beberapa teknik

1
yang dapat digunakan untuk mewujudkan hal tersebut. Salah satu tekniknya

adalah kombinasi sensor yang pembaca suhu ruangan dan sensor yang dapat

menentukan keluar/masuknya objek bergerak pada ruangan. Sensor suhu DHT11

merupakan sensor suhu yang baik dan layak digunakan untuk monitoring suhu

ruangan . Sedangkan sensor untuk mendeteksi keluar/ masuk objek bergerak pada

ruangan dapat digunakan sensor PIR. Sehingga kombinasi antara sensor PIR dan

sensor DHT11 akan digunakan untuk mengaktifkan kipas angin secara otomatis.

Pengendali yang digunakan pada kipas angin yaitu berbasis arduino dengan

menggunakan sensor DHT11 untuk membaca suhu ruangan dan sensor PIR untuk

mengetahui keluar atau masuknya manusia pada suatu ruangan. Kemudian diubah

menjadi input pada mikrokontroler Arduino yang berguna untuk mengatur On/ Off

kipas. Sehingga dapat menghasilkan alat dengan sistem kerja yang pintar dan

dapat bekerja secara otomatis yang dapat membantu atau meringankan pekerjaan

manusia tanpa sedikitpun mengeluarkan tenaga.

Dalam uarian diatas penulis bermaksud merancang sebuah rangkaian elektronika

yaitu ”Rancang Bangun Kipas Angin Otomatis berbasis arduino“

1.2. Rumusan Masalah

Berdasarkan identifikasi masalah dapat dirumuskan suatu masalah yang relevan

adalah:

1) Bagaimana merancang perangkat pengontrol kipas angin otomatis yang

bekerja sesuai dengan pergerakan manusia dan keadaan suhu pada ruangan ?

2) Bagaimana merancang perangkat pengontrol kipas angin dengan

menggunakan arduino sebagai pengirim dan penerima data ?

2
1.3. Batasan Masalah

Untuk memperjelas ruang lingkup permasalahan dan mencegah kemungkinan

meluasnya masalah ataupun penyimpangan dari fokus pembahasan perancangan

alat, maka diperlukan pembatasan masalah sebagai berikut:

1) Menghidupkan dan mematikan kipas angin akan dibuat secara otomatis

yaitu dilengkapi dengan sensor suhu dan sensor Passive Infra-red yang

kemudian dikontrol menggunakan arduino.

2) Sensor yang digunakan adalah sensor suhu dan sensor PIR.

3) LCD berfungsi untuk menampilkan suhu dalam ruangan.

4) Kipas angin digunakan hanya untuk ruang kelas atau ruangan berukuran

± 6x7m.

1.4.Tujuan penelitian

Adapun tujuan penelitian ini sebagai berikut:

1) Merancang perangkat pengontrol kipas angin otomatis yang dapat bekerja

sesuai dengan keadaan suhu ruangan dan pergerakan manusia,

2) Merancang Transmitter untuk mengirim data sensor ke Receiver dan

perangkat Receiver menerima data dari Transmitter dan dikirimkan ke arduino

yang mengontrol driver kipas.

1.5.manfaat penelitian

Adapun manfaat yang diperoleh dari penelitian ini adalah:

1) Memberikan kemudahan dan kenyaman bagi pengguna dalam

menggunakan kipas angin,

3
2) Diharapkan kerja dari kipas angin otomatis ini bisa lebih maksimal sesuai

dengan prinsip kerjanya,

3) Mendeteksi suhu dalam ruangan dan mendeteksi pergerakan manusia yang

berada dalam ruangan.

A. mafaat bagi penulis

1). Menambah pengetahuan penulis dalam praktisi dan penulisan karya

penelitian, khususnya tentang rancang bangun kipas angin otomatis berbasis

arduino.

2). Pelaksanaan rancang bangun ini dilakukan agar penulis dapat

mengimplementasikan ilmu-ilmu dibidang elektronikka yang telah didapat

dibangku perkuliahan dan tempat praktek industry.

B. manfaat bagi mahasiswa

1) Bagi mahasiswa serta pembaca lain merupakan tambahan referensi baca

dan informasi khususnya bagi mahasiswa Teknik Elektronika, yang sedang

menyusun tugas akhir dengan pokok permasalahan yang sama.

2) Dengan adanya penelitian ini diharapkan setip mahasiswa dapat memupuk

keterampilan Dalam bidang teknik computer sehingga setelah selesai dari

bangku perkuliahan mahasiswa siap terjun kedunia kerja dengan membawa

nama baik almamater.

4
1.6.Metode Penelitian

Tahapan-tahapan penelitian yang akan ditempuh menyelesaikan tugas akhir ini

diantaranya adalah:

1) Studi Pustaka

Studi pustaka dilakukan untuk mendapatkan landasan informasi sebagai bahan

acuan dalam melakukan perencanaan, percobaan, pembuatan, dan penyusunan

tugas akhir.

2) Perancangan Sistem dan Implementasi.

Dilakukan dengan merancang sistem pengendali kipas angin otomatis pada

bagian transmitter dan receiver membuat skematik rangkaian hingga menjadi

suatu sistem yang lengkap.

3) Pengujian dan Analisis

Melakukan pengujian alat secara visual dan untuk memperoleh data dari

beberapa bagian perangkat keras elektronik dan rangkaian sehingga dapat

diketahui sudah dapat bekerja sesuai dengan yang diinginkan. Selain itu

pengujian juga digunakan untuk mendapatkan hasil dan mengetahui

kemampuan dan prinsip kerja alat.

1.7. Sistematika Penulisan

Sistem penulisan yang digunakan dalam penulisan tugas akhir ini sebagai berikut:

BAB I: PENDAHULUAN

Menguraikan tentang latar belakang, rumusan masalah, batasan masalah, tujuan,

metode penelitian, dan sistematika pembahasan yang digunakan dalam pembuatan

tugas akhir ini.

5
BAB II: DASAR TEORI

Menguraikan tentang pembahasan teori-teori dasar yang menunjang pada

perancangan kipas anginotomatis.

BAB III: PEMILIHAN KOMPONEN

Menguraikan tentang komponen yang akan digunakan beserta perbandingan

kualitas antar komponen, sehingga akan mendapatkan komponen yang sesuai

dengan spesifikasi alat dalam perancangan ini.

BAB IV: PERANCANGAN DAN CARA KERJA SISTEM

Menjelaskan tentang proses perancangan dan pembuatan alat (Hardware).

BAB V: KESIMPULAN DAN SARAN

Berisi tenteng kesimpulan dan saran. Kesimpulan didapat dari data-data hasil

pengujian yang dibandingkan dengan tujuan tugas akhir ini dan saran bertujuan

untuk perbaikan serta pengembangan lebih lanjut.

6
BAB II

LANDASAN TEORI

2.1.Kipas Angin

Kipas angin adalah suatu alat yang berfungsi untuk menggerakkan udara agar

berubah menjadi angin, beberapa fungsinya antara lain adalah untuk pendingin

udara, penyegar udara, ventilasi (exhaust fan), dan pengering (umumnya memakai

komponen penghasil panas). Kipas angin yang umum ditemukan menurut cara

menggerakkannya ada dua macam yakni kipas angin tradisional yang digerakkan

oleh tangan manusia dan kipas angin modern yang digerakkan oleh listrik.

Salah satu kipas angin tradisional adalah kipas angin yang ada di jepang yang

berbentuk setengah lingkaran dan dapat dilipat, di indonesia terdapat hihid yang

memiliki pegangan tersendiri, terbuat dari anyaman bamboo, hihid ini berasal dari

daerah jawa barat (suku sunda).

Gambar 2.1.gambar kipas angin tradisional


sumber: https://id.wikipedia.org/wiki/Kipas_angin (07-08-2018,11:02)

7
Pada tahun 1882 kipas angin listrik pertama ditemukan oleh Schuyler Skaats

Wheelerm, Wheeler pertama kali memperkenalkan kipas angin listrik dengan dua

buah baling-baling, tanpa ada pelindung apapun dan digerakkan dengan motor

listrik. Perkembangan kipas angin listrik lebih lanjut dikembangkan oleh Philip H.

Diehl yang dipatenkan pada tahun 1887.Diehl memperkenalkan kipas angin yang

menempel dilangit-langit rumah.

Perkembangan kipas angin semakin bervariasi baik dari segi ukuran, penempatan

posisi, serta fungsi. Ukuran kipas angin mulai kipas angin mini (Kipas angin

listrik yang dipegang tangan menggunakan energi baterai), kipas angin Kipas

angin digunakan juga didalam Unit CPU komputer seperti kipas angin untuk

mendinginkan processor, kartu grafis, power supply dan Cassing. Kipas angin

tersebut berfungsi untuk menjaga suhu udara agar tidak melewati batas suhu yang

ditetapkan. Kipas angin juga dipasang pada alas atau tatakan Laptop untuk

menghantarkan udara dan membantu kipas laptop dalam mendinginkan suhu

laptop tersebut.

Gambar 2.2.gambar kipas


Sumber: http://www.elevenia.co.id/prd-miyoshi-6-kipas-angin-meja-
ukuran-6-inch-15799922(07-08-2018,10:48)

8
2.2.Sensor Pir

Sensor PIR (Passive Infra Red) adalah sensor yang berfungsi untuk pendeteksi

gerakan yang bekerja dengan cara mendeteksi adanya perbedaan/perubahan suhu

sekarang dan sebelumnya. Sensor gerak menggunakan modul pir sangat simpel

dan mudah diaplikasikan karena Modul PIR hanya membutuhkan tegangan input

DC 5V cukup efektif untuk mendeteksi gerakan hingga jarak 5 meter. Ketika tidak

mendeteksi gerakan, keluaran modul adalah LOW. Dan ketika mendeteksi adanya

gerakan, maka keluaran akan berubah menjadi HIGH. Adapun lebar pulsa HIGH.

Sensitifitas Modul PIR yang mampu mendeteksi adanya gerakan pada jarak 5

meter memungkinkan kita membuat suatu alat pendeteksi gerak dengan

keberhasilan lebih besar.

Sensor PIR merupakan sensor yang mempunyai fungsi sebagai pendeteksi adanya

benda atau tidak dengan system deteksi pancaran sinar infra-red.Kepanjangan dari

PIR yaitu passive infra-red.

Komponen elektronika ini mempunyai sifat pasif, yang artinya tidak dapat

menghasilkan sinar infra-red secara independen akan tetapi hanya bertindak

sebagai penerima dari sinar infra-red.

Apabila penggunaan dari sensor PIR ini difungsikan dalam aplikasi proyek

detector pergerakan. Dikarenakan semua benda yang memancarkan atau

menghasilkan energy radiasi, akan terdeteksi oleh sensor ini pada saat infra merah

dari sensor PIR mendeteksi dengan perbedaan suhu tertentu.

9
Gambar 2.3 : gambar sensor PIR
sumber: https://www.instructables.com/id/PIR-Motion-Sensor-Tutorial/
(07-08-2018,11:26)

prinsip kerja sensor PIR

pancaran dari sinar infra-red yang mengenai ke sensor pryrolektrik masuk melalui

lensa Fresnel akan dihasilkan output arus listrik efek dari sinar infra-red yang

memiliki kandungan energy kalor.

Arus listrik yang timbul akan menghasilkan tegangan yang akan diproses lebih

lanjut yang dimana akan masuk ke IC kompator. IC kompator inilah akan

dibandingkan tegangan yang dihasilkan dari hasil pembacaan sensor dengan

tegangan referensi/Vref dan akan menghasilkan output berupa sinyal 1 bit.

Sehingga output dari sensor ini yaitu logika 1/high dan 0/low. Pada saat kondisi

logika HIGH berarti sensor terdeteksi adanya infra-red, sedangkan logika LOW

kebalikan dari itu.

Sensor ini difungsikan untuk mendeteksi adanya pancaran infra-red yang panjang

gelombang antara 8-14µm, dan selain panjang gelombang tersebut maka sensor

tidak akan bekerja.

10
Pada manusia mempunyai temperature suhu badan yang bisa menghasilkan

pancaran infra-red yang panjang gelombangnya antara 9-10 µm dengan standar

pada 9,4 µm. Dan pada nilai panjang gelombang tersebut merupakan range nilai

yang dapat dideteksi oleh sensor PIR.

2.3.mikrokontroler

2.3.1. Pengrtian mikrokontroler

Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah

chip. Didalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM,

memori program, atau keduanya), dan perlengkapan input output.

Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang

mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis

dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca

dan menulis data. Mikrokontroler merupakan komputer didalam chip yang

digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan

efektifitas biaya. Secara harfiah bisa disebut “pengendali kecil” dimana sebuah

sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen

pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya

terpusat serta dikendalikan oleh mikrokontroler ini. Mikrokonktroler digunakan

dalam produk dan alat yang dikendalikan secara automatis, seperti sistem kontrol

mesin, remote controls, mesin kantor, peralatan rumah tangga, alat berat, dan

mainan. Dengan mengurangi ukuran, biaya, dan konsumsi tenaga dibandingkan

dengan mendesain menggunakan mikroprosesor memori, dan alat input output

11
yang terpisah, kehadiran mikrokontroler membuat kontrol elektrik untuk berbagai

proses menjadi lebih ekonomis. Dengan penggunaan mikrokontroler ini maka:

 Sistem elektronik akan menjadi lebih ringkas.

 Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari

sistem adalah perangkat lunak yang mudah dimodifikasi.

 Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak.

Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut

memerlukan komponen eksternal yang kemudian disebut dengan sistem

minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock

dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem

clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah

beroperasi. Yang dimaksud dengan sistem minimal adalah sebuah rangkaian

mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah aplikasi.

Sebuah IC mikrokontroler tidakakan berarti bila hanya berdiri sendiri. Pada

dasarnya sebuah sistem minimal mikrokontroler AVR memiliki prinsip yang

sama.

2.3.2. Arduino Nano

Arduino merupakan sebuah platform dari physicalcomputing yang bersifat

open source[1]. Arduino sendiri merupakan salah satu mikrokontroler yang paling

banyak beredar di pasaran Indonesia bahkan dunia, yang memiliki banyak

developer dan programmer lepas sebagai support bagi pengguna mikrokontroler

ini.

Arduino tidak hanya sekedar sebuah alat pengembangan, namun juga

merupakan kombinasi dari hardware, bahasa pemrograman dan Integrated

12
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 mikrocontroler. Ada banyak projek dan alat-alat

dikembangkan oleh akademisi dan profesional dengan menggunakan Arduino,

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. Sifatnya yang open source membuat diagram

rangkaian elektronik Arduino digratiskan kepada semua pihak. Sama halnya

dengan IDE Arduino yang bisa di-download dan diinstal pada komputer secara

gratis. Secara umum Arduino terdiri dari dua bagian, yaitu:

1) Hardware papan input/output (I/O)

2) Software Software Arduino meliputi IDE untuk menulis program, driver

untuk koneksi dengan komputer, contoh program dan library untuk

pengembangan program.

Gambar 2.4.. Arduino Nano


Sumber: https://store.arduino.cc/usa/arduino-nano
(15-08-2018,10:20)

Komponen utama didalam papan Arduino adalah sebuah microcontroller 8

bit dengan merk ATmega yang dibuat oleh perusahaan Atmel Corporation.

13
Berbagai papan Arduino menggunakan tipe ATmega yang berbeda-beda

tergantung dari spesifikasinya, sebagai contoh Arduino Nano menggunakan

ATmega328 sedangkan Arduino Mega 2560 yang lebih canggih menggunakan

ATmega2560. Gambar 2.3. merupakan blok diagram sederhana yang terdapat

pada atmega328 pada arduino nano dan juga arduino uno.

Gambar 2.5. Blok Diagram Atmega328


Sumber: Pengenalan Arduino oleh Feri Djuani, Juli 2011

Blok-blok pada gambar 2.5. dijelaskan sebagai berikut:

A. Universal AsynchronousReceiver/Transmitter (UART) adalah antar muka

yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan

RS-485.

B. 2KB RAM pada memory kerja bersifat volatile (hilang saat daya

dimatikan), digunakan oleh variable-variabel di dalam program.

C. 32KB RAM flash memory bersifat non-volatile, digunakan untuk

menyimpan program yang dimuat dari komputer. Selain program, flash

memory juga menyimpan bootloader. Bootloader adalah program inisiasi

14
yang ukurannya kecil, dijalankan oleh CPU saat daya dihidupkan. Setelah

bootloader selesai di jalankan, berikutnya program didalam RAM akan

dieksekusi.

D. 1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data

yang tidak boleh hilang saat daya dimatikan. Tidak digunakan pada papan

Arduino.

E. Central Processing Unit (CPU), bagian dari microcontroller untuk

menjalankan setiap instruksi dari program.

F. Port input/output, pin-pin untuk menerima data (input) digital atau analog,

dan mengeluarkan data (output) digital atau analog.

Berikut adalah penjelasan mengenai pin-pin yang ada pada arduino nano:

A. Power

Arduino dapat diberikan power melalui koneksi USB atau power supply.

Powernya diselect secara otomatis. Board arduino dapat dioperasikan

menggunakan supply dari luar sebesar 6 - 20 volt. Jika supply kurang dari 7V,

kadangkala pin 5V akan menyuplai kurang dari 5 volt dan board bisa menjadi

tidak stabil. Jika menggunakan lebih dari 12V, tegangan di regulator bisa

menjadi sangat panas dan menyebabkan kerusakan pada board.Rekomendasi

tegangan ada pada 7 sampai 12 volt. Pin power pada arduino nano terdiri dari:

1) Vin, Tegangan input ke board arduino ketika menggunakan tegangan dari

luar (seperti yang disebutkan 5 volt dari koneksi USB atau tegangan yang

diregulasikan). Pengguna dapat memberikan tegangan melalui pin ini, atau

15
jika tegangan suplai menggunakan power jack, aksesnya menggunakan pin

ini.

2) 5V, Regulasi power supply digunakan untuk power mikrokontroller dan

komponen lainnya pada board. 5V dapat melalui Vin menggunakan

regulator pada board, atau supply oleh USB atau supply regulasi 5V lainnya.

3) 3V3, Suplai 3.3 volt didapat oleh FTDI chip yang ada di board. Arus

maximumnya adalah 50mA.

4) Pin Ground, berfungsi sebagai jalur ground pada arduino.

B. Memori

ATmega328 pada arduino nano memiliki 32 KB flash memori untuk

menyimpan kode, juga 2 KB yang digunakan untuk bootloader. ATmega328

memiliki 2 KB untuk SRAM dan 1 KB untuk EEPROM.

C. Input dan Output

Setiap 14 pin digital pada arduino dapat digunakan sebagai input atau output,

menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Input/output

dioperasikan pada 5 volt.Setiap pin dapat menghasilkan atau menerima

maximum 40 mA dan memiliki internal pull-up resistor (disconnected oleh

default) 20-50 KOhms. Beberapa pin memiliki fungsi sebagai berikut:

1) Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan

mengirim (TX) TTL data serial. Pin ini terhubung pada pin yang

koresponding dari USB FTDI ke TTL chip serial.

16
2) Interupt eksternal: 2 dan 3. Pin ini dapat dikonfigurasikan untuk trigger

sebuah interap pada low value, rising atau falling edge, atau perubahan nilai.

3) PWM: 3, 5, 6, 9, 10, dan 11. Mendukung 8-bit output PWM dengan fungsi

analogWrite().

4) SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mensuport

komunikasi SPI, yang mana masih mendukung hardware, yang tidak

termasuk pada bahasa arduino.

5) LED: 13 Ini adalah dibuat untuk koneksi LED ke digital pin 13 Ketika pin

bernilai HIGH, LED hidup, ketika pin LOW, LED mati.

Arduino nano memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer,

Arduino lain, atau mikrokontroler lain. ATmega328 ini menyediakan UART TTL

(5V) komunikasi serial, yang tersedia pada pin digital 0 (RX) dan 1 (TX). Sebuah

ATmega16U2 pada saluran board ini komunikasi serial melalui USB dan muncul

sebagai com port virtual untuk perangkat lunak pada komputer. Firmware '16U2

menggunakan USB driver standar COM, dan tidak ada driver eksternal yang

dibutuhkan. Namun, pada Windows, file. Inf diperlukan. Perangkat lunak Arduino

termasuk monitor serial yang memungkinkan data tekstual sederhana yang akan

dikirim ke dan dari papan Arduino. RX dan TX LED di papan akan berkedip

ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke

komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1). Sebuah

perpustakaan SoftwareSerial memungkinkan untuk komunikasi serial pada setiap

pin digital nan. ATmega328 ini juga mendukung komunikasi I2C (TWI) dan SPI.

Perangkat lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan

17
penggunaan dari bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi

SPI, menggunakan perpustakaan SPI.

2.3.3. Fitur AVR ATMega328

ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai

arsitektur RISC (Reduce Instruction Set Computer) yang dimana setiap proses

eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set

Computer). Mikrokontroller ini memiliki beberapa fitur antara lain:

130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.

32 x 8-bit register serba guna.

 Kecepatan mencapai 16 MIPS dengan clock 16 MHz.

 32 KB Flashmemory dan pada arduino memiliki bootloader yang

menggunakan 2 KB dari flash memori sebagai bootloader.

 Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory)

sebesar 1KB sebagai tempat penyimpanan data semi permanen karena

EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.

 Memiliki SRAM (Static Random Access Memory) sebesar 2KB.

 Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width

Modulation) output.

 Master / Slave SPI Serial interface.

Mikrokontroller ATmega 328 memiliki arsitektur Harvard, yaitu memisahkan

memori untuk kode program dan memori untuk data sehingga dapat

memaksimalkan kerja dan parallelism.

18
Instruksi – instruksi dalam memori program dieksekusi dalam satu alur

tunggal, dimana pada saat satu instruksi dikerjakan instruksi berikutnya sudah

diambil dari memori program. Konsep inilah yang memungkinkan instruksi –

instruksi dapat dieksekusi dalam setiap satu siklus clock. 32 x 8-bit register serba

guna digunakan untuk mendukung operasi pada ALU ( Arithmatic Logic unit )

yang dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat

digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak

langsung untuk mengambil data pada ruang memori data. Ketiga register pointer

16-bit ini disebut dengan register X (gabungan R26 dan R27), register Y

(gabungan R28 dan R29), dan register Z (gabungan R30 dan R31). Hampir semua

instruksi AVR memiliki format 16-bit. Setiap alamat memori program terdiri dari

instruksi 16-bit atau 32-bit. Selain register serba guna diatas, terdapat register lain

yang terpetakan dengan teknik memory mapped I/O selebar 64 byte. Beberapa

register ini digunakan untuk fungsi khusus antara lain sebagai register control

Timer/ Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya.

Register – register ini menempati memori pada alamat 0x20h – 0x5Fh.

19
Gambar 2.6. Arsitektur ATMega328

Sumber : Pengenalan Mikrokontoler Chapter II oleh Universitas Sumatra Utara

(15-08-2018,10:20)

2.3.4. Konfigurasi PIN ATMega328

ATMega328 memiliki jumlah kaki sebanyak 28 pin dengan 3 buah PORT,

yaitu PORT B, PORT C, PORT D. PORT B terdiri dari 8 pin, PORT C terdiri

dari 7 pin, dan PORT D terdiri dari 8 pin.

20
Gambar 2.7. Konfigurasi PIN ATMega328

Sumber : Pengenalan Mikrokontoler Chapter II oleh Universitas Sumatra

Utara(15-08-2018,10.20)

2.4.Sensor suhu DHT11

DHT11 adalah sensor digital yang dapat mengukur suhu dan kelembaban udara

disekitarnya. Sensor ini sangat mudah digunakan bersama dengan Arduino.

Memiliki tingkat stabilitas yang sangat baik serta fitur kalibrasi yang sangat

akurat. Koefisien kalibrasi disimpan dalam OTP program memory, sehingga

ketika internal sensor mendeteksi sesuatu, maka module ini menyertakan

koefisien tersebut dalam kalkulasinya, DHT11 ini termasuk sensor yang memiliki

kualitas terbaik, dinilai dari respon, pembacaan data yang cepat, dan kemampuan

anti-interference. Ukurannya yang kecil, dan dengan transmisi sinyal hingga 20

meter, dengan sepsifikasi: Supply Voltage: +5V, Temperature range : 0-50 °C

error of ± 2 °C, Humidity : 20-90% RH ± 5% RH error, dengan spesifikasi

digital interfacing system. membuat produk ini cocok digunakan untuk banyak

aplikasi-aplikasi pengukuran suhu dan kelembaban.

21
Gambar 2.8.gambar sensor suhu DHT11
Sumber:http://www.ilmuotomasi.com/2015/05/akses-sensor-suhu-dht-11.html(09-08-
2018,09:55)

2.5.Keypad

Keypad matrix adalah tombol-tombol yang disusun secara maktriks (baris x

kolom) sehingga dapat mengurangi penggunaan pin input. Sebagai contoh keypad

matrik 4x4 cukup menggunakan 8 pin untuk 16 tombol. Hal tersebut

dimungkinkan karena rangkaian tombol disusun secara horizontal membentuk

baris dan secara vertical membentuk kolom.

Gambar 2.9.gambar keypad


Sumber:https://www.evelta.com/sensors/touch-sensor/16-key-4x4-
matrix-membrane-type-keypad (09-08-2018,10:33)

22
2.6. Liquid crystal display (lcd)

LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan

elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan

lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan

listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri

dengan Eelektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya

vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan

lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul

yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap

dan membentuk karakter data yang ingin ditampilkan.

Dalam modul LCD (Liquid Cristal Display) terdapat microcontroller yang

berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display).

Microntroller pada suatu LCD (Liquid Cristal Display) dilengkapi dengan

memori dan register. Memori yang digunakan microcontrolerinternal LCD

adalah:

1. DDRAM (Display Data Random Access Memory) merupakan memori tempat

karakter yang akan ditampilkan berada.

2. CGRAM (Character Generator Random Access Memory) merupakan memori

untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter

dapat diubah-ubah sesuai dengan keinginan.

3. CGROM (Character Generator Read Only Memory) merupakan memori

untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan

karakter dasar yang sudah ditentukan secara permanen oleh pabrikan pembuat

LCD (Liquid Cristal Display) tersebut sehingga pengguna tinggal

23
mangambilnya sesuai alamat memorinya dan tidak dapat merubah karakter

dasar yang ada dalam CGROM.

Register control yang terdapat dalam suatu LCD diantaranya adalah:

1. Register perintah yaitu register yang berisi perintah-perintah dari

mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses

penulisan data atau tempat status dari panel LCD (Liquid Cristal Display)

dapat dibaca pada saat pembacaan data.

2. Register data yaitu register untuk menuliskan atau membaca data,dari atau

keDDRAM.Penulisan data pada register akan menempatkan data tersebut

keDDRAM sesuai dengan alamat yang telah diatur sebelumnya.

Pin kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display)

diantaranya:

1. Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan

menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus

data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.

2. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan

jenis data yang masuk, apakah data atau perintah. Logika low menunjukan

yang masuk adalah perintah, sedangkan logika high menunjukan data.

3. Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis

data, sedangkan high baca data.

4. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.

24
Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini

dihubungkan dengan trimpot 5 K ohm, jika tidak digunakan dihubungkan ke

ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.

Gamabar 2.10.gambar LCD


Sumber:https://www.amazon.com/Module-Controller-HD44780-Arduino-
Corpco/dp/B01BB4VKIE (09-08-2018,10:47)

2.7.relay

Relay adalah komponen elektronika yang berupa saklar atau switch elektrik yang

dioperasikan menggunakan listrik. Relay juga biasa disebut sebagai komponen

electromechanik atau elektromekanikal yang terdiri dari dua bagian utama yaitu

coil atau electromagnet dan kontak saklar atau mekanikal.

Komponen relay menggunakan prinsip elektromagnetik sebagai penggerak kontak

saklar, sehingga dengan menggunakan arus listrik yang kecil atau low power,

dapat menghantarkan arus listrik yang memiliki tegangan lebih tinggi.

Cara kerja atau prinsip kerja relay yang juga harus anda ketahui, bahwa dalam

sebuah relay terdapat 4 buah bagian penting yakni electromagnet (coil), armature,

switch contact (saklar) dan spring.

25
Gambar 2.11. gambar relay
Sumber: http://www.immersa-lab.com/pengertian-relay-fungsi-dan-cara-kerja-relay.htm
(24-10-2018, 11: 14)

Dari gambar tersebut dapat diketahui bahwa sebuah besi (iron core) yang dililit

oleh kumparan coil, berfungsi untuk mengendalikan besi tersebut.Apabila

kumparan coil. Apabila kumparan coil dialiri arus listrik, maka akan muncul gaya

elektromagnetik yang dapat menarik armature sehingga berpindah dari posisi

sebelumnya tertutup (NC) menjadi posisi baru yakni terbuka (NO).

Dalam posisi (NO) saklar dapat menghantarkan arus listrik. Pada saat tidak dialiri

arus listrik, armature akan kembali keposisi awal (NC). Sedangkan coil yang

digunakan oleh relay untuk menarik contact poin ke posisi close hanya

membutuhkan arus listrik yang relative cukup kecil.

1. NC atau normally close adalah kondisi awal relay sebelum diaktifkan

selalu berada diposisi close (tertutup).

2. NO atau normally open adalah kondisi awal relay sebelum diaktifkan

selalu berada diposisi open (terbuka).

2.8. Obeng

26
Fungsi obeng yaitu digunakan untuk mengencangkan atau mengendorkan baut.

Jenis obeng yang sering digunakan adalah model obeng kembang atau plus (+)

dan slotted yang sering disebut obeng minus (-)

Gambar 2.12. gambar obeng


Sumber: http://www.indotrading.com/obeng_2598 (24-10-2018, 11: 57)

2.9.Solder

Solder adalah alat pemanas untuk melelehkan timah sehingga menempel pada

kaki transistor atau komponen elektronika lainnya, sehingga kaki-kaki tersebut

bersatu dengan jalur pada PCB (printed circuit board). Keterampilan yang paling

dasar yang diperlukan untuk merakit atau memperbaiki perangkat elektronik

adalah menyolder, tegangan yang dipakai yaitu 30-40watt.

27
Gambar 2.13. gambar solder
Sumber: http://www.distributorbangunan.com/solder-listrik-tembak-
cyber/ (24-10-2018, 12: 20)

2.10. Tenol (timah solder)

Tenol adalah campuran logam atau sering dikenal dengan alloy. Tenol adalah

campuran antara timah dan timbal.

Gambar 2.14. gamabr tenol


Sumber: http://onglaistore.com/toko/merek/yihua/timah-gulung-
yihua-50gr-0-8mm-original-71026 (24-10-2018, 12: 28)

28
2.11. Multi tester

Multi tester (multimeter) adalah sebagai alat bantu yang digunakan untuk

mengukur arus listrik, tegangan listrik, resistansi atau ketahanan suatu benda yang

biasa disebut avometer yang memiliki berbagai fungsi dan kegunaan sesuuai yang

diukur oleh multimeter. Multimeter ada dua jenis yaitu multimeter analog dan

multimeter digital. Pada multimeter analog terdapat beberapa yang sesuai

fungsinya, DCV untuk mengukur aliran listrik DC, ACV untuk mengukur

hambatan pada komponen, DcmA digunakan untuk mengukur arus DC yang

kecil.

Gambar 2.15. gambar multimeter


Sumber: http://tekpower.us/multimeter/analog-meter/tp8250.html
(24-10-2018, 12: 42)

29
2.12. Resistor

Resistor adalah komponen elektronika yang berfungsi untuk menghambat atau

membatasi aliran listrik yang mengalir dalam suatu rangkaian elektronika.

Sebagaimana fungsi resistor yang sesuai namanya bersifat resistif dan termasuk

salah satu komponen elektronika dalam kategori komponen pasif.

Dari semua komponen maka resistor adalah komponen yang paling banyak dan

paling sering dibutuhkan untuk membuat suatu alat elektronika. Resistor tidak

mempunyai polaritas atau kutub (+) dan kutub (-) seperti komponen lainnya.

Gambar 2.16. resistor


Sumber: http://theelectronicsproject.blogspot.com/2013/01/resistor.html (13-12-2018, 02:
26)

30
2.13. Catudaya

Catudaya adalah suatu alat atau perangkat elektronik yang berfungsi untuk

merubah arus AC menjadi arus DC untuk memberi daya suatu perangkat keras

lainnya. rangkaian catu daya terdiri dari komponen diode, resistor, IC LM7809,

sebagai input sumber tegangan 12V 2A dari adaptor. Gambar rangkaian

elektronika adaptor dapat dilihat pada gambar.

Gambar: 2.17 gambar catudaya


Sumber: http://www.komponen.biz/pengertiancatudaya / (07-12-2018, 11: 04)

31
BAB III

METODOLOGI PENELITIAN

Metodologi penlitian adalah kesatuan metode-metode,konsep-konsep pengerjaan,

aturan-aturan dan argumentasi yang digunakan oleh suatu ilmu pengetahuan, seni

atau disiplin lainnya.

3.1. jenis penelitian

Jenis penelitian yang dilakukan adalah jenis penelitian percobaan. Percobaan

dilakukan untuk membuat dan merancang suatu rangkaian elektronika yang

berbasis arduino nano yang diterapkan dalam system rancang bangun kipas angin

otomatis mengunakan sensor (PIR dan suhu DHT11).

3.2. Objek Penelitian

Objek yang digunakan dalam penelitian ini adalah rancang bangun kipas angin

otomatis yang didalam system kerjanya menggunakan arduino nano dan sensor.

3.3. Tempat Dan Waktu Penelitian

A. Tempat Penelitian

Penelitian dilakukan di Witamaical Cource Pringsewu alamat Belakang

Balai Desa Tambahrejo, Kecamatan Gadingrejo, Kabupaten Pringsewu.

32
B. Waktu Penelitian

Penelitian dilakukan pada waktu pelaksaan praktek industry selama dua

bulan. Program belajar yag dilakukan selama masa praktek indstri adalah

arduino dan elektronika digital.

3.4. Teknik Pengumpulan Data

Pengumpulan data merupakan metode yang difungsikan untuk memperoleh

informasi atau data terhadap permasalahan dalam penyusunan tugas akhir ini,

penulis menggunakan teknik pengumpulan data yaitu studi lapangan, merupakan

metode penelitian yang dilakukan untuk memperoleh data dan informasi dengan

mengadakan penelitian langsung pada objek penelitian. Adapun metode penelitian

yang dilakukan adalah:

A. Metode pengamatan (observasi)

Merupakan teknik pengumpulan data yang dilakukan dengan cara meneliti

atau praktek secara langsung mengenai rangkaian elektronika berbasis

arduino nano.

B. Metode studi pustaka

Merupakan metode penelitian yang dilakukan dengan cara mempelajari

berbagai laporan, karangan ilmiah, buku-buku dari internet yang

berhubungan dengan rangkaian elektronika berbasis arduino nano.

33
3.5. Rancangan Penelitian

Tahap yang dilakukan dalam membuat dan merancang rancang bangun kipas

angin otomatis berbasis arduino nano sebagai berikut:

A. Tahap persiapan objek

Persiapan objek penelitian yang digunakan dalam system rancang bangun

kipas angin otomatis menggunakan sensor PIR dan sensor suhu dan

didukung oleh arduino nano.

B. Tahap koneksi fisik

Koneksi fisik merupakan cara menghubungkan perangkat hardware dari

perangkat satu keperangkat lain, sehingga dapat digunakan, membutuhkan

komponen, yaitu:

1) PC yang digunakan sebagai media penulisan program serta

pengimputan program kedalam arduino nano, dengan menghubungkan

arduino nano ke pc menggunakan USB converter.

2) Software arduino v1.6.5 sebagai aplikasi pembuat program untuk

diinputkan arduino nano.

3) Peralatan yang digunakan untuk membuat rangkian pendingin ruangan

otomatis yaitu: obeng, solder, tinol, multi tester.

C. Tahap koneksi logis

Tahap koneksi logis merupakan aturan supaya perangkat arduino nano bisa

saling berhubungan, dalam penelitian ini operating system (OS) yang

34
digunakan adalah windows 7 karena merupakan system operasi yang dapat

digunakan untuk menghubungkan computer dengan rangkaian arduino

nano.

D. Tahap instalasi hardware

a. Pembuatan rangkaian, proses pembuatan rangkaian meliputi

rangkaian kipas angin dan rangkaian sensor.

b. Penyambungan atau penggabungan perangkat yaitu dengan

menyambungkan atau instalasi dari perangkkat arduino nano ke

kipas angin.

E. Tahap instalasi software

a. Install aplikasi arduino v1.6.5

b. Buat listing program menggunakan software arduino v1.6.5

3.6. Gambaran Umum Lokasi Penelitian

A. Sejarah Singkat Witamaichal Course

Witamaichal Course merupakan sebuah lembaga yang fokus pada bidang

teknologi dan memiliki keahlian khusus dibidang Elektronika Kontrol,

Sistem Benam, Robotika, Website, serta Aplikasi Dekstop seperti

Administrasi Perkantoran. Selain itu Witamaichal Course memiliki anak

cabang berupa toko Elektronika yang menjual sensor – sensor dan

mikrokontroler serta actuator yang diberi nama IB-Electronic. Witamaichal

Course beralamat di Belakang Balaidesa Tambahrejo, Kecamatan

35
Gadingrejo, Kabupaten Pringsewu, Lampung, dan didirikan oleh Bpk.

Wiyana, S.St.

B. Visi dan Misi

Visi:

Menjadi lembaga dan perusahaan penghasil teknologi innovative dalam skala

nasional maupun internasional.

Misi:

1. Berperan aktif dalam membangun kesadaran masyarakat mengenai arti

penting teknologi.

2. Memberikan pelayanan dan hasil terbaik kepada mitra kerja.

3. Melakukan pengembangan di setiap divisi demi terciptanya inovasi.

C. Struktur Organisasi Witamaichal Course

STRUKTUR ORGANISASI WITAMAICHAL COURSE

DIREKTUR
WIYANA, S.St.

WAKIL
M. ARIF WICAKSONO, S.St.

BENDAHARA SEKRETARIS
TARMI, S.Pd. TARMI, S.Pd.

MARKETING CTO
M. ARIF WICAKSONO, S.St. M. ARIF WICAKSONO, S.St.
36
3.7.Estimasi Waktu

Tabel 3.1. Estimasi Waktu


Bulan
N Kegiatan K
o Mahasiswa Jul agust Sept Okto Des et

Pengumpulan
1
Bahan
Pengerjaan Alat
2
Penulisan Tugas
3
Akhir
Bimbingan
4
Tugas Akhir
Sidang Tugas
5
Akhir
Sumber : penulis (20-08-2018,10:30)

3.8.Estimasi biaya

Tabel 3.2. Estimasi Biaya


No Nama Bahan Harga Satuan Qty Total
1 Arduino Nano Rp 55,000 1 Rp 55,000.00
2 Pir Rp 15,000 2 Rp 30,000.00
3 DHT11 Rp 20,000 1 Rp 20,000.00
4 Relay 1Ch Rp 12,000 1 Rp 12,000.00
5 LCD Green Rp 20,000 1 Rp 20,000.00
6 Keypad Rp 10,000 1 Rp 10,000.00
7 PCB, Header, VR, Dll Rp 25,000 1 Rp 25,000.00
8 Adaptor 12V 2A Rp 50,000 1 Rp 50,000.00
9 Jumper M-F Rp 9,000 1 Rp 9,000.00
Jumlah Rp 231,000.00

Sumber : witamaichal course (22-10-2018,3:44)

37
3.9.Bagan Kerangka Kerja

Persiapan Bahan

Perancangan Sistem

Perancangan Hardware

Perancangan Mekanik

Pembuatan Program

N
Pengujian
Alat

Y
Selesai

Gambar 3.1 : diagram bagan kerangka kerja


Sumber : penulis (20-08-2018,11:00)

38
BAB IV

PEMBAHASAN

4.1. Persiapan Alat dan Bahan

Kebutuhan alat dan bahan keseluruhan dalam merancang “Rancang Bangun

Kipas Angin Otomatis berbasis arduino” menggunakan arduino terdapat pada

Tabel 4.1.

Tabel 4.1 Persiapan Alat dan Bahan


NO BAHAN ALAT
1 Arduino Nano ATMega328 PC atau Laptop
2 Sensor PIR Solder
3 LCD 16x2 Sedot Timah
4 Relay 1 Chanel 5V Tang Potong
5 Keypad 4x4 Obeng (+) dan (-)
6 Kabel Jumper Male to Female Bor Tangan
7 Pin Header Single Male Multitester
8 Pin Header Single Female Korek Api Gas
9 DC Connector Kabel USB Mini
10 Sensor DHT11 Cutter
11 Papan Plastik Penggaris
12 Mur Lem Tembak
13 Baut Gunting
14 Isi Lem Bakar
15 Steker
16 Stop Kontak
17 Adaptor 12V 2A
18 Skotlet
19 V Resistor 5K Ohm

Sumber: penulis (25-10-2018, 06: 50)

39
4.2. Perancangan Hardware

Perancangan hardware dilakukan dengan beberapa tahap, dimana tahap pertama

adalah penggambaran diagram sistem yang akan dibuat. Diagram sistem

merupakan pernyataan hubungan yang berurutan dari komponen satu

kekomponen yang lainnya yang memiliki keterkaitan dalam sistem kinerja.

Diagram sistem dalam merancang “RANCANG BANGUN KIPAS ANGIN

OTOMATIS BERBASIS ARDUINO” menggunakan arduino terdapat pada

gambar 4.2.

PIR 1

PIR 2 Mikrokontroler/ LCD 16x2

Arduino Nano
Keypad 4x4 Relay/Kipas

DHT11

INPUT PROSES OUTPUT

Gambar 4.1. Diagram Sistem Penelitian


Smber: penulis (25-10-2018, 06: 50)

Adapun penjelasan dari masing - masing diagram system pada gambar 4.2 adalah

sebagai berikut:

1. Input yang terdiri terdiri dari 4 buah masukan, yaitu 2 buah sensor PIR pada

pin digital 9 dan pin 10, 1 buah sensor DHT11 pada pin digital 2, dan 1 buah

keypad 4x4 yang dipasang pada pin 11, 12, A0, A1 untuk row line dan pin A2,

A3, A4, A5 untuk column line.

40
2. Proses merupakan pusat operasi dan pengolahan data input dari PIR, DHT, dan

Keypad sehingga menghasilkan perintah bagi output. Pada bagian ini diisi atau

diprogram berdasarkan kebutuhan dari peneliti.

3. Output terdiri dari sebuah lcd 16x2 serta sebuah relay 1 chanel yang digunakan

untuk memberikan kontak kepada kipas angin berdaya AC. LCD digunakan

untuk menampilkan hasil dari pembacaan sensor PIR serta sensor DHT. Selain

itu dengan adanya LCD user dapat dimudahkan dalam proses pengaturan

seperti pengaturan limit suhu serta lama idle timer setelah pembacaan sensor

PIR. Relay difungsikan untuk memberikan kontak pada kipas agar dapat

berjalan sesuai dengan perintah yang diberikan peneliti.

Sedangkan untuk catu daya arduino diambil dari adaptor 12V 2A sebagai sumber

daya semua peripheral atau bahan yang digunakan.

4.2.1. Rangkaian Input

Rangkaian input ini berupa beberapa header pin single male, yang disusun seperti

pada gambar 4.3. Pin header digunakan sebagai konektor antara sensor PIR1 dan

PIR2 dengan Arduino, sensor suhu DHT11, serta menghubungkan antara Keypad

yang memiliki 8 baris input dengan arduino. Rangkaian ini menjadi satu dengan

rangkaian utama namun sensor tidak langsung tersolder pada rangkaian,

dibutuhkan kabel untuk menghubungkan antara rangkaian dan sensor dikarenakan

peletakan masing-masing sensor yang berbeda beda sesuai kegunaan dalam sistem

ini.

41
Gambar 4.2. Rangkaian Input Sistem
Sumber : Print Screen (25-10-2018, 07: 00)

Keterangan mengenai rangkaian seperti pada gambar 4.2 adalah sebagai berikut:

1. SV1 dan SV2 merupakan icon input dari sensor PIR1 dan PIR2, satu buah pin

Ground, serta 1 buah VCC dengan tegangan 5V.

2. SV3 merupakan pin header untuk input keypad.

3. SV5 merupakan pin header single untuk sensor suhu DHT11, satu buah

Ground, serta 1 buah VCC 5V.

Sebagai catatan, dalam mode schematic pada aplikasi eagle hanya perlu diberi

label untuk tiap kaki-kaki dari header untuk menghubungkan dengan kaki-kaki

yang ada pada arduino. Sehingga terlihat sederhana tanpa adanya garis garing

penghubung yang terkadang membuat interface sedikit lebih berantakan.

42
Keypad

PIR 1 PIR 2
DHT11

Gambar 4.3. Rangkaian Input Sistem


Sumber: print screen (25-10-2018, 07:10)

Rangkaian dalam bentuk board seperti pada gambar 4.3. digunakan sebagai acuan

pembuatan rangkaian yang sebenarnya pada PCB lubang. Hal ini memungkinkan

dilakukan pada PCB lubang dikarenakan tidak terlalu banyak jumper yang ada.

Selain itu jumper bisa dilakukan tanpa kabel karena hanya melewati satu dua jalus

saja, sehingga jumper bisa berupa timah utuh yang dijadikan jembatan untuk

melewati jalur lain.

4.2.2. Rangkaian Proses Arduino Nano

Rangkaian proses berisi beberapa pin header serta sebuah DC jack input sebagai

konektor input untuk tegangan masukan sebesar 12V 2A. Secara schematic

rangkaiannya dapat dilihat pada gambar 4.5.

43
6 1

7
5

2 3 4

Gambar 4.4. Schematic Rangkaian Utama


Sumber : Print Screen (25-10-2018, 07: 30)

Schematic dirancang menggunakan aplikasi eagle, jalur dari tiap tiap bagian pada

schematic dihubungkan menggukan label sehingga rangkaian terlihat lebih rapi.

Setiap label dengan nama yang sama akan saling terhubung dari tiap tiap bagian.

Contoh terdapat label GND pada gambar 4.4. pada kaki IC dan juga pada kaki

header, mengartikan bahwa kaki GND antara IC dan header terhubung. Penjelasan

untuk tiap-tiap bagian dapat dilihat pada table 4.2.

44
Tabel 4.2 Penjelasan Rangkaian Utama Sistem
NO KETERANGAN
1 Rangkaian Jack DC sebagai input tegangan 12V 2A dari adaptor. Satu
kaki dari konektor ini terhubung dengan GND, dan satu kaki lainnya
terbuhung dengan kaki +5V pada Arduino Nano.

2 Rangkaian pin header sebagai tempat diletakkannya sensor PIR 1 dan


sensor PIR 2.

3 Rangkaian pin header sebagai tempat diletakkannya keypad.

4 Rangkaian pin header sebagai tempat diletakkannya sensor suhu DHT11.

5 Rangkaian pin header sebagai tempat diletakkannya LCD.

6 Rangkaian pin header sebagai tempat diletakkannya modul relay.

7 Berupa kumpulah header female tempat diletakkannya Arduino Nano.


Sumber: penulis (26-10-2018, 10: 30)

Secara tampilan board dapat dilihat pada gambar 4.5. Sama halnya dengan

rangkaian sensor dimana rangkaian board ini dijadikan acuan untuk membuat

jalur pada PCD lubang.

45
Gambar 4.5. Rangkaian Utama Sistem dalam bentuk Board
Sumber : Print Screen (25-10-2018, 12: 20)

4.2.3. Rangkaian Output

Rangkaian output pada pembuatan sistem ini sudah di merge dengan rangkaian

utama, sama dengan rangkaian input. Sehingga kabel dari motor servo hanya

ditancapkan pada rangkaian utama.

46
Gambar 4.6. Rangkaian Output dalam bentuk Schematic
Sumber : Print Screen (25-10-2018, 09: 00)

Keterangan mengenai rangkaian seperti pada gambar 4.8 adalah sebagai berikut:

1. SV4 merupakan icon header pada aplikasi eagle sebagai konektor antara

arduino nano dengan relay sebagai kontaktor penggerak kipas angin ac 220V.

2. SV7 merupakan pin header untuk menghubungkan antara arduino nano yang

digunakan dengan LCD dengan total pin pada LCD sebanyak 16 pin. Namun

ada 4 pin yang tidak digunakan.

3. R1 merupakan variable resistor yang digunakan untuk mengatur kontras LCD

yang berpengaruh pada visibility dari karakter yang tampil. Variable maksimal

yang digunakan adalah 5K ohm.

Secara tampilan board dapat dilihat pada gambar 4.7. LCD diletakkan pada header

memanjang paling bawah, dan output relay pada header 3 kali pojok kanan atas

47
Relay

LCD 16x2

Gambar 4.7. Header Rangkaian Output


Sumber : Print screen (25-10-2018, 10:45)

4.3. Rangkaian catudaya

Rangkaian catudaya berfungsi merubah arus AC menjadi arus DC. Catudaya

mensupply daya pada beban arduino dan kipas, supply daya pada arduino sebesar

5V dan supply daya pada kipas sebesar 12V.

Gambar 4.8. rangkaian catudaya

48
4.4. Perancangan Mekanik

Mekanik dari sistem pendingin ruangan ini menggunakan papan ujian transparan

yang didesain sedemikian rupa dan kemudian dipotong dengan gergaji. Papan

ujian transparan yang digunakan adalah papan ujian transparan berwarna yang

kemudian skotlet warna ungu . seperti pada gambar 4.9.

Gambar 4.9. gambar papan ujian transparan


Sumber : kamera (31-10-2018, 11: 05)

Desain mekanik ini dibagi menjadi 3 bagian, bagian pertama merupakan base

atau dasar, atau pondasi bagi mekanik sistem ini. Bagian ini terdiri dari sebuah

Papan persegi sebagai papan utama, kemudian 4 buah 2 buah papan persegi dan

2 buah papan persegi panjang sebagai dinding, dan terakhir sebuah segitiga

sebagai atap rumah.

49
Gambar 4.10. Desain Mekanik Sistem Bagian Bawah
Sumber : kamera (31-10-2018, 11: 20)

Bagian kedua merupakan bagian dinding, yang terdiri dari 4 buah papan, 2 buah

papan persegi panjang untuk bagian depan dan belakang 2 buah papan persegi

untuk bagian samping.

Gambar 4.11. Desain Mekanik Sistem Bagian Tengah


Sumber : kamera (20-09-2018, 11: 30)

50
Bagian terakhir merupakan bagian atas atau atap. Desain mekanik untuk bagian

ini dapat dilihat pada gambar 4.12.

Gambar 4.12. Desain Mekanik Sistem Bagian Atas


Sumber : kamera (31-10-20018, 11: 31)

Untuk pelatakan sensor dapat dilihat pada gambar 4.12. dimana sensor PIR

diletakkan dibagian atas pintu luar dan pintu dalam sehingga dapat mendeteksi

adanya orang keluar dan orang masuk, dan sensor suhu diletakkan didinding

samping.

51
Gambar 4.13. Peletakan Sensor
Sumber : kamera (22-10-2018, 1: 51)

Sedangkan peletakan hardware ada pada mekanik bagian bawah atau pondasi

seperti gambar 4.14.

Gambar 4.14. Peletakan Hardware Sistem


Sumber : kamera (20-10-2018, 11: 36)

52
4.5. Flowchart Kerja Sistem

Flowchart merupakan alur kerja yang disusun dalam bentuk chart yang digunakan

sebagai acuan pembuatan program. Dalam prosesnya, orang masuk keruangan

adalah dari luar menuju ke dalam, dan orang keluar ruangan adalah berasal dari

dalam dan menuju ke luar, sehingga dibutuhkan sensor untuk mendeteksi dari

arah mana dahulukan orang ini berasal. Untuk itu diperlukan 2 sensor PIR, PIR 1

digunakan untuk mendeteksi adanya pergerakan dari luar ruangan, sendangkan

PIR 2 digunakan untuk mendeteksi adanya pergerakan dari dalam. Sehingga

ketika ada pergerakan dari luar, maka terdapat variable yang menyimpan bahwa

ada orang diluar, dan jika kurang dari waktu tertentu sensor PIR dalam

mendeteksi pergerakan maka dari sini disimpulkan bahwa ada orang masuk

ruangan. Dan sebaliknya jika sensor PIR dalam mendeteksi adanya pergerakan,

lalu tak lama dari itu sensor luar mendeteksi pergerakan juga, maka disimpulkan

bahwa ada orang keluar dari ruangan. Dari proses ini maka dapat dihitung jumlah

orang yang ada didalam ruangan, sensor PIR mengirim transmitter pada arduino,

arduino menerima receiver dari data transmitter kemudian arduino mengirim

transmitter kepada relay dan sistem akan memberikan output berupa aktifnya

kipas angin ketika ada orang didalam ruangan, dan mematikan kipas jika tidak ada

orang diruangan. Arduino disini bisa sebagai transmitter dan juga sebagai

receiver.

Secara pararel, pembacaan sensor suhu juga dilakukan untuk mengetahui panas

ruangan pada saat itu juga, karena pembacaan ini adalah secara realtime sekitar 3

detik sekali. Dalam sistem pembacaan suhu ini, kipas akan menyala ketika suhu

melebihi batas normal yang telah disetting oleh pengguna. Pengguna dapan

53
melakukan batas normal suhu untuk menyalakan kipas. Contoh, pengguna

mengatur suhu maksimal normal dari ruangan adalah 30 derajat, maka ketika

sistem mendeteksi bahwa suhu ruangan adalah 31 derajat maka kipas akan

menyala.

Sensor suhu juga mengirim transmitter kepada arduino, dan arduino menerima

receiver dari transmitter dan kemudian arduino mengirim transmitter kepad relay

bahwa apabila suhu melebihi batas setting maka kipas akan menyala.

Start

Inisialisasi

Baca PIR 1 & 2

Apakah
Pir 1 = 1 Y
& PIR 2 Kipas Menyala
=1?

Baca Sensor Suhu

Apakah
Y
Suhu > 31 Kipas Menyala
?

Gambar 4.15. Flowchart Kerja Sistem


END Sumber : Penulis (25-10-2018, 10: 30)

54
Berikut Penjelasan dari masing-masing flowchart kerja sistem dapat dilihat pada

table 4.3.

Tabel 4.3 Penjelasan Flowchart Sistem


Simbol ini digunakakn untuk menyatakan
awal dan akhir suatu rangakain program
1 pada sistem.
Start

Proses mengenalan variable dan library


yang digunakan dalam pembuatan sistem.
2 Inisialisasi

Arduino menerima input dari sensor PIR


untuk mendapatkan informasi pergerakan
luar
Baca PIR 1 & 2
3

Cek kondisi apakah sensor PIR


mendeteksi adanya pergerakan.

Apakah
4 Pir 1 = 1
& PIR 2
=1?

Membaca sensor suhu untuk mendeteksi


kondisi panas ruangan.
Baca Sensor Suhu
5

55
Cek kondisi apakah suhu ruangan
melebihi batas yang telah ditentukan oleh
pengguna.
Apakah
6
Suhu > 31
?

Arduino memberikan output ke relay


untuk menyalakan Kipas

7 Kipas Menyala

Arduino memberikan output ke relay


untuk mematikan Kipas

8 Kipas Mati

Simbol ini digunakakn untuk menyatakan


awal dan akhir suatu rangakain program
pada sistem.
9 End

Sumber: penulis (25-10-2018, 10: 35)

4.6. Perancangan Software

Dalam proses perancangan program untuk sistem ini diharuskan software Arduino

IDE sudah terinstal. Versi IDE yang digunakan pada penelitian ini adalah v1.6.5

mode installer. Selain itu driver arduino pun sudah harus terinstall, secara default

driver akan terinstall otomatis dan dapat digunakan jika arduino yang dipakai

menggunakan tipe IC programmer AT16U2. Namun jika IC programmer yang

digunakan adalah ch340, maka harus dilakukan instalasi driver tambahan yaitu

56
driver CH341. Proses instalasi dapat dilakukan secara online melalui device

manager atau secara manual dengan men-download driver dari internet. Adapun

langkah-langkah dalam melakukan input atau upload program pada arduino

adalah sebagai berikut:

A. Penulisan Program dengan Aplikasi Arduino

Penulisan program dilakukan pada software arduino yang terdapat pada komputer.

Bahasa pemrograman untuk arduino adalah bahasa C, namun juga berbasis objek.

Berikut adalah langkah dalam penulisan program pada IDE arduino:

4. Menjalankan program arduino v1.6.5 yang sudah terinstall pada PC/Laptop,

dengan cara klik start, all program, lalu pilih IDE Arduino. Bisa juga melalui

shortcut yang ada di desktop.

5. Klik Menu File kemudian pilih New.

6. Tuliskan baris-baris program pada workspace yang ada hingga selesai.

Lakukan proses ini secara teliti karena dalam proses penulisan program ada

banyak aspek-aspek sederhana yang perlu diperhatikan, seperti besar kecilnya

huruf, tanda baca yang digunakan, serta algoritma yang terkadang sangat rumit.

Baris program untuk membangun sistem ini adalah sebagai berikut:

#include <Keypad.h>
#include <LiquidCrystal.h>
#include <TimerOne.h>
#include <EEPROM.h>
#include "DHT.h"
DHT dht;

LiquidCrystal lcd(4, 3, 5, 6, 7, 8); // inisialisasi pin bagi LCD dengan konfigurasi


RS EN D4 D5 D6 D7 D8

#define pir_01 9//definisi sebuah variable dengan nilai pasti 9


#define pir_02 10// definisi sebuah variable dengan nilai pasti 10
#define relay_output 13// definisi sebuah variable dengan nilai pasti 13

57
const byte ROWS = 4; //inisialisasi dan deklarasi baris pada keypad
const byte COLS = 4; //inisialisasi dan deklarasi kolom pada keypad

char keys[ROWS][COLS] = { // penetapan karakter pada matriks keypad


{'1','2','3','A'},// baris pertama
{'4','5','6','B'}, // baris kedua
{'7','8','9','C'}, // baris ketiga
{'*','0','#','D'} // baris keempat
};

//untuk pin arduino yang dihubungkan dengan keypad


byte rowPins[ROWS] = {11, 12, A0, A1}; //pin untuk kontrol baris
byte colPins[COLS] = {A2, A3, A4, A5}; //pin untuk kontrol kolom

Keypad keypad = Keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS);

float temperature = 0;// inisialisasi variable untuk menyimpan nilai temperature

String pir_terbaca = "xxxxx";// inisialisasi variable untuk mendeteksi pir mana


yang terbaca
String deteksi_arah = "xxxxx";// inisialisasi variable untuk menentukan arah
deteksi bacaan

int jumlah_orang = 0;// variable untuk menyimpan jumlah orang


int timer_mundur, timer_pembacaan_dht;// variable untuk timer mundur dan timer
pembacaan sensor suhu

unsigned int limit_suhu ;// variable untuk menyimpan suhu limit


unsigned int panjang_timer;// variable untuk menyimpan lama timer mundur

const byte addrs_lmtSuhu = 0;// alamat penyimpanan limit suhu di eeprom


const byte addrs_tmrCntdwn = 1;// alamat penyimpanan timer mundur di eeprom

boolean status_timer = false;// variable flag untuk timer

void setup() {
lcd.begin(16, 2);// memulai dan deklarasi tipe lcd yang digunakan

Timer1.initialize(1000000); // 100.000 ms ( 0.1 sec )// inisialisasi timer interput


100.000 ms(0.1sec)
Timer1.attachInterrupt(timer_counter);// inisialisasi fungsi yang dipanggil saat
interput

dht.setup(2);// setup untuk sensor suhu dht di pin 2

Serial.begin(9600);// mengaktifkan komunikasi serial dengan buadrate 9600 bps


Serial.println("Sistem siap bekerja !");// menampilkan kalimat pada serial

58
monitor

pinMode(pir_01, INPUT);// penetapan pin sebagai input


pinMode(pir_02, INPUT);// penetapan pin sebagai input
pinMode(relay_output, OUTPUT); // penempatan pin sebagai output

timer_mundur = panjang_timer;// timer mundur diberi nilai dari panjang timer

lcd.setCursor(15, 0);// set kursor pada lcd


lcd.print("0");// print karakter pada kursor yang telah di set
lcd.setCursor(15, 1);// set kursor pada lcd
lcd.print("0");// print karakter pada kursor yang telah di set

//EEPROM.write(addrs_lmtSuhu, 30);
//EEPROM.write(addrs_tmrCntdwn, 15);
limit_suhu = EEPROM.read(addrs_lmtSuhu);// mengambil data limit dari
eeprom
panjang_timer = EEPROM.read(addrs_tmrCntdwn);// mengambil data
countdown dari eeprom

void loop(){
setting();// memanggil fungsi setting

lcd.setCursor(0, 0);// set kursor pada lcd


lcd.print("Suhu:");// menulis kata pada lcd
lcd.print(temperature,0);// menampilkan nilai suhu pada lcd
lcd.print("C");// menuliskan kata tersebut pada lcd

lcd.setCursor(0, 1);// set kursor pada lcd


lcd.print("Orng:");// menuliskan kata tersebut pada lcd
lcd.print(jumlah_orang);

lcd.setCursor(13, 0);// set kursor pada lcd


lcd.print("L:");// menuliskan kata tersebut pada lcd
lcd.setCursor(13, 1);// set kursor pada lcd
lcd.print("D:");// menuliskan kata tersebut pada lcd

lcd.setCursor(9, 1);// set kursor pada lcd


lcd.print(" ");// menuliskan kata/karakter/kalimat tersebut pada lcd
lcd.setCursor(9, 1);// set kursor pada lcd
lcd.print(timer_mundur);// menuliskan nilai timer pada lcd

//cek sensor pir luar


int cek_nilai_pir = digitalRead(pir_01);// cek sensor pir luar
if (cek_nilai_pir == HIGH) {// jika hasilnya high

59
Serial.println("terdeteksi pergerakan dari luar !");// menuliskan kalimat/
karakter/ pada serial monitor
lcd.setCursor(15, 0);// set kursor pada lcd
lcd.print("1");// menuliskan kalimat/ karakter/ pada serial monitor
//digitalWrite(indikator_pir_01, HIGH);

if(pir_terbaca == "xxxxx"){// jika indikasi pir belum terbaca


pir_terbaca = "luar"; // pir diisi luar
status_timer = true;// flag timer diaktifkan
}
else if(pir_terbaca == "dalam"){// jika pir sebelum nya sudah terbaca dari
dalam
pir_terbaca = "xxxxx";//pir diidle kan
deteksi_arah= "keluar";// dan arah gerak diisi keluar
status_timer = false; // timer dimatikan karena sudah diketahui arah gerak
orang nya
timer_mundur = panjang_timer;// timer mundur dikembalikan ke default
while(1){ //buffer high dibuang
int cek_nilai_pir = digitalRead(pir_01);// deteksi sensor pir
if (cek_nilai_pir == LOW) {// jika pembacaan gerak sudah hilang
break;// keluar dari perulangan
}
}
}
}
else{// tidak dilakukan apa-apa
//digitalWrite(indikator_pir_01, LOW);
//Serial.println("tidak ada pergerakan dari luar !");
}

//cek sensor pir dalam


cek_nilai_pir = digitalRead(pir_02);// pembacaan sensor pir dalam
if (cek_nilai_pir == HIGH) {// jika terjadi pergerakan
Serial.println("terdeteksi pergerakan dari dalam !");// menuliskan kalimat/
karakter/ pada serial monitor
lcd.setCursor(15, 1);// set kursor pada lcd
lcd.print("1");// menuliskan kalimat/ karakter/ pada serial monitor
//digitalWrite(indikator_pir_02, HIGH);

if(pir_terbaca == "xxxxx"){//jika sebelumnya belum ada pembacaan pir


pir_terbaca = "dalam"; // diisi pir yang terbaca dari dalam
status_timer = true;// timer diaktifkan
}
else if(pir_terbaca == "luar"){//jika sebelumnya sudah terbaca ada gerakan dari
luar
pir_terbaca = "xxxxx";//deteksi diidle kan
deteksi_arah= "masuk";// arah gerak orang adalah masuk

60
status_timer = false; // timer dimatikan
timer_mundur = panjang_timer;// timer mundur dikembalikan kedefault
while(1){ //buffer high dibuang
int cek_nilai_pir = digitalRead(pir_02);// pembacaan kembali pir dalam
sampai low
if (cek_nilai_pir == LOW) {// jika sudah low
break;// keluar dari perulangan
}
}
}
}
else{// tidak melakukan apa-apa
//digitalWrite(indikator_pir_02, LOW);
//Serial.println("tidak ada pergerakan dari dalam !");
}

//cek direction
if(deteksi_arah != "xxxxx"){// jika variable deteksi arah tidak idle atau kosong
if(deteksi_arah == "masuk"){// jika arah gerak adalah masuk
jumlah_orang += 1; // jumlah orang ditambahkan
Serial.println();//menuliskan kalimat/ nilai/ karakter pada serial monitor
Serial.println("########################## hey sistem, ada yang masuk !
##########################");// menuliskan kalimat/ nilai/ karakter pada
serial monitor
Serial.print ("Jumlah Orang : ");// menuliskan kalimat/ nilai/ karakter pada
serial monitor
Serial.println(jumlah_orang);// menuliskan kalimat/ nilai/ karakter pada serial
monitor
Serial.println();//menuliskan kalimat/ nilai/ karakter pada serial monitor
lcd.clear();// lcd dikosongkan
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print("Ada yang masuk!");// menuliskan kata/ kalimat/ nilai/ karakter pada
lcd
}
else if(deteksi_arah == "keluar"){// jika arah gerak adalah luar
jumlah_orang -= 1; // jumlah orang dikurangi
if(jumlah_orang < 0){jumlah_orang = 0;}// jika jumlah orang negative maka
akan dikembalikan ke 0
Serial.println();
Serial.println("########################## hey sistem, ada yang keluar !
##########################");// menuliskan kalimat/ nilai/ karakter pada
serial monitor
Serial.print ("Jumlah Orang : ");// menuliskan kalimat/ nilai/ karakter pada
serial monitor
Serial.println(jumlah_orang);// menuliskan kalimat/ nilai/ karakter pada serial
monitor
Serial.println();//menuliskan kalimat/ nilai/ karakter pada serial monitor

61
lcd.clear();// lcd dikosongkan
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print("Ada yang keluar!");// menuliskan kata/ kalimat/ nilai/ karakter pada
serial lcd
}
deteksi_arah = "xxxxx";// arah deteksi diidle kan
delay(1000);// waktu tunda 1000 ms atau 1 detik
lcd.clear();// lcd dikosongkan
lcd.setCursor(15, 0);// set kursor pada lcd
lcd.print("0");// menuliskan kata/ nilai/ karakter kalimat tersebut pada lcd
lcd.setCursor(15, 1);// set kursor lcd
lcd.print("0");// menuliskan kata/ nilai/ karakter kalimat tersebut pada lcd
}

//timer mundur
if(timer_mundur <= 0){// jika timer mundur pendeteksian sudah sampai 0
pir_terbaca = "xxxxx";// maka pir pembacaan kembali idle
status_timer = false;// timer non aktif
timer_mundur = panjang_timer; // timer kembali didefault
lcd.setCursor(15, 0);// set kursor pada lcd
lcd.print("0");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(15, 1); ;// set kursor pada lcd
lcd.print("0");// menuliskan kata/ karakter kalimat tersebut pada lcd
}

//deteksi suhu setiap 3 detik


if(timer_pembacaan_dht > 0 && timer_pembacaan_dht %3 == 0){// jika
pembacaan sensor sudah lewat 3 detik
timer_pembacaan_dht = 0;// timer pembacaan dikembalikan ke 0
temperature = dht.getTemperature();// pembacaan sensor suhu kembali
Serial.print("Suhu Ruangan : ");// penampilan pada serial monitor
Serial.println(temperature,2);// penampilan pada serial monitor
}

//kontrol relay output berdasarkan suhu dan jumlah orang


if(jumlah_orang > 0 || temperature > limit_suhu){// jika jumlah orang lebih dari
satu dalam ruangan atau suhu diatas batas
digitalWrite(relay_output, HIGH);// menyalakan kipas
Serial.println();//menuliskan kalimat/ nilai/ karakter pada serial monitor
Serial.println("########################## kipas menyala
##########################");// menuliskan kata/ karakter kalimat pada serial
monitor
Serial.println();//menuliskan kata/ karakter kalimat tersebut pada lcd

lcd.setCursor(9, 0);// set kursor pada lcd


lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(9, 0);// set kursor pada lcd

62
lcd.print("ON");// menuliskan kata/ karakter kalimat tersebut pada lcd
}
else{
lcd.setCursor(9, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(9, 0);// set kursor pada lcd
lcd.print("OFF");// menuliskan kata/ karakter kalimat tersebut pada lcd
digitalWrite(relay_output, LOW);
}
delay(500);
}

/// --------------------------
/// ISR Timer Routine , nama fungsi bisa custom
/// --------------------------
void timer_counter(){// fungsi interrupt yang dibaca tiap detik
timer_pembacaan_dht += 1;// tiap detik timer interrupt ditambah 1
//Serial.println(timer_pembacaan_dht);

if(status_timer){// jika timer munduur aktif


timer_mundur -= 1;// timer mundur dikurangi 1 tiap detiknya
Serial.print("Timer mundur : ");Serial.println(timer_mundur);// menuliskan
kata/ karakter kalimat tersebut pada serial monitor
}
}
void setting(){ // membuat fungsi setting
char key = keypad.getKey();// pembacaan keypad
if(key != NO_KEY){Serial.println(key);}// jika ada key yang ditekan
if(key == 'A'){// jika tombol yang ditekan adalah A
lcd.clear();
Timer1.detachInterrupt();// interrupt dimatikan
int currentCursor = 1;// inisialisasi variable untuk pointer
while(1){ // mulai perulangan
lcd.setCursor(1, 0);// set kursor pada lcd
lcd.print("Suhu Minimal");// menuliskan kata/ karakter kalimat tersebut pada
lcd
lcd.setCursor(1, 1);// set kursor pada lcd
lcd.print("Countdowm Timer");// menuliskan kata/ karakter kalimat tersebut
pada lcd

char key = keypad.getKey();// baca keypad


if(key != NO_KEY){Serial.println(key);}// jika ada yang ditekan
if(key == 'B'){// jika yang ditekan B
break;// kembali ke menu awal
}

if(key == '2'){// jika 2 yang ditekan

63
lcd.clear();
currentCursor -= 1;// pointer dikurangi 1
if(currentCursor < 1){// jika pointer dikurangi 1
currentCursor = 1;// kembali ke 1
}
}
else if(key == '8'){// jika 8 yang ditekan
lcd.clear();
currentCursor += 1;// pointer ditambah 1
if(currentCursor > 2){// jika pointer lebih dari 2
currentCursor = 2;// dikembalikan ke 2
}
}
else if(key == 'A'){// jika A yang ditekan
lcd.clear();
if(currentCursor == 1){// jika pointer adalah 1
limitSuhu();// memanggil fungsi limit suhu
}
if(currentCursor == 2){// jika pointer adalah 2
timerCoundown();// panggil fungsi timer countdown
}
}

if(currentCursor == 1){// jika pointer adalah 1


lcd.setCursor(0, 0);// set kursor pada lcd
}
else if(currentCursor == 2){// jika pointer adalah 2
lcd.setCursor(0, 1);// set kursor pada lcd
}
lcd.print("*");// menampilkan tanda * berdasarkan pointer sebagai petunjuk
menu
}
lcd.clear();
lcd.setCursor(15, 0);// set kursor pada lcd
lcd.print("0");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(15, 1);// set kursor pada lcd
lcd.print("0");// menuliskan kata/ karakter kalimat tersebut pada lcd
Timer1.attachInterrupt(timer_counter);// interrupt diaktifkan
}
}

void limitSuhu(){// memuat fungsi limit suhu


lcd.clear();
String limit = "";// inisialisasi variable limit
int lcd_cursor = 0;// inisialisasi variable pointer penulisan limit suhu
while(1){// mulai perulangan

64
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print("Limit Suhu: ");// menuliskan kata/ karakter kalimat tersebut pada lcd

char key = keypad.getKey();// baca keypad


if(key != NO_KEY){ // jika ada yang ditekan
if(key == 'A'){// jika yang ditekan adalah A
if(limit != ""){// jika limit tidak sama dengan kosong
limit_suhu = limit.toInt();// covert data string ke int
EEPROM.write(addrs_lmtSuhu, limit_suhu);// menyimpan pada eeprom
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print("Tersimpan !");// menuliskan kata/ karakter kalimat tersebut pada
lcd
delay(1000);
lcd.clear();
break;// keluar perulangan
}
else{
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print("Nilai Kosong !");// menuliskan kata/ karakter kalimat tersebut
pada lcd
delay(1000);
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
}
}
if(key == 'B'){// jika B yang ditekan
lcd.clear();
break;// keluar perulangan
}
if(key == 'C'){// jika C yang ditekan
lcd.clear();
limit = "";// limit dikosongkan
lcd_cursor = 0;// kursor dikosongkan
}

if(lcd_cursor < 2){// jika pointer kurang dari 2


if(key != 'A' && key != 'B' && key != 'C' && key != 'D'){// jika bukan
ABCD
lcd.setCursor(lcd_cursor, 1);// set kursor pada lcd
lcd.print(key);// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd_cursor += 1;// penambahan pointer karena ada 1 karakter yang
dimasukkan
limit += key;// limit ditambahkan nilai key

65
lcd.setCursor(2, 1);// set kursor pada lcd
lcd.print(" C"); // menuliskan kata/ karakter kalimat tersebut pada lcd
}
}
else{
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print("Digit Maksimal !");// menuliskan kata/ karakter kalimat tersebut
pada lcd
delay(1000);
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
}
}
}
}

void timerCoundown(){// memuat fungsi timer countdown


lcd.clear();
String timer = "";
int lcd_cursor = 0;// inisialisasi variable timer
while(1){// mulai perulangan
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print("Timer Mundur:");// menuliskan kata/ karakter kalimat tersebut pada
lcd

char key = keypad.getKey();// cek data keypad


if(key != NO_KEY){// jika ada yang ditekan
if(key == 'A'){// jika A yang ditekan
if(timer != ""){// jika timer tidak kosong atau alias sudah diisi
panjang_timer = timer.toInt();// convert dari string ke int
EEPROM.write(addrs_tmrCntdwn, panjang_timer);// disimpan didalam
eeprom
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print("Tersimpan !");// menuliskan kata/ karakter kalimat tersebut pada
lcd
delay(1000);
lcd.clear();
break;
}
else{
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(0, 0);// set kursor pada lcd

66
lcd.print("Nilai Kosong !");// menuliskan kata/ karakter kalimat tersebut
pada lcd
delay(1000);
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
}
}
if(key == 'B'){// jika B yang ditekan
lcd.clear();
break;// keluar perulangan
}
if(key == 'C'){// jika C yang ditekan
lcd.clear();
timer = "";// timer dikosongkan
lcd_cursor = 0;// pointer dikosongkan
}

if(lcd_cursor < 2){// jika pointer kurang dari 2


if(key != 'A' && key != 'B' && key != 'C' && key != 'D'){// jika bukan
ABCD yang ditekan
lcd.setCursor(lcd_cursor, 1);// set kursor pada lcd
lcd.print(key);// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd_cursor += 1;// pointer ditambah 1
timer += key;// timer ditambahkan nilai dari key keypad
lcd.setCursor(2, 1);// set kursor pada lcd
lcd.print(" Detik"); // menuliskan kata/ karakter kalimat tersebut pada lcd
}
}
else{
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print("Digit Maksimal !");// menuliskan kata/ karakter kalimat tersebut
pada lcd
delay(1000);
lcd.setCursor(0, 0);// set kursor pada lcd
lcd.print(" ");// menuliskan kata/ karakter kalimat tersebut pada lcd
}
}
}
}

67
B. Upload Program ke dalam Arduno Nano ATMega328

Proses upload program kedalam arduino melalui IDE arduino terbilang cukup

sederhana. Berikut langkah-langkah yang perlu dilakukan:

1. Pastikan progam yang ditulis sudah benar, proses pengecekan dapat dilakukan

dengan menekan tombol verify dan jika tidak ada error maka program yang

dibuat tidak ada bug.

Gambar 4.16. Tombol Verify sebelum Upload


Sumber : Print Screen (25-10-2018, 10: 40)

2. Pastikan kabel usb dari arduino sudah terpasang ke PC atau Laptop yang

digunakan, jika sudah pilih COM yang sesuai dengan arduino yang ada diisi

program. Pilih menu Tool, Port, pilih port yang sesuai.

68
Gambar 4.17. Pemilihan PORT
Sumber : Print Screen (25-10-2018. 10: 42)

3. Pastikan Board yang dipilih sudah sesuai dengan board yang digunakan, klik

menu Tool, Board, pilih board yang digunakan.

Gambar 4.18. Pemilihan Board


Sumber : Print Screen (25-10-2018. 10: 44)

69
4. Langkah terakhir upload program dengan menekan tombol upload seperti pada

gambar 4.21. Proses upload berhasil ketika ditandai tulisan “done upload”.

Gambar 4.19. Upload Program


Sumber : Print Screen (25-10-2018. 10: 46)

4.7. Pengujian Alat

Pemasangan system pendingin ruangan ini akan dilakukan dengan

menghubungkan rangkaian ke sumber tegangan. Hasil yang didapat setelah

dilakukan pengujian alat adalah sebagai berikut:

1). Pengujian rangkaian dalam keadaan mati dan system pada rangkaian tidak

berfungsi. Pengujian rangkaian dapat dilihat pada gambar.

70
Gambar 4.20 : rangkaian dalam posisi of
Sumber: kamera (22-10-2018, 03:41)

2) pengujian rangkaian dalam keadaan hidup (on) dan led menyala pada rangkaian

arduino tetapi sensor belum mendeteksi. Pengujian dapat dilihat pada gambar

Gambar 4.21: rangkaian dalam keadaan on


Sumber: kamera (22-10-2018, 1: 51)

Selaian menggunakan sensor pir untuk menyalakan kipas pengujian juga

menggunakan sensor suhu.

71
Gambar 4.22: pengujian rangkaian menggunakan sensor suhu
Sumber: kamera (12-10-2018,8:21)

4) Pengujian rangkaian dengan sensor PIR dalam keadaan hidup (on) dan

lampu led menyala pada rangkaian, relay dan kipas angina berfungsi.

Pengujian rangkaian dapat dilihat pada gambar

Gambar 4.23: pengujian rangkaian menggunakan sensor PIR


Sumber: kamera (22-10-2018, 1:41)

System kerja pada gambar rangkaian keseluruhan diatas adalah apabila catu daya

pada arduino diberi tegangan 12V 2A maka sensor akan aktif. Apabila kipas

dalam posisi on dan sensor PIR mendeteksi adanya pergerakan didalam ruangan

maka kipas akan menyala. Apabila sensor mendeteksi pergerakan diluar ruangan

72
maka kipas tidak akan menyala. pembacaan sensor suhu juga dilakukan untuk

mengetahui panas ruangan pada saat itu juga, karena pembacaan ini adalah secara

realtime sekitar 3 detik sekali. Dalam sistem pembacaan suhu ini, kipas akan

menyala ketika suhu melebihi batas normal yang telah disetting oleh pengguna.

Pengguna dapan melakukan batas normal suhu untuk menyalakan kipas.

Data hasil pengujian menggunakan sensor suhu dan sensor pir dapat dilihat pada

table 4.4

a. Pengujian berdasarkan orang

orang Tegangan Hasil

0 0,3 Mati

1 2,161 Menyala

2 2,170 Menyala

Sumber: penulis (22-10-2018, 1: 30)

b. Pengujian berdasarkan suhu

Limit suhu Suhu Hasil

30 32 Nyala

34 33 Mati

35 33 Mati

35 36 Nyala

Sumber: penulis (22-10-2018, 1: 30)

73
BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan tahap perancangan dan pembuatan sistem yang kemudian

dilanjutkan dengan tahap pengujian dan analisa maka dapat diambil kesimpulan

sebagai berikut:

1. Perancangan alat pengontrol kipas angin otomatis berbasis arduino

dengan menggunakan sensor PIR (passive infrared) dan sensor DHTII,

sensor PIR sebagai pendeteksi objek gerak, terdapat 2 sensor PIR yaitu

PIR1 dan PIR2, PIR1 digunakan untuk mendeteksi adanya gerakan dari

luar ruangan, PIR2 digunakan untuk mendeteksi adanya gerakan dari

dalam ruangan. sedangkan sensor DHT11 sebagai pembaca keadaan suhu

ruangan yang kemudian ditampilkan pada layar lcd agar mempermudah

pengguna mengetahui suhu ruangan.

2. Pengaruh sensor PIR terhadap pergerakan kipas angin sesuai dengan

pengujian dan analisa, apabila sensor mendeteksi pergerakan manusia

maka kipas angin akan bergerak dan apabila suhu ruangan melebihi batas

limit yang telah disetting maka kipas angin juga akan bergerak. Namun

apabila sensor PIR tidak mendeteksi pergerakan manusia dan suhu tidak

melebihi batas limit maka kipas angin tidak akan bergerak. Contoh

74
pengguna mensetting limit suhu 30 derajat kemudian sistem mendeteksi

bahwa suhu ruangan adalah 31 derejat maka kipas akan aktif.

5.2 Saran

Berikut adalah saran-saran penulis untuk siapa saja yang ingin merevisi dan

mengembangkan sistem ini:

1. Sebaiknya dalam membuat suatu sistem kontrol, harus dipahami terlebih

dahulu karakteristik mikrokontroler dan peralatan yang akan kita

kendalikan,

2. Perlu ditambahkan lagi sensor suhunya agar mendapatkan sensitifitas

sensor yang lebih baik, minimal 5 sensor suhu pada tiap sudut ruangan.

3. Pada alat pengatur suhu ruangan otomatis ini output untuk mendinginkan

ruangan menggunakan sebuah kipas, kipas ini dapat diganti dengan jenis

pendingin ruangan lain agar suhu ruangan dapat lebih sejuk ketika hangat

dan suhu juga dapat lebih cepat turun.

4. Sensor gerak pada alat ini hanya menangkap sinyal infrared yang

dipancarkan oleh tubuh manusia ketika bergerak sehingga ketika

tertangkap gerakan alat ini akan bekerja dengan baik namun, ketika tidak

tertangkap gerakan alat ini akan otomatis berhenti bekerja. Untuk itu agar

alat ini selalu bekerja dengan baik saat anda didalam ruangan selalu

lakukan gerakan setiap 10 menit sekali agar anda tetap merasa nyaman

didalam ruangan tersebut.

75