UNIVERSITAS GUNADARMA FAKULTAS ILMU KOMPUTER & TEKNOLOGI INFORMASI
RANCANG BANGUN ALAT PENDINGIN RUANGAN OTOMATIS BERBASIS
KEBERADAAN MANUSIA DAN SUHU RUANGAN
Disusun Oleh:
Nama : Taufik Hidayat
NPM : 21107657
Jurusan : Sistem Komputer
Pembimbing : Dr. Lussiana ETP, SSi., MT.
Diajukan Guna Melengkapi Sebagian Syarat Dalam Mencapai
Gelar Sarjana Strata Satu (S1)
Jakarta
2011
i
LEMBAR ORIGINALITAS & PUBLIKASI
Yang bertanda tangan di bawah ini,
N a m a : Taufik Hidayat
NPM : 21107657
Jurusan : Sistem Komputer
Fakultas : Ilmu Komputer
Judul Skripsi : Rancang Bangun Alat Pendingin Ruangan Otomatis
Berbasis Keberadaan Manusia Dan Suhu Ruangan
Dengan ini menyatakan bahwa tulisan ini adalah merupakan hasil karya
saya sendiri dan dapat dipublikasikan sepenuhnya oleh Universitas Gunadarma.
Segala kutipan dalam bentuk apa pun telah mengikuti kaidah, etika yang berlaku.
Mengenai isi dan tulisan adalah merupakan tanggung jawab Penulis, bukan
Universitas Gunadarma.
Demikian, pernyataan ini saya buat dalam keadaan sadar dan tidak
dipaksakan.
Depok, Agustus 2011
Taufik Hidayat
ii
LEMBAR PENGESAHAN
Komisi Pembimbing
No Nama Kedudukan
1 Dr. Lussiana ETP, SSi., MT. Ketua
2 Dr.rer.nat. Avinanta Tarigan Anggota
3 Drs. Lingga Hermanto, MM., MSi. Anggota
Tanggal Sidang: 19 November 2011
Panitia Ujian
No Nama Kedudukan
1 Dr. Ravi Ahmad Salim Ketua
2 Prof. Dr. Wahyudi Priyono Sekretaris
3 Dr. Lussiana ETP, SSi., MT. Anggota
4 Dr.rer.nat. Avinanta Tarigan Anggota
5 Drs. Lingga Hermanto, MM., MSi. Anggota
Tanggal Lulus: 19 November 2011
Menyetujui,
Pembimbing
(Dr. Lussiana ETP, SSi., MT.)
iii
ABSTRAK
Taufik Hidayat. 21107657 Rancang Bangun Alat Pendingin Ruangan Otomatis Berbasis Keberadaan Manusia dan Suhu Ruangan Skripsi. Fakultas Ilmu Komputer. Universitas Gunadarma. 2011 Kata Kunci: Hemat Listrik, Deteksi Suhu, Deteksi Gerak, Otomatis, Kipas Angin (ix + 58 + Lampiran)
Penghematan energi listrik merupakan hal yang sangat diperlukan. Dampak dari kota metropolitan salah satunya adalah kebutuhan listrik yang kian meningkat akibat banyaknya kaum urban untuk menuntut ilmu dan mencari nafkah. Untuk itu perlu adanya solusi alternatif peralatan listrik yang dapat menghemat energi.
Tujuan penelitian ini adalah merancang sebuah kipas angin yang mampu mengatur kecepatan secara otomatis berdasarkan pada keberadaan manusia dan suhu ruangan.
Hasil pengujian menunjukkan bahwa bahwa alat ini bekerja sesuai dengan rancangannya, dimana jika tidak terdeteksi adanya gerakan maka kipas akan diam, dan jika terdeteksi adanya gerakan maka kipas akan bekerja. Jarak pendeteksian gerakan antara 10 cm hingga 240 cm. Selanjutnya, pergerakan kipas ini dipengaruhi oleh suhu, dimana jika suhu ruangan meningkat maka kecepatan putaran kipas angin juga akan semakin meningkat. Daftar Pustaka (1992 – 2011)
iv
KATA PENGANTAR
Syukur alhamdulillah penulis panjatkan kehadirat Allah SWT yang telah
memberikan bimbingan, petunjuk serta hidayah-Nya hingga penulisan tugas akhir
yang berjudul “Rancang Bangun Alat Pendingin Ruangan Otomatis Berbasis
Keberadaan Manusia Dan Suhu Ruangan” dapat diselesaikan.
Adapun maksud dan tujuan penulisan skripsi ini adalah guna melengkapi
syarat untuk mencapai jenjang Sarjana pada Universitas Gunadarma.
Penulis menyadari dengan kerendahan hati bahwa dalam makalah
penulisan skripsi ini masih banyak terdapat kelemahan dan kekurangan. Oleh
sebab itu penulis sangat mengharapkan kritik dan saran dari para pembaca untuk
memperbaiki penulisan ini agar lebih baik lagi.
Dalam kesempatan ini penulis ingin menyampaikan rasa terima kasih yang
sebesar-besarnya kepada:
1. Ibu Prof. Dr. E.S. Margianti, SE. MM, selaku Rektor Universitas
Gunadarma.
2. Bapak Prof. Dr. Rernat. A. Beny Mutiara., selaku Dekan Fakultas Ilmu
Komputer Dan Teknologi Informasi Universitas Gunadarma.
3. Bapak Dr. –Ing. Farid Thalib., selaku Ketua Jurusan Teknik Komputer
Universitas Gunadarma.
4. Bapak Dr. Edi Sukirman, MM, selaku Kepala Bagian Sidang Ujian
Universitas Gunadarma.
5. Ibu Dr. Lussiana ETP, SSi., MT., selaku Dosen Pembimbing Penulisan
skripsi Jurusan Sistem Komputer Universitas Gunadarma.
v
6. Kedua orang tuaku yang telah memberikan dorongan materiil maupun
imateriil serta doanya, sehingga terselesaikannya skripsi ini.
7. Mas Ridwan yang telah meluangkan waktu dalam membantu proses
pembuatan alat.
8. Rekan-rekan asisten Lab Elkom, Iman Ilmawan Muharam, Maulana
Rahmat Hakim, Nugroho Tri Sayoga, dan Muhammad Regi Fazmi.
9. Teman-teman di kelas 4KB01 serta semua mahasiswa/i jurusan Sistem
Komputer Universitas Gunadarma
10. Pihak-pihak lain yang tak dapat penulis sebutkan satu per satu yang telah
membantu baik secara langsung maupun tidak langsung dalam
penyelesaian makalah skripsi ini.
Semoga Allah SWT membalas segala kebaikannya. Akhir kata penulis
berharap semoga penulisan ilmiah ini dapat berguna dan bermanfaat bagi semua
pembaca.
Depok, Oktober 2011
Penulis
vi
DAFTAR ISI
LEMBAR ORIGINALITAS ………………………………………………………i
LEMBAR PENGESAHAN ……………………………………………………….ii
ABSTRAK ……………………………………………………………………….iii
KATA PENGANTAR …………………………………………………………...iv
DAFTAR ISI……………………………………………………………………...vi
DAFTAR GAMBAR ……………………………………………………………viii
DAFTAR TABEL ………………………………………………………………..ix
BAB 1 PENDAHULU …………………………………………………………….1
1.1 Latar Belakang Masalah……………………………………………….1
1.2 Rumusan Masalah ……………………………………………………..2
1.3 Batasan Masalah ………………………………………………………2
1.4 Tujuan Penelitian ……………………………………………………...2
1.5 Metode Penelitian ……………………………………………………..3
1.6 Sistematika Penulisan …………………………………………………3
BAB 2 TINJAUAN PUSTAKA ………………………………………………...5
2.1 Mikrokontroler ATMEGA8535 sebagai Prosessor …………………...5
2.1.1 Analog to Digital Converter …………………………………...8
2.2 Motor DC sebagai Penggerak Kipas Angin ………………………….13
2.3 IC L293 sebagai Motor Driver ……………………………………….15
2.3.1 Pulse Width Modulation ……………………………………..17
2.3 Passive Infrared Receiver sebagai Pendeteksi Manusia ……………..18
2.4 LM35 sebagai Sensor Suhu ………………………………………….19
2.5 Liquid Crystal Display sebagai Layar Tampilan …………………….20
2.6 Bahasa C sebagai Bahasa Program Mikrokontroler …………………23
vii
2.7 Persentase Kesalahan Pengukuran …………………………………...24
BAB 3 PERANCANGAN ALAT ……………………………………………...25
3.1 Perancangan Perangkat Keras ………………………………………..25
3.1.1 Perancangan Alur Kerja Alat ………………………………...25
3.1.2 Perancangan Rangkaian Alat ………………………………...27
3.1.3 Perancangan Maket Alat ……………………………………..32
3.2 Perancangan Program ………………………………………………..33
3.2.1 Algoritma Program …………………………………………..33
3.2.2 Pembuatan Program ………………………………………….36
3.2.3 Pengisian Program …………………………………………...43
BAB 4 HASIL DAN ANALISIS ………………………………………………46
4.1 Pengujian Jarak Deteksi Gerakan Manusia………………………......46
4.2 Pengujian Pengukuran Suhu …………………………………………48
4.3 Pengujian Kecepatan Kipas Angin …………………………………..49
4.4 Pengujian Kerja LCD ………………………………………………...51
4.5 Pengujian Kerja Kipas Angin Otomatis ……………………………..52
4.6 Analisa Rangkaian secara Detail……………………………………..54
BAB 5 PENUTUP …………………………………………………………….56
5.1 Kesimpulan …………………………………………………………..56
5.2 Saran …………………………………………………………………57
DAFTAR PUSTAKA ……………………………………………………………58
LAMPIRAN
viii
DAFTAR GAMBAR
Gambar 2.1 Skematik mikrokontroler ATMega8535 …………………………..5
Gambar 2.2 Struktur motor DC ……………………………………………….14
Gambar 2.3 Skematik IC L293 ………………………………………………..16
Gambar 2.4 Rangkaian sensor PIR …………………………………………...18
Gambar 2.5 Cara Kerja sensor LM35 …………………………………………19
Gambar 2.6 Skematik Rangkaian Interface LCD .............................................21
Gambar 3.1 Rancangan alur kerja kipas angin otomatis………………………26
Gambar 3.2 Rancangan rangkaian alat secara keseluruhan …………………...27
Gambar 3.3 Rancangan alat secara detail 1 …………………………………...28
Gambar 3.4 Rancangan alat secara detail 2 …………………………………..28
Gambar 3.5 Rancangan alat secara detail 3 …………………………………...29
Gambar 3.6 Rancangan alat secara detail 4 …………………………………...29
Gambar 3.7 Rancangan alat secara detail 5 …………………………………...30
Gambar 3.8 Rancangan alat secara detail 6 …………………………………..31
Gambar 3.9 Rancangan alat secara detail 7 …………………………………...31
Gambar 3.10 Desain maket alat tampak depan…………………………………32
Gambar 3.11 Flowchart program kipas angin otomatis ………………………...34
Gambar 3.12 Blok proses downloader ………………………………………….43
Gambar 3.12 Konfigurasi program kipas angin otomatis ………………………44
Gambar 4.1 Pengujian cara kerja sensor PIR pada kipas angin otomatis ……..46
ix
DAFTAR TABEL
Tabel 2.1 Daftar bit register ADMUX …………………………………………....9
Tabel 2.2 Konfigurasi bit 6 & 7 register ADMUX ……………………………….9
Tabel 2.3 Konfigurasi channel ADC …………………………………………….10
Tabel 2.4 Daftar bit register ADCSRA ………………………………………….10
Tabel 2.5 Konfigurasi faktor pembagi frekuensi clock CPU ……………………12
Tabel 2.6 Daftar bit register SFIOR ……………………………………………..12
Tabel 2.7 Konfigurasi pemicu eksternal operasi ADC ………………………….13
Tabel 2.8 Daftar Pin LCD HD44780 ……………………………………………21
Tabel 3.1 Spesifikasi rancangan program kipas angin otomatis ………………...35
Tabel 4.1 Hasil pengujian jarak deteksi gerakan manusia ………………………47
Tabel 4.2 Hasil pengujian pengukuran suhu …………………………………….48
Tabel 4.3 Pengujian Kecepatan Kipas Angin …………………………………...50
Tabel 4.4 Pengujian kerja LCD ……………………………………………….....51
Tabel 4.5 Pengujian kerja kipas angin otomatis …………………………………53
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Belum lama ini isu mengenai pemanasan global dibicarakan oleh seluruh
orang di dunia. Iklim yang tidak menentu, meningkatnya tinggi permukaan air
laut, dan meningkatnya suhu di seluruh penjuru bumi merupakan beberapa efek
yang timbul dari pemanasan global. Peristiwa ini terjadi karena meningkatnya
konsentrasi gas-gas rumah kaca seperti karbon dioksida, akibat aktivitas manusia,
sehingga radiasi matahari yang seharusnya dipantulkan kembali dari bumi setelah
masuk ke bumi, menjadi terperangkap.
Ada dua pendekatan utama untuk memperlambat semakin bertambahnya
gas rumah kaca. Pertama, mencegah karbon dioksida dilepas ke atmosfer dengan
menyimpan gas tersebut atau komponen karbon-nya di tempat lain, yang
disebut carbonsequestration (menghilangkan karbon). Kedua, mengurangi
produksi gas rumah kaca. Salah satu cara yang bisa dilakukan untuk mengurangi
produksi gas rumah kaca adalah dengan menghemat penggunaan energi listrik.
Telah banyak diketahui bahwa Jakarta merupakan kota impian dan kota
tujuan para penduduk daerah sebagai kota pariwisata, tempat mencari nafkah,
sampai dengan tempat menuntut ilmu. Akibat dari berbagai macam tujuan para
pendatang tersebut, maka kota Jakarta menjadi kota yang sangat dinamis dengan
pembangunan gedung-gedung perkantoran, gedung sekolah, pusat perbelanjaan,
bahkan sampai dengan perumahan untuk tempat tinggalpun meningkat dengan
tajam, sehingga memiliki kontribusi yang tinggi dalam penggunaan energi listrik.
Berkaitan dengan pesatnya pertumbuhan tempat pemukiman baru, banyak
dijumpai rumah-rumah atau kamar-kamar yang tersedia kurang memenuhi
persyaratan kesehatan, seperti misalnya kurangnya ventilasi, ruang yang terlalu
sempit, dan penggunaan satu ruang digunakan secara bersama sehingga menjadi
terasa sempit. Berdasarkan pada kondisi tersebut, dalam penyegaran ruangan yang
2
tersedia menggunakan alat bantu yang terjangkau seperti kipas angin, sering kali
dibiarkan menyala terus menerus tanpa memperdulikan efek pemborosan
listriknya.
Oleh karena itu, keinginan yang kuat serta kesabaran yang tinggi sangat
diperlukan dalam melakukan kegiatan penghematan energi listrik ini, yaitu saat
mematikan alat-alat listrik yang tidak digunakan, contohnya mematikan kipas
angin saat tidak ada orang yang menggunakan, atau mengurangi kecepatan putar
kipas angin saat udara tidak terlalu panas. Namun, tidak semua orang mau
melakukan hal yang mudah ini karena malas, lupa dan sebagainya, sehingga
membiarkan kipas angin menyala, dan tidak hemat listrik. Untuk itu,
dibutuhkanlah sebuah kipas angin yang mampu menyala dan mati, serta mengatur
kecepatan putar kipasnya secara otomatis agar mampu menangani masalah
pemborosan energi listrik tersebut.
1.2 Rumusan Masalah
Permasalahan yang dapat dirumuskan dari penelitian ini yaitu apakah
kipas angin yang mampu menyala dan mati secara otomatis yang dirancang ini
mampu melakukan penghematan energi listrik?
1.3 Batasan Masalah
Pada penelitian ini permasalahan dibatasi pada hal-hal yang berkaitan
dengan teknik pengaktifan dan pengaturan kecepatan kipas angin otomatis, mulai
dari input, proses, hingga outputnya.
1.4 Tujuan Penelitian
Tujuan penelitian ini adalah merancang sebuah kipas angin yang dapat
bekerja berdasarkan pada keberadaan manusia, dan mengatur kecepatan putar
kipasnya berdasarkan pada pengukuran suhu ruangan secara otomatis.
3
1.5 Metode Penelitian
Metode penelitian yang digunakan dalam penelitian ini dibagi menjadi
beberapa tahap, yaitu:
1. Tahap pertama: Merencanakan penelitian dengan cara menentukan
permasalahan apa yang akan dipecahkan dalam penelitian ini, serta
merencanakan solusi dari permasalahan tersebut.
2. Tahap kedua: Merencanakan kebutuhan penelitian, berupa pengumpulan
informasi dan literatur yang berkaitan dengan penelitian, serta komponen-
komponen yang diperlukan dalam penelitian.
3. Tahap ketiga: Membuat alat dengan cara mendesain bentuk alat tersebut,
menyusun komponen-komponen yang dibutuhkan dan menanamkan
program ke dalamnya.
4. Tahap keempat: Menguji alat untuk mengetahui apakah alat bekerja sesuai
yang direncanakan, dan membandingkan hasil uji tersebut dengan logika
pemrogramannya. Lalu, menguji coba kipas angin otomastis ini dengan
kipas angin konvensional untuk membandingkan penggunaan energi
listriknya.
5. Tahap kelima: Menganalisa hasil uji coba kinerja alat dari nilai kesalahan
rata-rata alat.
6. Tahap keenam: Menarik kesimpulan dari penelitian ini berdasarkan hasil
analisa penelitian.
1.6 Sistematika Penulisan
Pembuatan tulisan mengenai penelitian ini dilakukan dengan membagi
penulisan menjadi beberapa bab, yaitu sebagai berikut:
BAB I Pendahuluan
Pada bab ini, berisi tentang Latar Belakang Masalah, Batasan Masalah,
Tujuan Penelitian, Metode Penelitian dan Sistematika Penulisan.
4
BAB II Tinjauan Pustaka
Bab ini membahas tentang teori dasar dan komponen-komponen utama
yang diterapkan pada alat beserta analisanya.
BAB III Analisa dan Cara Kerja Rangkaian
Berisi tentang analisa Perangkat keras dan Perangkat lunak, cara kerja dari
prototipe tersebut, blok diagram, flowchart program, dan truth table IC
logika.
BAB IV Pengoperasian dan Pengujian
Berisi tentang cara pengoperasian dan pengujian pengaplikasian kipas
angin otomatis ini pada kehidupan nyata beserta listing program yang
ditanamkan di alat ini.
BAB V Penutup
Membahas tentang kesimpulan dari penjelasan alat yang dibuat serta
saran-saran dari keseluruhan rangkaian.
5
BAB 2
TINJAUAN PUSTAKA
Dalam pembuatan kipas angin otomatis ini, terdapat beberapa teori-teori
dasar. Teori-teori tersebut meliputi komponen utama alat dan software-nya.
Komponen utama alat ini terdiri dari mikrokontroler ATMEGA8535, motor DC,
sensor PIR, sensor LM35, serta software-nya berupa pemrograman bahasa C.
2.1 Mikrokontroler ATMEGA8535 sebagai Prosessor
Mikrokontroler AVR ATMEGA8535 merupakan mikrokontroler yang
memiliki arsitektur RISC 8 bit, yaitu sebuah arsitektur komputer dengan instruksi-
instruksi dan jenis eksekusi yang paling sederhana. Pada mikrokontroler
ATMEGA8535, semua instruksi dikemas dalam kode 16 bit dan sebagian besar
instruksi dieksekusi dalam 1 (satu) siklus clock. Berikut ini adalah gambar
skematik mikrokontroler ATMEGA8535.
Gambar 2.1 Skematik mikrokontroler ATMega8535
6
Sumber:
http://students.ukdw.ac.id/~robotic/Training%20Microcontroller%20For%20Begi
nner%20(B.%20Arifianto).pdf
Deskripsi dari pin-pin ATMega8535 seperti yang tertera pada gambar 2.1
adalah sebagai berikut :
1. VCC (pin 10) : masukan tegangan digital.
2. GND (pin 11) : Ground
3. PORT A (pin 33 sampai 40): Port A sebagai input analog ke Analog to
Digital konverter. Port A juga sebagai 8-bit bi-directional port I/O, jika
Analog to Digital konverter tidak digunakan. Pin-pin port dapat
menyediakan resistor-resistor internal pull-up. Ketika port A digunakan
sebagai input dan pull eksternal yang rendah akan menjadi sumber arus
jika resistor-resistor pull-up diaktifkan. Pin-pin port A adalah tri-state
ketika kondisi reset menjadi aktif sekalipun clock tidak aktif.
4. PORT B (pin 1 sampai 8): Port B adalah port I/O 8-bit bi-directional
dengan resistor-resistor internal pull-up. Buffer output port B mempunyai
karaketristik drive yang simetris dengan kemampuan keduanya sink dan
source yang tinggi. Sebagai input, port B yang mempunyai pull eksternal
yang rendah akan menjadi sumber arus jika resistor-resistor pull-up
diaktifkan. Pin-pin port B adalah tri-state ketika kondisi reset menjadi
aktif sekalipun clock tidak aktif.
5. PORT C (pin 22 sampai 29): Port C adalah port I/O 8-bit bi-directional
dengan resistor-resistor internal pull-up. Buffer output port C mempunyai
karaketristik drive yang simetris dengan kemampuan keduanya sink dan
source yang tinggi. Sebagai input, port C yang mempunyai pull eksternal
yang rendah akan menjadi sumber arus jika resistor-resistor pull-up
diaktifkan. Pin-pin port C adalah tri-state ketika kondisi reset menjadi
aktif seklipun clock tidak aktif. Jika antarmuka JTAG enable, resistor-
resistor pull-up pada pin-pin PC5 (TDI), PC3 (TMS), PC2 (TCK) akan
diaktifkan sekalipun terjadi reset.
7
6. PORT D (pin 14 sampai 21): Port D adalah port I/O 8-bit bi-directional
dengan resistor-resistor internal pull-up. Buffer output port D mempunyai
karaketristik drive yang simetris dengan kemampuan keduanya sink dan
source yang tinggi. Sebagai input, port D yang mempunyai pull eksternal
yang rendah akan menjadi sumber arus jika resistor-resistor pull-up
diaktifkan. Pin-pin port D adalah tri-state ketika kondisi reset menjadi
aktif sekalipun clock tidak aktif.
7. Reset (pin 9): Merupakan pin reset yang akan bekerja bila diberi pulsa
rendah (aktif low) selama minimal 1.5 us.
8. XTAL2 (pin 12): Merupakan output dari penguat oscillator pembalik.
9. XTAL1 (pin 13): Merupakan input ke penguat oscillator pembalik dan
input ke eksternal clock.
10. AVCC (pin 30): Merupakan catu daya yang digunakan untuk masukan
analog ADC yang terhubung ke PORTA.
11. AREF (pin 32): Merupakan tegangan referensi analog untuk ADC.
Detail spesfikasi ATMega8535 adalah sebagai berikut:
1) Saluran I/O sebanyak 32 buah, yaitu port A, Port B, Port C, dan Port D.
2) ADC 10 bit sebanyak 8 saluran.
3) Tiga buah Timer/Counter dengan kemampuan pembandingan.
4) CPU yang terdiri atas 32 buah register.
5) Watchdog Timer dengan Osilator Internal.
6) SRAM sebanyak 512 byte.
7) Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
8) Unit Interupsi internal dan eksternal.
9) Port antarmuka SPI.
10) EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
11) Antarmuka komparator analog.
12) Port USART untuk komunikasi serial.
8
Mikrokontroler ATMEGA8535 memiliki fitur pengkonversi sinyal analog
menjadi sinyal digital yang disebut Analog to Digital Converter (ADC).
Penjelasan tentang ADC pada ATMEGA8535 akan dibahas sebagai berikut.
2.1.1 Analog to Digital Converter
Analog to Digital Converter adalah fitur paling populer dari ATmega
8535. Dengan adanya fitur ini kita tidak perlu menggunakan ADC0804 untuk
membaca sinyal analog. ATmega8535 memiliki 8 channel input ADC, dan hasil
pembacaan ADC-nya beresolusi maksimum 10 bit.
Adapun fitur dari ADC ATMega8535 adalah sebagai berikut:
· Resolusi 10 bit.
· Waktu konversi 65-260 us.
· 0 - Vcc range input ADC.
· Memiliki 8 channel input.
· Tiga mode pemilihan tegangan referensi.
Mode operasi ADC terbagi menjadi 2 yaitu sebagai berikut:
A. Mode Konversi Tunggal (Single Conversion)
Dalam mode ini, konversi dilakukan untuk sekali pembacaan sampel
tegangan input. Konversi dimulai ketika bit ADSC di-set dan bit ini tetap set
sampai satu kali konversi selesai, setelah itu bit ini otomatis di clear CPU.
B. Mode Konversi Kontinu (Free Running)
Dalam mode ini, konversi dilakukan secara terus menerus (ADC membaca
sampel tegangan input lalu dikonversi dan hasilnya ditampung di register ADCH
dan ADCL secara terus menerus)
Berikut adalah daftar register untuk menentukan setting ADC:
9
1. Register ADMUX
Register ADMUX (ADC Multiplexer Selection Register)
digunakan untuk menentukan tegangan referensi dari ADC, menentukan
format data hasil konversi ADC, menentukan channel ADC yang akan
digunakan. Tabel 2.1 berikut ini akan memaparkan isi dari register
ADMUX:
Tabel 2.1 Daftar bit register ADMUX
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 REFS1 REFS0 ADLAR - MUX3 MUX2 MUX1 MUX0
Penjelasan mengenai tabel 2.1 di atas adalah sebagai berikut:
· Bit 7 (REFS1) dan bit 6 (REFS0) Reference Selection Bits digunakan
untuk menentukan tegangan referensi ADC. Penjelasan mengenai
konfigurasi bit 7 & 6 register ADMUX dapat dilihat pada tabel 2.2.
Tabel 2.2 Konfigurasi bit 6 & 7 register ADMUX
Bit 7 Bit 6 Tegangan Referensi
0 0 Pin AREF, internal Vref di
matikan (off)
0 1 Pin AVCC, dengan kapasitor
eksternal pada pin AREF
1 0 Tidak digunakan
1
1
Tegangan referensi internal 2,56 V
dengan kapasitor eksternal
pada pin AREF
· Bit 5 – ADLAR (ADC Left Adjust Result)
10
Bit ini digunakan untuk menentukan format data hasil konversi. Isi bit ini
dengan 1 (ADLAR=1) jika menggunakan resolusi 8 bit.
· Bit 3, 2, 1 dan 0 - MUX3, MUX2, MUX1 dan MUX0 (Analog Channel
Selection Bits)
Keempat bit ini digunakan untuk menentukan channel ADC. Berikut ini
adalah tabel yang berisi konfigurasi channel ADC.
Tabel 2.3 Konfigurasi channel ADC
Bit 3 Bit 2 Bit 1 Bit 0 Channel ADC
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
2. Register ADCSRA
Register ADCSRA (ADC Control and Status Register A)
digunakan untuk menentukan waktu kapan harus mulai mengaktifkan
fungsi analog to digital converter. Tabel 2.4 berikut ini akan memaparkan
isi dari register ADCSRA.
Tabel 2.4 Daftar bit register ADCSRA
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0
11
· Bit 7 – ADEN (ADC Enable)
Bit ini digunakan untuk mengaktifkan ADC, bernilai awal 0, jika bernilai
1 maka ADC aktif.
· Bit 6 – ADSC (ADC Start Conversion)
Penge-set-an bit ini membuat ADC memulai konversi sinyal masukan.
Ketika konversi telah selesai, maka otomatis bit ini di-clear.
· Bit 5 – ADATE (ADC Auto Trigger Enable)
Bit ini digunakan untuk mengatur sumber pemicu terjadinya konversi
ADC. Jika bit ini di set maka akan mengaktifkan auto triggering register
SFIOR dan menggunakan mode free running.
· Bit 4 – ADIF (ADC Interupt Flag)
Bit ini set ketika konversi ADC telah selesai dan Data Register telah ter-
updated. Bit ini otomatis di-clear ketika eksekusi interupsi ADC
conversion complete.
· Bit 3 – ADIE (ADC Interupt Enable)
Bit ini digunakan untuk mengaktifkan interupsi ADC Conversion
Complete. Bernilai awal 0. Jika di-set dan konversi ADC telah selesai,
maka sebuah interupsi akan dieksekusi sesuai dengan jenis interupsi yang
ditulis di program.
· Bit 2, 1 dan 0 – ADPS2, ADPS1 dan ADPS0 (ADC Prescaler Select Bit)
Ketiga bit ini digunakan untuk menentukan faktor pembagi frekuensi
clock CPU yang akan digunakan. Detail konfigurasinya dapat dilihat pada
tabet 2.5 berikut ini.
12
Tabel 2.5 Konfigurasi faktor pembagi frekuensi clock CPU
Bit 2 Bit 1 Bit 0 Clock
0 0 0 XTAL / 2
0 0 1 XTAL / 2
0 1 0 XTAL / 4
0 1 1 XTAL / 8
1 0 0 XTAL / 16
1 0 1 XTAL / 32
1 1 0 XTAL / 64
1 1 1 XTAL / 128
3. Register SFIOR
Register SFIOR (Special Function Input Output Register)
merupakan register 8 bit pengatur sumber picu konversi ADC, apakah dari
picu internal atau dari picu eksternal. untuk operasi ADC, bit
ACME,PUD,PSR2 dan PSR10 tidak dipakai. Susunan register SFIOR
dapat dilihat pada tabel 2.6 sebagai berikut :
Tabel 2.6 Daftar bit register SFIOR
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
ADTS2 ADTS1 ADTS0 - ACME PUD PSR2 PSR10
ADTS2, ADTS1 dan ADTS merupakan bit pengatur picu eksternal
operasi ADC. Hanya berfungsi jika bit ADATE pada register ADCSRA
bernilai 1. Bernilai awal 000 sehingga ADC bekerja pada Free Running
dan tidak ada interupsi yang dihasilkan. Detail konfigurasinya dapat dilihat
pada tabet 2.7 berikut ini.
13
Tabel 2.7 Konfigurasi pemicu eksternal operasi ADC
ADTS2 ADTS1 ADTS0 Trigger Source
0 0 0 Free Running mode
0 0 1 Analog Comparator
0 1 0 External Interrupt Request 0
0 1 1 Timer/Counter0 Compare Match
1 0 0 Timer/Counter0 Overflow
1 0 1 Timer/Counter1 Compare Match B
1 1 0 Timer/Counter1 Overflow
1 1 1 Timer/Counter1 Capture Event
2.2 Motor DC sebagai Penggerak Kipas Angin
Motor DC, pada alat ini, digunakan sebagai penggerak kipas angin. Motor
DC adalah motor yang memerlukan suplai tegangan searah pada kumparan
jangkar dan kumparan medan untuk diubah menjadi energi mekanik. Motor DC
terdapat dalam berbagai ukuran dan kekuatan, masing masing didesain untuk
keperluan yang berbeda-beda namun secara umum memiliki fungsi dasar yang
sama yaitu mengubah energi elektrik menjadi energi mekanik.
Sebuah motor DC sederhana dibangun dengan menempatkan kawat yang
dialiri arus di dalam medan magnet. Kawat yang membentuk loop ditempatkan
sedemikian rupa di antara dua buah magnet permanen. Bila arus mengalir pada
kawat, arus akan menghasilkan medan magnet sendiri yang arahnya berubah-ubah
terhadap arah medan magnet permanen sehingga menimbulkan putaran.
Keuntungan utama motor DC adalah sebagai pengendali kecepatan, yang tidak
mempengaruhi kualitas pasokan daya. Terdapat 2 cara untuk mengatur tingkat
kecepatan putar motor DC, yaitu dengan meningkatkan tegangan dinamo maka
kecepatan putar kipas akan meningkat, dan dengan menurunkan arus medan maka
akan kecepatan putar kipas. Berikut ini adalah gambar 2.2 tentang struktur motor
DC.
14
Gambar 2.2 Struktur motor DC
Sumber: http://pictureofgoodelectroniccircuit.blogspot.com/2011/02/dc-motor-
which-has-three-main.html
Berdasarkan struktur motor DC pada gambar 2.2, sebuah motor DC yang
memiliki tiga komponen utama:
1. Kutub medan
Secara sederhana digambarkan bahwa interaksi dua kutub magnet akan
menyebabkan perputaran pada motor DC. Motor DC memiliki kutub medan yang
stasioner dan dinamo yang menggerakan bearing pada ruang diantara kutub
medan. Motor DC sederhana memiliki dua kutub medan: kutub utara dan kutub
selatan. Garis magnetik energi membesar melintasi bukaan diantara kutub-kutub
dari utara ke selatan. Untuk motor yang lebih besar atau lebih komplek terdapat
satu atau lebih elektromagnet. Elektromagnet menerima listrik dari sumber daya
dari luar sebagai penyedia struktur medan.
2. Dinamo
Bila arus masuk menuju dinamo, maka arus ini akan menjadi
elektromagnet. Dinamo yang berbentuk silinder, dihubungkan ke as penggerak
untuk menggerakan beban. Untuk kasus motor DC yang kecil, dinamo berputar
dalam medan magnet yang dibentuk oleh kutub-kutub, sampai kutub utara dan
15
selatan magnet berganti lokasi. Jika hal ini terjadi arusnya berbalik untuk merubah
kutub-kutub utara dan selatan dinamo.
3. Commutator
Komponen ini terutama ditemukan dalam motor DC. Kegunaannya adalah
untuk membalikan arah arus listrik dalam dinamo. Commutator juga membantu
dalam transmisi arus antara dinamo dan sumber daya.
Rumus untuk menghitung besarnya RPM (Rotation per Minute ) atau
banyaknya putaran per menit adalah sebagai berikut :
RPMMax =120 ∗ F
P
Keterangan:
RPM Max = Nilai maksimal dari RPM (RPM)
F = Frekuensi jala-jala (Hz)
P = Jumlah kutub pada motor DC
2.3 IC L293 sebagai Motor Driver
IC L293D ini adalah suatu bentuk rangkaian daya tinggi terintegrasi yang
mampu melayani 4 buah beban dengan arus nominal 600 mA hingga maksimum
1.2 A. Keempat channel inputnya didesain untuk dapat menerima masukan level
logika TTL. Biasa dipakai sebagai driver relay, motor DC, motor steper maupun
pengganti transistor sebagai saklar dengan kecepatan switching mencapai 5kHz.
Driver tersebut berupa dua pasang rangkaian h-bridge yang masing-masing
dikendalikan oleh enable 1 dan enable 2.
16
Gambar 2.3 Skematik IC L293
Berdasarkan pada gambar 2.3, konfigurasi pin-pin pada IC L293 adalah
sebagai berikut
1) 1,2 EN / Enable 1 (Pin 1): Enable 1 berfungsi sebagai pengaktif masukan 1
(1A) dan masukan 2 (2A). Enable 1 diaktifkan dengan cara diberi
tegangan 5 Volt.
2) 3,4 EN / Enable 2 (Pin 9): Enable 2 berfungsi sebagai pengaktif masukan 3
(3A) dan masukan 4 (4A). Enable 2 diaktifkan dengan cara diberi
tegangan 5 Volt.
3) 1A (pin 2): 1A adalah masukan 1 untuk IC L293, dan hanya bisa berfungsi
jika enable 1 diaktifkan.
4) 1Y (pin 3): 1Y adalah keluaran dari masukan 1 untuk IC L293.
5) 2A (pin 7): 1A adalah masukan 2 untuk IC L293, dan hanya bisa berfungsi
jika enable 1 diaktifkan.
6) 2Y (pin 6): 2Y adalah keluaran dari masukan 2 untuk IC L293.
7) 3A (pin 10): 3A adalah masukan 3 untuk IC L293, dan hanya bisa
berfungsi jika enable 2 diaktifkan.
8) 3Y (pin 11): 3Y adalah keluaran dari masukan 3 untuk IC L293.
9) 4A (pin 15): 4A adalah masukan 4 untuk IC L293, dan hanya bisa
berfungsi jika enable 2 diaktifkan.
10) 4Y (pin 14): 4Y adalah keluaran dari masukan 4 untuk IC L293.
11) Vcc1 (pin 16): Vcc1 berfungsi sebagai masukan tegangan sebesar 5 Volt
untuk IC L293.
17
12) Vcc2 (pin 8): Vcc2 berfungsi sebagai masukan tegangan sebesar 12 Volt
untuk IC L293.
13) Ground (pin 4, 5, 12, & 13): Keempat pin ini berfungsi sebagai ground
untuk IC L293.
Pada IC L293, pin Enable 1 atau 2 diberi VCC 5 Volt untuk kecepatan
penuh motor DC, dan untuk pengaturan kecepatan motor DC dapat dilakukan
dengan metode PWM (Pulse Width Modulation) untuk kecepatan rotasi yang
bervariasi tergantung dari level highnya.
2.3.1 Pulse Width Modulation
Pulse Width Modulation (PWM) adalah metode yang cukup efektif untuk
mengendalikan kecepatan motor DC. PWM ini bekerja dengan cara membuat
gelombang persegi yang memiliki perbandingan pulsa high terhadap pulsa low
yang telah tertentu, biasanya diskalakan dari 0 hingga 100%. Gelombang persegi
ini memiliki frekuensi tetap (biasanya max 10 KHz) namun lebar pulsa high dan
low dalam 1 periode yang akan diatur. Perbandingan pulsa high terhadap low ini
akan menentukan jumlah daya yang diberikan ke motor DC.
Rumus untuk menentukan kecepatan putaran kipas yang dipengaruhi nilai
PWM adalah sebagai berikut:
RPM =RPMMax ∗ PWM
255
Keterangan:
RPM = Jumlah putaran per menit (RPM)
RPM Max = Nilai maksimal dari RPM (RPM)
PWM = Nilai PWM dengan nilai maksimal 255
18
2.3 Passive Infrared Receiver sebagai Pendeteksi Manusia
Passive Infrared Receiver (PIR) merupakan sebuah sensor berbasis
infrared. Akan tetapi, tidak seperti sensor infrared kebanyakan yang terdiri dari IR
LED dan fototransistor. PIR tidak memancarkan apapun seperti IR LED. Sesuai
dengan namanya ‘Passive’, sensor ini hanya merespon energi dari pancaran sinar
inframerah pasif yang dimiliki oleh setiap objek bergerak yang terdeteksi olehnya.
Berikut ini adalah gambar 2.4 yang menerangkan tentang diagram rangkaian
sensor PIR.
Gambar 2.4 Rangkaian sensor PIR
Sumber: http://bagusrifqyalistia.wordpress.com/2008/09/12/cara-kerja-sensor-pir/
Pada gambar 2.4 terdapat rangkaian penyusun sensor PIR yang terdiri dari
lensa Fresnel, IR filter, pyroelectric sensor, amplifier, dan comparator. Sensor PIR
hanya bereaksi pada tubuh manusia saja disebabkan karena adanya IR Filter yang
menyaring panjang gelombang sinar inframerah pasif. IR Filter dimodul sensor
PIR ini mampu menyaring panjang gelombang sinar inframerah pasif antara 8
sampai 14 mikrometer, sehingga panjang gelombang yang dihasilkan dari tubuh
manusia yang berkisar antara 9 sampai 10 mikrometer ini saja yang dapat
dideteksi oleh sensor. Jadi, ketika seseorang berjalan melewati sensor, sensor akan
menangkap pancaran sinar inframerah pasif yang dipancarkan oleh tubuh manusia
19
yang memiliki suhu yang berbeda dari lingkungan. Pancaran sinar inframerah
inilah yang kemudian ditangkap oleh Pyroelectric sensor yang merupakan inti dari
sensor PIR ini sehingga menyebabkan Pyroelectic sensor yang terdiri dari galium
nitride, caesium nitrat dan litium tantalate menghasilkan arus listrik. Kemudian
sebuah sirkuit amplifier yang ada menguatkan arus tersebut yang kemudian
dibandingkan oleh komparator sehingga menghasilkan output.
2.4 LM35 sebagai Pendeteksi Suhu
Sensor LM35 adalah komponen elektronika yang memiliki fungsi untuk
mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Cara
kerja sensor LM35 dapat dilihat pada gambar 2.4 berikut ini.
Gambar 2.5 Cara Kerja sensor LM35
Sumber: http://ilham99.ngeblogs.com/2009/10/04/pengertian-sensor/
Berdasarkan pada gambar 2.5, Untuk komponen sensor suhu, parameter
ini harus dipertimbangkan dan ditangani dengan baik karena hal ini dapat
menyebabkan kesalahan pengukuran. Seperti sensor suhu jenis RTD
PT100 atau PT1000 misalnya, komponen ini tidak boleh dieksitasi oleh arus
melebihi 1 miliampere, jika melebihi, maka sensor akan mengalami self-
heating yang menyebabkan hasil pengukuran senantiasa lebih tinggi dibandingkan
suhu yang sebenarnya. Berikut ini adalah spesifikasi dari sensor LM35:
1) Dapat dikalibrasi langsung ke dalam besaran Celcius.
2) Faktor skala linier +10mV/ °C.
3) Tingkat akurasi 0,5°C saat suhu kamar (25°C).
Suhu
20
4) Jangkauan suhu antara -55°C sampai 150°C.
5) Tegangan masukan 4 Volt hingga 30 Volt.
6) Kerja kurang dari 60 µA.
7) Impedansi keluaran rendah 0,1Ω untuk beban 1 mA.
Rumus perbandingan besarnya tegangan listrik yang dihasilkan dengan
suhu yang dideteksi oleh sensor LM35 adalah sebagai berikut:
Suhu =V
10
Keterangan:
Suhu = Suhu yang dideteksi oleh sensor LM35 (°C)
V = Besar tegangan yang dihasilkan (mV)
Agar mikrokontroler mampu membaca suhu yang diterima sensor LM35
dengan tepat, maka besarnya suhu yang diterima LM35 harus dikonversi terlebih
dahulu menggunakan rumus berikut ini:
SuhuADC =Suhu ∗ 175
255− 12
Keterangan:
Suhu ADC = Nilai suhu yang terbaca pada mikrokontroler
Suhu = Nilai suhu yang terdeteksi oleh sensor LM35 (°C)
2.5 Liquid Crystal Display sebagai Layar Tampilan
Liquid Crystal Display (LCD) dapat dengan mudah dihubungkan dengan
mikrokontroller seperti ATMEGA8535. Sesuai standarisasi yang cukup terkenal
digunakan banyak vendor LCD, yaitu HD44780, yang memiliki chip kontroler
Hitachi 44780. LCD bertipe ini memungkinkan pemrogram untuk
21
mengoperasikan komunikasi data secara 8 bit atau 4 bit. Berikut adalah rangkaian
interface LCD dan susunan umum kaki LCD bertipe HD44780.
Gambar 2.6 Skematik Rangkaian Interface LCD
Berdasarkan gambar 2.6, Jika menggunakan jalur data 4 bit akan ada 7
jalur (3 untuk jalur kontrol & 4 untuk jalur data). Jika menggunakan jalur data 8
bit maka akan ada 11 jalur (3 untuk jalur kontrol & 8 untuk jalur data). Tiga jalur
kontrol ke LCD ini adalah EN (Enable), RS (Register Select) dan R/W
(Read/Write).
Tabel 2.8 Daftar Pin LCD HD44780
PIN Nama Fungsi
1 GND Ground
2 VCC Sumber tegangan 5 volt
3 VEE Pengaturan kontras
4 RS
Pemilihan Register
0 = Register Instruksi
1 = Register Data
5 R/W Mode Baca/ Tulis
0 = Mode Tulis
22
1 = Mode Baca
6 E
Enable
0 = start to lacht data to LCD
character
1= disable
7 DB0 LSB/Data 0
8 DB1 Data 1
9 DB2 Data 2
10 DB3 Data 3
11 DB4 Data 4
12 DB5 Data 5
13 DB6 Data 6
14 DB7 MSB/Data 7
15 BPL Back Plane Light
16 GND Ground
Berdasarkan pada tabel 2.8, terdapat Jalur EN yang dinamakan Enable.
Jalur ini digunakan untuk memberitahu LCD bahwa sedang mengirimkan sebuah
data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat
logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua
jalur yang lain telah siap, set EN dengan logika “1” dan tunggu untuk sejumlah
waktu tertentu (sesuai dengan datasheet dari LCD tersebut ) dan berikutnya set
EN ke logika low “0” lagi.
Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data
akan dianggap sebagai sebuah perintah atau instruksi khusus (seperti clear screen,
posisi petunjuk, dll). Ketika RS berlogika high “1”, data yang dikirim adalah data
23
teks yang akan ditampilkan pada tampilan LCD. Sebagai contoh, untuk
menampilkan huruf “T” pada layar LCD maka RS harus diset logika high “1”.
Jalur R/W adalah jalur kontrol Read/ Write. Ketika R/W berlogika low (0),
maka informasi pada bus data akan dituliskan pada layar LCD. Ketika R/W
berlogika high “1”, maka program akan melakukan pembacaan memori dari LCD.
Sedangkan pada aplikasi umum kaki R/W selalu diberi logika low “0”.
2.6 Bahasa C sebagai Bahasa Program Mikrokontroler
Pada alat kipas angin otomatis ini dibutuhkan sebuah bahasa pemrograman
yang dapat dibaca oleh mikrokontroler ATMEGA8535, yaitu bahasa
pemrograman C. Bahasa C merupakan perkembangan dari bahasa BCPL yang
dikembangkan oleh Martin Richards pada tahun 1967.
Aplikasi bahasa C :
· Bahasa C pertama kali digunakan di Computer Digital Equipment
Corporation PDP-11 yang menggunakan system operasi UNIX.
· Bahasa C juga digunakan untuk menyusun operasi Linux
· Banyak bahasa pemrogaman popular seperti PHP dan Java menggunakan
sintaks dasar mirip bahasa C.
Kelebihan Bahasa C
· Bahasa C tersedia hampir di semua jenis komputer
· Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis
computer
· Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32
kata kunci
· Proses executable program bahasa C lebih cepat
· Dukungan pustaka yang banyak
· C adalah bahasa yang terstruktur
24
· Bahasa C termasuk bahasa tingkat menengah
Untuk melakukan pemrograman dalam mikrokontroler AVR, Atmel telah
menyediakan software khusus yang dapat diunduh dari website resmi Atmel.
Software tersebut adalah AVR Studio. Untuk melakukan pemindahan dari
komputer ke dalam chip, dapat digunakan beberapa cara seperti
menggunakan kabel JTAG atau menggunakan STNK buatan Atmel.
2.7 Persentase Kesalahan Pengukuran
Di dalam setiap pengukuran dari sebuah percobaan tidak akan terlepas dari
kesalahan pengukuran. Perbedaan yang muncul akibat pengukuran bisa
diakibatkan oleh banyak hal salah satunya kesalahan sistematis. Selisih antara
pengukuran dan perhitungan merupakan faktor besarnya kesalahan pengukuran.
Untuk mencari besarnya persentase kesalahan pengukuran maka nilai
pengukuran harus dibandingkan dengan hasil perhitungan. Nilai untuk Ketidak
Pastian Relatif (KTPr) dari suatu percobaan dapat dihitung menggunakan rumus
berikut.
KTPr =|ΔT||T|
Keterangan:
ΔT = Selisih nilai pengukuran dengan nilai teori
T = Nilai teori
Sehingga didapat persamaan untuk Persentase Kesalahan (PK) pengukuran:
PK =|ΔT||T|
∗ 100%
25
BAB 3
PERANCANGAN ALAT
Dalam pembuatan sebuah alat elektronika yang berbasis mikrokontroler,
ada 2 hal penting yang harus diperhatikan yaitu cara kerja alat tersebut dari tahap
input hingga output, juga bentuk pemrograman yang ditanamkan ke dalam
mikrokontrolernya. Agar alat tersebut dapat bekerja sesuai yang diinginkan, maka
terlebih dahulu harus dibuat perancangan alat, yang terdiri dari perancangan
perangkat keras dan perangkat lunak atau pemrogramannya.
3.1 Perancangan Perangkat Keras
Pembahasan pada perancangan perangkat keras kipas angin otomatis
hemat energi akan mencakup 3 bahasan. Pertama, perancangan alur kerja
rangkaian, yaitu tentang rancangan awal cara kerja alat secara bertahap. Kedua,
perancangan rangkaian alat, yang membahas seputar bagaimana alat dirancang.
Dan ketiga, perancangan maket alat, yang membahas tentang rancangan bentuk
jadi alat.
3.1.1 Perancangan Alur Kerja Alat
Alur kerja robot ini dibagi menjadi 4 blok yaitu blok aktivator, blok
masukan, blok proses, dan blok keluaran. Gambar 2.1 berikut ini adalah gambar
diagram rancangan alur kerja alat, serta penjelasannya.
26
Gambar 3.1 Rancangan alur kerja kipas angin otomatis
Berdasarkan gambar 3.1 di atas, alur kerja alat dimulai dari blok aktivator.
Blok aktivator berfungsi sebagai pengaktif atau pemberi sumber tegangan ke
ketiga blok di bawahnya, yaitu blok input, blok proses, dan blok output.
Blok masukan meliputi sensor PIR dan sensor LM35. Input dari alat ini
berasal dari pendeteksian ada atau tidaknya keberadaan manusia menggunakan
sensor PIR, dan suhu ruangan menggunakan sensor LM35. Hasil pendeteksian
kedua sensor ini digunakan sebagai masukan ke blok proses.
Blok proses pada alat ini berupa mikrokontroler ATMEGA8535. Input
dari sensor PIR dan sensor LM35 diteruskan ke blok proses, yaitu mikrokontroler
ATMEGA8535 untuk memproses dan menentukan output ke port PC0 & PC1
ATMEGA8535, dan selanjutnya diteruskan ke driver motor L293.
Pada blok output, output dari mikrokontroler disalurkan menuju LCD,
untuk menampilkan suhu & IC L293, untuk menggerakkan motor DC. Tegangan
+12V yang masuk ke L293 digunakan untuk memperkuat tegangan yang masuk
ke Motor DC, sehingga Motor DC pun dapat berputar.
27
3.1.2 Perancangan Rangkaian Alat
Setelah membuat rancangan alur kerja alat, maka selanjutnya merancang
rangkaian alat sesuai dengan alur kerja alat. Setiap komponen elektronika yang
digunakan pada alat ini memiliki fungsi yang berbeda-beda, namun saling
mendukung satu sama lain. Oleh karena itu, bentuk desain rangkaian alat dibuat
agar menjadi kaidah dalam pemasangan komponen-komponen elektronikanya.Di
bawah ini adalah gambar 3.2 yang menggambarkan rancangan rangkaian alat
secara keseluruhan.
Gambar 3.2 Rancangan rangkaian alat secara keseluruhan
Berdasarkan rancangan rangkaian alat pada gambar 3.2, pemasangan
komponen utama dan komponen pendukung pada rangkaian alat akan dijelaskan
sebagai berikut.
28
1) Sebuah Resistor & kapasitor polar dihubungkan ke port Reset
ATMEGA8535. Berikut ini adalah bentuk pemasangannya yang terdapat
pada gambar 3.3.
Gambar 3.3 Rancangan alat secara detail 1
Berdasarkan pemasangan komponen seperti gambar 3.3 di atas, bagian
ini berfungsi sebagai penghapus program yang ditanamkan di
ATMEGA8535 yang diperlukan saat memperbaiki kesalahan dalam
pemrograman.
2) 1 Xtal dan 2 kapasitor non polar dihubungkan ke port Xtal1 & Xtal2
ATMEGA8535. Berikut ini adalah bentuk pemasangannya yang terdapat
pada gambar 3.4.
Gambar 3.4 Rancangan alat secara detail 2
29
Berdasarkan pemasangan komponen seperti gambar 3.4 di atas, bagian ini
berfungsi sebagai penghasil sumber clock bagi ATMEGA8535.
3) Vout sensor LM35 dihubungkan ke port A.0 ATMEGA8535. Berikut ini
adalah bentuk pemasangan sensor LM35 dengan ATMEGA8535 yang
terdapat pada gambar 3.5.
Gambar 3.5 Rancangan alat secara detail 3
Berdasarkan pemasangan komponen seperti gambar 3.5 di atas, bagian ini
memanfaatkan port A yang memiliki fungsi Analog to Digital Converter
(ADC) sebagai pengkonversi nilai suhu dari sensor LM35 yang berupa
sinyal analog, menjadi sinyal digital agar dapat dibaca dan diproses oleh
ATMEGA8535.
4) Vout sensor Sensor PIR dihubungkan dengan port B.0 ATMEGA8535.
Berikut ini adalah bentuk pemasangan sensor PIR dengan ATMEGA8535
yang terdapat pada gambar 3.6.
Gambar 3.6 Rancangan alat secara detail 4
30
Berdasarkan pemasangan komponen seperti gambar 3.5 di atas, bagian ini
berfungsi sebagai Sensor PIR ditempatkan di port yang berbeda dari
sensor suhu, karena port A sudah digunakan untuk input ADC.
5) Pin 10 L293 dihubungkan ke port C.0 ATMEGA8535, pin 15 IC L293
dihubungkan ke port C.1 ATMEGA8535, dan Enable2 (pin 9) L293
dipasangkan ke port C.2 ATMEGA8535. Berikut ini adalah bentuk
pemasangannya yang terdapat pada gambar 3.7.
Gambar 3.7 Rancangan alat secara detail 5
Berdasarkan pemasangan komponen seperti gambar 3.7 di atas, pada
bagian ini port C.0 & C.1 berfungsi sebagai masukan untuk kaki positif &
negatif kipas angin melalui L293, sedangkan port C.2 untuk masukan
PWM-nya.
6) Motor DC dihubungkan ke pin output L293 yaitu pin 11 & 14. Berikut ini
adalah bentuk pemasangannya yang terdapat pada gambar 3.8.
31
Gambar 3.8 Rancangan alat secara detail 6
Berdasarkan pemasangan komponen seperti gambar 3.8 di atas, bagian ini
berfungsi sebagai penggerak kipas angin dengan cara memberi masukan
ke kaki positif dari motor DC.
7) Liquid Crystal Display (LCD) dihubungkan dengan port C.0 sampai C.8.
Berikut ini adalah bentuk pemasangan LCD dengan kedelapan port D pada
gambar 3.9.
Gambar 3.9 Rancangan alat secara detail 7
32
Berdasarkan pada gambar 3.9, LCD dipasangkan ke kedelapan port D
karena port A, B, dan C sudah digunakan.
3.1.3 Perancangan Maket Alat
Maket kipas angin otomatis ini perlu dirancang bentuknya agar
komponen-komponen utamanya dapat berfungsi tanpa saling mengganggu satu
sama lain. Maket ini dibagi menjadi 4 bagian, yang terdiri dari bagian sensor PIR,
bagian sensor LM35, bagian kipas angin, dan bagian kotak komponen. Gambar
3.9 berikut ini adalah gambar tentang rancangan maket kipas angin otomatis.
Gambar 3.10 Desain maket alat tampak depan
Berdasarkan desain maket pda gambar 3.9, di bagian dalam boks maket
terdapat papan PCB rangkaian elektronika alat. Kipas angin diletakkan pada
bagian atas maket, yang ditujukan agar hembusan anginnya tidak mengganggu
sensor PIR dan LM35 yang diletakkan di depan boks maket. Kemudian, sensor
PIR diletakkan di depan boks maket dan diarahkan searah dengan hembusan
angin kipas angin, agar mampu mendeteksi keberadaan manusia di depan kipas
angin. Dan untuk sensor LM35 diletakkan di depan boks maket, agar mampu
mendeteksi suhu tanpa terganggu hembusan angin dari kipas angin. Sedangkan
untuk LCD, dipasang di depan agar mudah mengetahui nilai suhu & kecepatan
putar kipas.
33
3.2 Perancangan Program
Perancangan program kipas angin otomatis hemat energi dimulai dari
tahap pembuatan algoritma program yaitu mendesain flowchart dari program,
kemudian pembuatan program yaitu membuat program dalam bahasa C, dan
terakhir tahap pengisian program yaitu memasukkan program yang sudah dibuat
dalam bahasa C ke dalam mikrokontroler ATMEGA8535.
3.2.1 Algoritma Program
Untuk mempermudah pembuatan program alat kipas angin otomatis hemat
energi, maka dibuatlah sebuah diagram flowchart yang menjelaskan cara kerja
alat tahap demi tahap berdasarkan pemrograman yang akan dimasukkan ke
dalamnya. Flowchart program dari alat kipas angin otomatis dapat dilihat pada
gambar 3.10 berikut ini.
34
Aktifkan kipas dengan putaran
pelan & tampilkan kondisi kipas &
suhu di LCD
Suhu >= 28°C &
Suhu < 30°C
Suhu >= 30°C&
Suhu < 32°C
Aktifkan kipas dengan putaran
sedang & tampilkan kondisi kipas &
suhu di LCD
Aktifkan kipas dengan putaran
kencang & tampilkan kondisi
kipas & suhu di LCD
Ya
Ya
Tidak
Tidak
12
Gambar 3.11 Flowchart program kipas angin otomatis
Berdasarkan pada gambar 3.11, diagram flowchart kipas angin otomatis di
atas terbagi menjadi beberapa langkah, yaitu sebagai berikut:
1) Langkah pertama, dimulai dari terminal “Mulai” yang menandakan awal
dari program.
2) Langkah kedua, yaitu memasuki pilihan “Ada sumber DC?”. Jika ada
sumber DC maka program berlanjut ke langkah ketiga, dan jika tidak
maka program berakhir pada terminal “Selesai”.
3) Langkah ketiga, yaitu memasuki pilihan “Ada gerakan?”, jika ada gerakan
maka program berlanjut ke langkah keempat, dan jika tidak maka program
akan memberikan keluaran berupa “Kipas diam & LCD mati”, kemudian
kembali ke langkah kedua.
4) Langkah keempat, yaitu menentukan apakah “Suhu < 28°C” atau tidak.
Jika ya maka program memberikan keluaran berupa keadaan “Kipas diam
35
& tampilkan kondisi kipas & suhu di LCD”, kemudian berlanjut ke “jeda
pembacaan suhu”, dan jika tidak maka program berlanjut ke langkah
kelima. Setelah itu, program akan mengulang kembali ke langkah kedua.
5) Langkah kelima, yaitu menentukan apakah “Suhu >= 28°C & suhu <
30°C” atau tidak. Jika ya maka program memberikan keluaran berupa
“Aktifkan kipas dengan putaran pelan & tampilkan kondisi kipas & suhu
di LCD”, kemudian berlanjut ke “jeda pembacaan suhu”, dan jika tidak
maka program berlanjut ke langkah keenam. Setelah itu, program akan
mengulang kembali ke langkah kedua.
6) Langkah keenam, yaitu menentukan apakah “Suhu >= 30°C & suhu <
32°C” atau tidak. Jika ya maka program memberikan keluaran berupa
“Aktifkan kipas dengan putaran sedang & tampilkan kondisi kipas & suhu
di LCD”, kemudian berlanjut ke “jeda pembacaan suhu”, dan jika tidak
maka program memberikan keluaran berupa keadaan “Aktifkan kipas
dengan putaran kencang & tampilkan kondisi kipas & suhu di LCD”,
kemudian berlanjut ke “jeda pembacaan suhu”. Setelah itu, program akan
mengulang kembali ke langkah kedua.
Berdasarkan pada gambar 3.11, spesifikasi rancangan program kipas angin
otomatis dapat dijabarkan pada tabel 3.1 berikut ini.
Tabel 3.1 Spesifikasi rancangan program kipas angin otomatis
Gerakan manusia Suhu Tindakan
Ada Suhu < 28°C
Kipas diam & LCD
menampilkan kondisi suhu
& kipas di LCD
Ada Suhu >= 28°C & suhu < 30°C
Kipas berputar pelan &
LCD menampilkan kondisi
suhu & kipas di LCD
36
Ada Suhu >= 30°C & suhu < 32°C
Kipas berputar sedang &
LCD menampilkan kondisi
suhu & kipas di LCD
Ada Suhu > 32°C
Kipas berputar kencang &
LCD menampilkan kondisi
suhu & kipas di LCD
Tidak ada Suhu < 28°C Kipas diam & LCD mati
Tidak ada Suhu >= 28°C & suhu < 30°C Kipas diam & LCD mati
Tidak ada Suhu >= 28°C & suhu < 30°C Kipas diam & LCD mati
Tidak ada Suhu > 32°C Kipas diam & LCD mati
Spesifikasi rancangan program pada tabel 3.1 di atas menunjukkan bahwa
ada 4 kondisi dimana kipas & LCD mati, 3 kondisi dimana kipas & LCD
menyala, dan 1 kondisi dimana kipas mati & LCD menyala.
3.2.2 Pembuatan Program
Pembuatan program dimulai dengan membuat listing program dengan
menggunakan bahasa C. Berikut ini adalah program bahasa C untuk kipas angin
otomatis hemat energi beserta penjelasan programnya.
Dalam pemrograman ini, hal yang pertama kali dilakukan adalah
memanggil library pengarah pre-processor, dalam hal ini pre-processor adalah
ATmega8535, serta pemanggilan fungsi pustaka stdio, delay, dan LCD. Listing
program untuk pemanggilan library tersebut adalah sebagai berikut.
#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
#include <lcd.h>
37
Langkah selanjutnya adalah mendefinisikan PORTC.0 sebagai kipas1,
PORTC.1 sebagai kipas2, PORTC.2 sebagai fungsi PWM, dan tipe tegangan
referensi dengan nilai ADC 0x40. Listing program untuk pendefinisian tersebut
adalah sebagai berikut.
#define kipas1 PORTC.0
#define kipas2 PORTC.1
#define pwm PORTC.2
#define ADC_VREF_TYPE 0x40
Untuk menampilkan angka dan huruf pada LCD, maka LCD yang
dihubungkan ke PORTD harus diinisialisasi terlebih dahulu dengan menggunakan
listing program berikut ini.
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
Setelah itu, menginisialisasi fungsi PWM. ISR Timer 0 dieksekusi secara
periodik ketika Timer 0 overflow. Lamanya tergantung nilai Timer/Counter 0
(TCNT0). Periode pulsa ditentukan oleh TCNT0. Nilai maksimumnya 0xFF atau
255d. Duty cycle PWM untuk motor kipas angin ditentukan oleh nilai npwm.
Nilai maksimum npwm adalah 255. Listing program untuk perintah tersebut
adalah sebagai berikut.
unsigned char cont, npwm;
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
cont++;
if (npwm>=cont)pwm=1;
else pwm=0;
TCNT0=0xFF;
}
38
Selanjutnya adalah pembuatan subrutin untuk stop. Subrutin stop yaitu
berupa perintah untuk menghentikan kipas dengan memberikan nilai 0 ke kipas1,
kipas2, dan npwm. Listing program untuk perintah tersebut adalah sebagai
berikut.
void stop(void)
{
kipas1=0;kipas2=0;npwm=0;
}
Berikutnya adalah pembuatan subrutin untuk pelan, yaitu memutar kipas
dengan kecepatan pelan dengan memberikan nilai kipas1 = 0, kipas2 = 1, dan
npwm = 75. Listing program untuk perintah tersebut adalah sebagai berikut.
void pelan(void)
{
kipas1=0;kipas2=1;npwm=75;
}
Subrutin untuk sedang, yaitu memutar kipas dengan kecepatan sedang
dengan memberikan nilai kipas1 = 0, kipas2 = 1, dan npwm = 150. Listing
program untuk perintah tersebut adalah sebagai berikut.
void sedang(void)
{
kipas1=0;kipas2=1;npwm=150;
}
Setelah itu adalah pembuatan subrutin untuk kencang, yaitu memutar kipas
dengan kecepatan penuh dengan memberikan nilai kipas1 = 0, kipas2 = 1, dan
npwm = 255. Listing program untuk perintah tersebut adalah sebagai berikut.
void kencang(void)
{
kipas1=0;kipas2=1;npwm=255;
}
39
Perintah selanjutnya yaitu menginisialisasi ADC dengan menentukan nilai
untuk ADMUX = adc_input| ADC_VREF_TYPE, ADCSRA|=0x40, serta
inisialisasi tipe data yang ditampilkan di LCD. Listing program untuk perintah
tersebut adalah sebagai berikut.
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
ADCSRA|=0x40;
delay_us(10);
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
unsigned char buff[33];
void lcd_putint(unsigned int dat)
{
sprintf(buff,"%d ",dat);
lcd_puts(buff);
}
Perintah berikutnya adalah menginisialisasi PORTA yang
dikonfigurasikan sebagai input (PA0 s/d PA7). Listing program untuk perintah
tersebut adalah sebagai berikut.
void main(void)
{
unsigned int suhu;
float adc;
DDRA=0x00;
PORTA=0x00;
40
Perintah berikutnya adalah menginisialisasi PORTB yang
dikonfigurasikan sebagai input (PB0 s/d PB7). Listing program untuk perintah
tersebut adalah sebagai berikut.
DDRB=0x00;
PORTB=0xFF;
Perintah berikutnya adalah menginisialisasi PORTC yang
dikonfigurasikan sebagai output (PC0 s/d PC7). Listing program untuk perintah
tersebut adalah sebagai berikut.
PORTC=0x00;
DDRC=0xFF;
Kemudian, menentukan nilai dari ketiga register ADC, yaitu ADMUX
dengan nilai ADC_VREF_TYPE, ADCSRA dengan nilai 0x85, dan SFIOR dengan
nilai 0xEF. Listing program untuk perintah tersebut adalah sebagai berikut.
TCCR0=0x01;
TCNT0=0x00;
OCR0=0x00;
TIMSK=0x01;
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x85;
SFIOR&=0xEF;
lcd_init(16);
Pada bagian ini, jika sensor PIR aktif, atau PORTB = 0xFE, maka
lanjutkan ke baris program selanjutnya. Listing program untuk perintah tersebut
adalah sebagai berikut.
while (1)
{
switch (PINB)
{
41
case 0xFE:
Nilai variabel adc berasal dari read_adc. Kemudian, mengkalibrasi nilai
ADC agar sesuai dengan suhu sebenarnya. Setiap rangkaian memiliki error yg
berbeda-beda. jadi nilai untuk kalibrasi harus disesuaikan. Listing program untuk
perintah tersebut adalah sebagai berikut.
adc = read_adc(1);
adc=adc/255;
suhu=adc*175;
suhu=suhu-12;
Jika nilai suhu lebih kecil dari 28°C, maka loncat ke subrutin stop dan
tampilkan “Suhu= X°C”, dengan X sebagai nilai suhunya. Jeda waktu 0,5 detik
pada LCD dibutuhkan agar LCD tidak terlalu cepat melakukan perubahan pada
layarnya. Listing program untuk perintah tersebut adalah sebagai berikut.
if (suhu<28)
{
stop();
lcd_gotoxy(0,0); lcd_putsf("suhu= "); lcd_putint(suhu);
lcd_gotoxy(9,0); lcd_putchar(0xDF); lcd_gotoxy(10,0); lcd_putsf(“C”);
lcd_gotoxy(0,1); lcd_putsf(“kipas mati”);
delay_ms(500);
lcd_clear();
}
Jika nilai suhu antara 28°C hingga di bawah 30°C, maka loncat ke subrutin
pelan dan tampilkan “Suhu= X°C”, dengan X sebagai nilai suhunya. Jeda waktu
0,5 detik pada LCD dibutuhkan agar LCD tidak terlalu cepat melakukan
perubahan pada layarnya. Listing program untuk perintah tersebut adalah sebagai
berikut.
else if (suhu>=28 && suhu<30)
{
42
pelan();
lcd_gotoxy(0,0); lcd_putsf("suhu= "); lcd_putint(suhu);
lcd_gotoxy(9,0); lcd_putchar(0xDF); lcd_gotoxy(10,0); lcd_putsf(“C”);
lcd_gotoxy(0,1); lcd_putsf(“kipas pelan”);
delay_ms(500);
lcd_clear();
}
Jika nilai suhu antara 30°C hingga di bawah 32°C, maka loncat ke subrutin
sedang dan tampilkan “Suhu= X°C”, dengan X sebagai nilai suhunya. Jeda waktu
0,5 detik pada LCD dibutuhkan agar LCD tidak terlalu cepat melakukan
perubahan pada layarnya. Listing program untuk perintah tersebut adalah sebagai
berikut.
else if (suhu>=30 && suhu<32)
{
sedang();
lcd_gotoxy(0,0); lcd_putsf("suhu= "); lcd_putint(suhu);
lcd_gotoxy(9,0); lcd_putchar(0xDF); lcd_gotoxy(10,0); lcd_putsf(“C”);
lcd_gotoxy(0,1); lcd_putsf(“kipas sedang”);
delay_ms(500);
lcd_clear();
}
Jika nilai suhu di atas 32°C, maka loncat ke subrutin pelan dan tampilkan
“Suhu= X°C”, dengan X sebagai nilai suhunya. Jeda waktu 0,5 detik pada LCD
dibutuhkan agar LCD tidak terlalu cepat melakukan perubahan pada layarnya.
Listing program untuk perintah tersebut adalah sebagai berikut.
else if (suhu>=32)
{
kencang();
lcd_gotoxy(0,0); lcd_putsf("suhu= "); lcd_putint(suhu);
43
lcd_gotoxy(9,0); lcd_putchar(0xDF); lcd_gotoxy(10,0); lcd_putsf(“C”);
lcd_gotoxy(0,1); lcd_putsf(“kipas kencang”);
delay_ms(500);
lcd_clear();
}
Break;
Pada bagian ini, jika sensor PIR tidak aktif, atau PORTB = 0xFF, maka
panggil subrutin stop dan tampilkan “Suhu= X°C”, dengan X sebagai nilai
suhunya. Jeda waktu 0,5 detik pada LCD dibutuhkan agar LCD tidak terlalu cepat
melakukan perubahan pada layarnya. Listing program untuk perintah tersebut
adalah sebagai berikut.
default :
stop();
};
}
}
3.2.3 Pengisian Program
Untuk mengisikan program ke dalam mikrokontroler terlebih dahulu
harus dilakukan beberapa langkah seperti pada gambar 3.11 berikut ini.
Gambar 3.12 Blok proses downloader
44
Berdasarkan pada gambar 3.12, langkah proses downloader dimulai dari
mengubah program sumber assembly atau C menjadi program obyek melalui proses
assembly terlebih dahulu. Untuk melakukan proses assembly dibutuhkan sebuah
program yang disebut program assembler yang berfungsi melakukan konversi ke
dalam program obyek di mana program obyek tersebut dapat berbentuk HEX atau
BIN. Selain program obyek program assembler juga dapat menghasilkan file
listing assembly.
Program obyek yang merupakan hasil dari proses assembly dapat
didownload ke dalam sistem mikrokontroler menggunakan Programmer ISP
melalui ISP Port. Proses pemrograman dapat menggunakan ISP Cable atau DU-
ISP untuk computer yang menggunakan Port USB. Berikut ini adalah gambar
3.12 yaitu konfigurasi dari program kipas angin otomatis.
Gambar 3.13 Konfigurasi program kipas angin otomatis
45
Penjelasan konfigurasi pada gambar 3.13 & langkah pengisian program,
akan dijelaskan sebagai berikut:
1. Langkah pertama adalah dengan membuka Program Code Vision, dan
selanjutnya membuka salah satu project.
2. Langkah kedua, yaitu memilih mikrokontroler ATMEGA8535 sebagai
mikrokontroler yang digunakan pada project.
3. Langkah ketiga, yaitu menyimpan project dengan cara memilih Generate
Save and Exit, kemudian memberi nama sesuai ekstensi yang sudah
ditentukan oleh Wizzard.
4. Langkah keempat, yaitu memilih menu Project, kemudian Configure, lalu
After make. Agar proses programming langsung dijalankan saat proses
compile selesai, maka Program the Chip harus dipilih.
5. Langkah kelima, yaitu memasukkan program yang diperlukan untuk
menjalankan alat kipas angin otomatis dalam bahasa C.
6. Langkah terakhir, yaitu mendownload program bahasa C yang sudah
dibuat ke dalam mikrokontroler ATMEGA8535 dengan cara menekan
tombol Shift + F9, kemudian OK.
46
BAB 4
HASIL DAN ANALISIS
Setelah kipas angin otomatis hemat energi selesai dibuat, maka pada bab
ini akan dilakukan pembahasan tentang uji coba alat. Pengujian alat kipas angin
terbagi menjadi pengujian jarak deteksi gerakan manusia, pengujian ketepatan
deteksi suhu, pengujian kecepatan kipas angin, dan pengujian kerja kipas angin
otomatis.
4.1 Pengujian Jarak Deteksi Gerakan Manusia
Sensor PIR pada kipas angin otomatis ini memiliki kemampuan
mendeteksi keberadaan manusia berdasarkan gerakan & pancaran gelombang
infra merah yang berasal dari manusia. Pengujian kemampuan sensor PIR ini
dimaksudkan untuk mengetahui jarak efektif dari sensor PIR, yang memiliki jarak
pendeteksian maksimal 1000 cm, saat mendeteksi gerakan manusia. Bentuk
pengujiannya adalah seperti pada gambar 4.1 berikut ini.
Gambar 4.1 Pengujian cara kerja sensor PIR pada kipas angin otomatis
Berdasarkan gambar 4.1, pengujian deteksi gerakan manusia dilakukan
dengan melakukan gerakan tangan atau anggota tubuh lainnya di depan sensor
47
PIR dengan berbagai variasi jarak. Hasil dari pengujiannya dapat dilihat pada
tabel 4.1 berikut ini.
Tabel 4.1 Hasil pengujian jarak deteksi gerakan manusia
No. Jarak Pendeteksian Kekuatan Gerak yang Terdeteksi
Pelan Sedang Cepat
1 100 cm Ya Ya Ya
2 200 cm Ya Ya Ya
3 240 cm Ya Ya Ya
4 250 cm Tidak Ya Ya
5 300 cm Tidak Ya Ya
6 450 cm Tidak Ya Ya
7 600 cm Tidak Ya Ya
8 610 cm Tidak Tidak Ya
9 620 cm Tidak Tidak Ya
10 650 cm Tidak Tidak Ya
Hasil percobaan seperti pada tabel 4.1 di atas menunjukkan bahwa sensor
PIR mendeteksi gerakan yang berbeda-beda sesuai dengan jarak pendeteksiannya.
Kategori gerakan manusia yang terdeteksi terbagi menjadi 3 dimana semakin jauh
jaraknya, maka semakin besar gerakan yang diperlukan untuk terdeteksi oleh
sensor PIR. Penjelasan mengenai kategori gerakan manusia adalah sebagai
berikut:
1) Gerakan pelan: yaitu gerakan berupa gerakan pelan seperti menengok,
melambai, dan gerakan pelan saat melewati sensor PIR. Jarak deteksinya
sekitar 0 – 240 cm.
2) Gerakan sedang: yaitu gerakan berupa gerakan yang sedikit lebih cepat
dari gerakan kecil, dan gerakan sedikit cepat saat melewati sensor PIR.
Jarak deteksinya sekitar 241 – 600 cm.
48
3) Gerakan cepat: yaitu gerakan berupa gerakan yang lebih cepat dari
gerakan sedang. Jarak deteksinya sekitar 601 – 1000 cm.
Jarak pendeteksian yang paling efektif untuk sensor PIR adalah sekitar 0 –
240 cm, karena pada jarak ini semua bentuk gerakan manusia dapat dideteksi oleh
sensor PIR.
4.2 Pengujian Pengukuran Suhu
Pendeteksian suhu ruangan pada alat yang dirancang ini menggunakan
sensor LM35. Rumus perbandingan besarnya tegangan listrik yang dihasilkan
dengan suhu yang dideteksi oleh sensor LM35 adalah sebagai berikut:
Suhu =V
10
Keterangan:
Suhu = Suhu yang dideteksi oleh sensor LM35 (°C)
V = Besar tegangan keluaran sensor LM35 (mV)
Untuk mengetahui seberapa besar ketepatan sensor LM35 dalam
mendeteksi suhu, maka harus dilakukan pengujian dengan menggunakan rumus di
atas. Berikut ini adalah hasil pengujiannya yang terdapat pada tabel 4.2.
Tabel 4.2 Hasil pengujian pengukuran suhu
No. Tegangan Keluaran Suhu terdeteksi pada
LM35
1 242 mV 242 mV / 10 = 24,2°C
2 257 mV 257 mV / 10 = 25,7°C
3 265 mV 265 mV / 10 = 26,5°C
4 278 mV 278 mV / 10 = 27,8°C
49
5 289 mV 289 mV / 10 = 28,9°C
6 298 mV 298 mV / 10 = 29,8°C
7 308 mV 308 mV / 10 = 30,8°C
8 317 mV 317 mV / 10 = 31,7°C
9 329 mV 329 mV / 10 = 32,9°C
10 338 mV 338 mV / 10 = 33,8°C
Dari tabel 4.2 di atas, diketahui bahwa rumus yang digunakan dalam
pengukuran ini adalah tepat untuk mengetahui seberapa besar nilai suhu yang
dideteksi oleh sensor LM35.
4.3 Pengujian Kecepatan Kipas Angin
Kipas angin pada alat ini digerakkan dengan sebuah motor DC. Diketahui
bahwa frekuensi jala-jala (F) yang digunakan adalah 50 Hz dan jumlah kutub
motor DC (P) adalah 2, maka besarnya kecepatan maksimal (RPM Max) dari
kipas angin dapat dihitung dengan menggunakan rumus berikut ini:
RPMMax =120 ∗ F
P =120 ∗ 50
2 =6000
2 = 3000RPM
Jadi, kecepatan maksimal yang dapat dilakukan oleh kipas angin adalah
sebesar 3000 putaran per menit, sedangkan untuk menghitung kecepatan putaran
kipas yang dipengaruhi nilai PWM dapat dilakukan dengan menggunakan rumus
berikut ini:
RPM =RPMMax ∗ PWM
255
Pengujian berikut ini akan memanfaatkan rumus di atas dengan nilai PWM
yang sudah diprogram menggunakan bahasa C ke dalam ATMEGA8535 yaitu 0,
75, 150, dan 255. Hasil pengujiannya terdapat pada tabel 4.3 berikut ini.
50
Tabel 4.3 Pengujian Kecepatan Kipas Angin
No. Nilai PWM Nilai RPM berdasarkan
pengamatan
Nilai RPM berdasarkan
perhitungan
1 0 0 0
2 75 815 882
3 150 1714 1764
4 255 2907 3000
Berdasarkan pada tabel 4.3, dapat diketahui bahwa nilai RPM berdasarkan
pengamatan memiliki nilai yang berbeda dengan perhitungan. Persentase
kesalahan pengukuran (PK) dari percobaan di atas dihitung dengan menggunakan
rumus berikut.
Nilai PWM 0:
PK =(Hasilpengukuran − Hasilteori)
Hasilteori ∗ 100% = (0 − 0)
0 ∗ 100%
= 0%
Nilai PWM 75:
PK =(Hasilpengukuran − Hasilteori)
Hasilteori ∗ 100% = (882− 815)
882 ∗ 100%
= 0,07%
Nilai PWM 150:
PK =(Hasilpengukuran − Hasilteori)
Hasilteori ∗ 100% =(1764− 1714)
1764 ∗ 100%
= 0,02%
51
Nilai PWM 255:
PK =(Hasilpengukuran − Hasilteori)
Hasilteori∗ 100% =
(3000 − 2907)3000
∗ 100%
= 0,03%
Sehingga nilai rata-rata persentase kesalahan pada pengujian ini adalah:
NilaiRata− rata =Jumlahpersentaseseluruhpercobaan
Banyaknyapercobaan = PK =0,12
4
= 0,03%
4.4 Pengujian Kerja LCD
LCD pada alat ini berfungsi sebagai penampil keadaan suhu dan kecepatan
kipas. Untuk mengetahui LCD bekerja dengan benar atau tidak, maka diperlukan
sebuah pengujian terhadap LCD. Pengujian ini dilakukan dengan cara
memanaskan sensor LM35 menggunakan api, kemudian mengamati kecepatan
putar kipas dan membandingkan hasilnya dengan tampilan pada LCD. Berikut ini
adalah hasil dari pengujian kerja LCD.
Tabel 4.4 Pengujian kerja LCD
No. Tampilan di LCD Kecepatan kipas angin
1 suhu= 34°C
kipas kencang Kencang
2 suhu= 33°C
kipas kencang Kencang
3 suhu= 32°C
kipas kencang Kencang
4 suhu= 31°C
kipas sedang Sedang
52
5 suhu= 30°C
kipas sedang Sedang
6 suhu= 29°C
kipas pelan Pelan
7 suhu= 28°C
kipas pelan Pelan
8 suhu= 27°C
kipas mati Diam
9 suhu= 26°C
kipas mati Diam
10 suhu= 25°C
kipas mati Diam
Dari hasil yang didapat pada tabel 4.4, pergerakan kipas selaras dengan
keterangan yang ditampilkan di LCD. Tampilan di LCD juga berlangsung secara
cepat seiring dengan perubahan nilai suhu. Hal ini disebabkan dalam
pemrogramannya, LCD diberikan jeda waktu pembacaan suhu sebesar 0,5 detik
agar LCD tidak terlalu cepat dalam menampilkan perubahan suhu.
4.5 Pengujian Kerja Kipas Angin Otomatis
Setelah melakukan pengujian terhadap 2 komponen masukan dan 1
komponen keluaran, maka pengujian terakhir adalah pengujian kerja kipas angin
otomatis secara keseluruhan. Pengujian ini dilakukan dengan menggabungkan
seluruh pengujian sebelumnya untuk mengetahui bahwa alat kipas angin otomatis
ini bekerja sesuai dengan pemrograman yang ditanamkan ke dalamnya. Hasil dari
pengujiannya tertera pada tabel 4.4 berikut ini.
53
Tabel 4.5 Pengujian kerja kipas angin otomatis
No.
Keberadaan Manusia
Suhu Aksi yang
seharusnya
Aksi yang
terjadi Hasil Jarak
deteksi
Jenis
gerakan
Ada /
Tidak
1 30 cm Diam Tidak 25°C Kipas diam &
LCD mati
Kipas diam &
LCD mati Tepat
2 50 cm Diam Ada 26°C Kipas diam &
LCD mati
Kipas diam &
LCD mati Tepat
3 70 cm Pelan Ada 27°C
Kipas diam &
LCD
menampilkan
“suhu= 27°C
kipas mati”
Kipas diam &
LCD
menampilkan
“suhu= 27°C
kipas mati”
Tepat
4 100 cm Sedang Ada 28°C
Kipas diam &
LCD
menampilkan
“suhu= 28°C
kipas pelan”
Kipas diam &
LCD
menampilkan
“suhu= 28°C
kipas pelan”
Tepat
5 130 cm Pelan Ada 29°C
Kipas pelan &
LCD
menampilkan
“suhu= 29°C
kipas pelan”
Kipas pelan &
LCD
menampilkan
“suhu= 29°C
kipas pelan”
Tepat
6 160 cm Cepat Ada 30°C
Kipas pelan &
LCD
menampilkan
“suhu= 30°C
kipas pelan”
Kipas pelan &
LCD
menampilkan
“suhu= 30°C
kipas pelan”
Tepat
54
7 180 cm Cepat Ada 31°C
Kipas sedang &
LCD
menampilkan
“suhu= 31°C
kipas sedang”
Kipas sedang &
LCD
menampilkan
“suhu= 31°C
kipas sedang”
Tepat
8 200 cm Pelan Ada 32°C
Kipas sedang &
LCD
menampilkan
“suhu= 32°C
kipas sedang”
Kipas sedang &
LCD
menampilkan
“suhu= 32°C
kipas sedang”
Tepat
9 210 cm Sedang Ada 33°C
Kipas kencang
& LCD
menampilkan
“suhu= 33°C
kipas kencang”
Kipas kencang
& LCD
menampilkan
“suhu= 33°C
kipas kencang”
Tepat
10 240 cm sedang Ada 34°C
Kipas kencang
& LCD
menampilkan
“suhu= 34°C
kipas kencang”
Kipas kencang
& LCD
menampilkan
“suhu= 34°C
kipas kencang”
Tepat
Dari hasil percobaan pada tabel 4.4 di atas, diketahui bahwa alat kipas
angin otomatis ini bekerja sesuai dengan programnya.
4.5 Analisis Rangkaian secara Detail
Rangkaian alat ini menggunakan tegangan atau catu daya DC (Direct
Current) sebesar 12 Volt. Tahapan kerja alat ini dimulai dari pemberian sumber
tegangan 12 Volt untuk Vcc driver motor L293 dan regulator, dimana tegangan ini
kemudian diubah menjadi tegangan 5 Volt menggunakan regulator. Selanjutnya,
55
tegangan 5 Volt digunakan sebagai sumber tegangan ATMEGA8535, L293, PIR,
dan LM35.
Sensor PIR dan sensor suhu LM35 berfungsi sebagai input ke
mikrokontroler ATMEGA8535. Pada saat sensor PIR aktif maka sensor PIR akan
mengirimkan sinyal digital berlogika 0 dengan tegangan 0 Volt ke mikrokontroler,
atau berlogika 1 dengan tegangan 5 Volt jika PIR tidak aktif. Sedangkan sensor
LM35 mengirimkan besar suhu yang diterimanya dalam bentuk sinyal analog ke
mikrokontroler, dan ATMEGA8535 mengkonversinya ke sinyal digital dengan
bantuan ADC pada port A.
Pada mikrokontroler ATMEGA8535, sinyal clock dibangkitkan dari Xtal
yang terhubung ke pin Xtal1 & Xtal2. Kemudian, input dari sensor PIR & suhu
diolah untuk ditentukan output yang sesuai dengan pemrograman bahasa C yang
ditanamkan ke dalam mikrokontroler. Output ini selanjutnya dikirim ke port C.0
& port C.1, sedangkan port C.2 digunakan untuk mengirim sinyal PWM (Pulse
Width Modulator). Untuk menggerakkan kipas angin, ATMEGA8535 akan
mengirimkan sinyal digital berlogika 0 ke port C.0, dan logika 1 ke port C.1.
Lalu, output dari mikrokontroler, yang berupa nilai logika 0 atau 1, masuk
ke port 10 & 15 L293 untuk memutar motor kipas angin. L293 memanfaatkan
sumber tegangan 12 Volt untuk menguatkan putaran motor kipas angin. Jika
kutub positif (+) kipas angin menerima logika 1 & kutub negatifnya (-) menerima
logika 0, maka kipas angin akan berputar. Sedangkan, jika kutub positif (+)
menerima logika 0 & kutub negatifnya (-) menerima logika 0, maka kipas angin
akan berhenti. Sedangkan, Kecepatan putar kipas angin ditentukan dengan nilai
PWM yang masuk ke port 9 (Enable2) L293. Nilai PWM ini dipengaruhi oleh
besarnya suhu yang diterima sensor suhu. Sedangkan keluaran mikrokontroler
untuk LCD berupa tampilan nilai suhu pada baris pertama LCD dan tampilan
kecepatan putar kipas pada baris kedua LCD.
56
BAB 5
PENUTUP
Berdasarkan perancangan dan pengujian alat kipas angin otomatis ini, maka
dapat ditarik simpulan, beserta saran yang diperlukan untuk mengatasi kelemahan
dari alat.
5.1 Simpulan
Berdasarkan hasil uji coba, menunjukkan bahwa alat ini bekerja sesuai dengan
rancangannya, dimana jika tidak terdeteksi adanya gerakan maka kipas akan diam,
dan jika terdeteksi adanya gerakan maka kipas akan bekerja. Jarak pendeteksian
gerakan antara 10 cm hingga 240 cm, dan jika lebih dari 240 cm maka semakin susah
untuk mendeteksi gerakan. Selanjutnya, pergerakan kipas ini dipengaruhi oleh suhu,
dimana jika suhu ruangan meningkat maka kecepatan putaran kipas angin juga akan
semakin meningkat.
Kekurangan pada alat ini yaitu terletak pada tidak adanya jeda waktu dalam
putaran kipas sehingga kipas hanya dapat berputar sebentar setelah terdeteksi
gerakan. Tanpa adanya gerakan yang terus menerus menyebabkan kipas mudah mati.
Hal ini dikarenakan jeda waktu dalam pemrogramannya digunakan untuk pembacaan
suhu agar pembacaan suhunya terjadi secara langsung. Jika jeda waktu dimasukkan
ke pergerakan kipas, maka tampilan pada LCD bisa berlangsung cepat atau
menunggu jeda waktu kipas selesai terlebih dahulu.
57
5.2 Saran
Dalam pembuatan alat ini ada beberapa saran yang perlu diperhatikan sebagai
solusi terhadap kelemahan alat. Saran dalam perancangan dan pembuatan alat yaitu
ditanamkannya pemrograman yang lebih tepat agar alat ini mampu memutar kipas
dengan jeda waktu yang lama sekaligus pembacaan suhu yang terjadi secara cepat.
58
DAFTAR PUSTAKA
Lingga Wardhana. Belajar Sendiri Mikrokontroler AVR Seri ATMega8535
Simulasi, Hardware, dan Aplikasi. Yogyakarta. Penerbit Andi. 2006.
Ardi Winoto. Mikrokontroler AVR ATmega8/32/16/8535 dan Pemrogramannya
dengan Bahasa C pada WinAVR. Bandung. Penerbit Informatika. 2008.
Prihono. Jago Elektronika secara Otodidak. Jakarta. Kawan Pustaka. 2009.
Wasito S. Vandemekum Elektronika. Jakarta. Gramedia Pustaka Utama. 1992.
Widodo Budiharto. 10 Proyek Robot Spektakuler. Jakarta. Elex Media
Komputindo.
Tri Wibowo. Sensor Kehadiran Orang Sebagai Saklar Otomatis Suatu Ruangan.
Semarang. Teknik Elektro Fakultas Teknik UNDIP. 2011.
Didik Wiyono, S.T. Panduan Praktis Mikrokontroler Keluarga AVR
Menggunakan DT-Combo AVR-51 Starter Kit dan DT-Combo AVR Exercise Kit.
Surabaya. Innovative Electronics. 2007.
LAMPIRAN
Gambar rangkaian skematik kipas angin otomatis
Listing program kipas angin otomatis:
#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
#include <lcd.h>
#define kipas1 PORTC.0
#define kipas2 PORTC.1
#define pwm PORTC.2
#define ADC_VREF_TYPE 0x40
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
unsigned char cont, npwm;
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
cont++;
if (npwm>=cont)pwm=1;
else pwm=0;
TCNT0=0xFF;
}
void stop(void)
{
kipas1=0;kipas2=0;npwm=0;
}
void pelan(void)
{
kipas1=0;kipas2=1;npwm=75;
}
void sedang(void)
{
kipas1=0;kipas2=1;npwm=150;
}
void kencang(void)
{
kipas1=0;kipas2=1;npwm=255;
}
{
ADMUX=adc_input|ADC_VREF_TYPE;
ADCSRA|=0x40;
delay_us(10);
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
unsigned char buff[33];
void lcd_putint(unsigned int dat)
{
sprintf(buff,"%d ",dat);
lcd_puts(buff);
}
void main(void)
{
unsigned int suhu;
float adc;
DDRA=0x00; // inisialisasi ADC
PORTA=0x00; // keadaan awal buat sensor aktif high(1-0)
DDRB=0x00; // inisialisasi input sensor
PORTB=0xFF; // keadaan awal buat sensor aktif low(1-0)
DDRC=0xFF; // inisialisasi output kipas
PORTC=0x00; // aktif high
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 4000.000 kHz
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x01;
TCNT0=0x00;
OCR0=0x00;
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x87;
SFIOR&=0xEF;
lcd_init(16);
while (1)
{
switch (PINB)
{
case 0xFE:
adc =read_adc(1); //inisialisasi baca adc
adc =adc/255;
suhu=adc*175;
suhu=suhu-12;
if (suhu<28)
{
stop();
lcd_gotoxy(0,0); lcd_putsf("suhu= ");
lcd_putint(suhu);
lcd_gotoxy(9,0); lcd_putchar(0xDF);
lcd_gotoxy(10,0); lcd_putsf(“C”); lcd_gotoxy(0,1); lcd_putsf(“kipas diam”);
delay_ms(500);
lcd_clear();
}
else if (suhu>=28 && suhu<30)
{
pelan();
lcd_gotoxy(0,0); lcd_putsf("suhu= ");
lcd_putint(suhu);
lcd_gotoxy(9,0); lcd_putchar(0xDF);
lcd_gotoxy(10,0); lcd_putsf(“C”); lcd_gotoxy(0,1); lcd_putsf(“kipas pelan”);
delay_ms(500);
lcd_clear();
}
else if (suhu>=30 && suhu<32)
{
sedang();
lcd_gotoxy(0,0); lcd_putsf("suhu= ");
lcd_putint(suhu);
lcd_gotoxy(9,0); lcd_putchar(0xDF);
lcd_gotoxy(10,0); lcd_putsf(“C”); lcd_gotoxy(0,1); lcd_putsf(“kipas sedang”);
delay_ms(500);
lcd_clear();
}
else if (suhu>=32)
{
kencang();
lcd_gotoxy(0,0); lcd_putsf("suhu= ");
lcd_putint(suhu);
lcd_gotoxy(9,0); lcd_putchar(0xDF);
lcd_gotoxy(10,0); lcd_putsf(“C”); lcd_gotoxy(0,1); lcd_putsf(kipas kencang);
delay_ms(500);
lcd_clear();
}
break;
default:
stop();
}
}
}
Galeri Prototype Kipas Angin Otomatis
Tampak atas samping Tampak depan
Tampak samping
Tampak belakang Tampak atas
Tampilan LCD untuk suhu 25°C & ada
gerakan manusia
Tampilan LCD untuk suhu 29°C & ada gerakan
manusia
Tampilan LCD untuk suhu 30°C & ada
gerakan manusia
Tampilan LCD untuk suhu 37°C & ada
gerakan manusia
Tampilan LCD untuk suhu 33°C & tidak ada
gerakan manusia