• Tidak ada hasil yang ditemukan

Pengaturan tirai berdasarkan waktu nyata

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengaturan tirai berdasarkan waktu nyata"

Copied!
108
0
0

Teks penuh

(1)

i

TUGAS AKHIR

PENGATURAN TIRAI BERDASARKAN

WAKTU NYATA

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh:

ANINDITYA DICHI SAPTARINI NIM: 085114009

PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

ii

FINAL PROJECT

CURTAIN CONTROL BASED ON

REAL TIME CLOCK

Presented as Partial Fullfillment of Requirements To Obtain the Sarjana Teknik Degree In Electrical Engineering Study Program

ANINDITYA DICHI SAPTARINI NIM: 085114009

ELECTRICAL ENGINEERING STUDY PROGRAM DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)

HALAMAN

PERSETUJUAFI

TUGAS

AKHIR

PENGATURAN

TIRAI

BERDASARKAN

WAKTU

NTYATA

(CURTAIN CQNTROL WITH

REAL TIME

CLOCK)

1u

ffi6#ffi

ffifi;

(4)

Ketua

Sekretaris

Anggota

HALAMAN

PENGESAHAN

TUGAS

AKHIR

,

,

PENGATURAN

TIRAI

BERDASARKA}I

WAKTUI\IYATA

Martanto, S.T., M.T.

Yoryakarta,Zg

3q^

2ot4

Fakultas Sains dan Teknologi Universitas Sanata Dharma

Tanda Tangan

(5)

.

PERSIYATAA}T

KEASLIAN

KARYA

J

*Saya meirydakan dengan sesmgguhya hhwa tugas akhir yang siya tutis ini tidak me,muat karya

eu

bagian karya orang lain,

kecuali

yeg

tetah disobr*kan datam hrtipm dm ddar

pudq

sebgaimsna lfrrnaknya kary& ilmiah."
(6)

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO

Belajarlah dari siapapun, apapun, kapanpun, dimanapun

karena pada suatu saat hal itu akan bermanfaat bagi diri kita sendiri

dan kita akan berterima kasih pada diri kita sendiri karena hal itu.

(7)

IIALAMAN

PER}TYATAAN

PERSETUJUAI{

PUBLIKASI

KARYA

ILMIAH

UNTUK

KEPENTINGAN

AKADEMIS

Yaag bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Aninditya Dichi Saptarini Nomor

Mahasiswa

: 0851 14009

Demi

pengembangan

ilmu

pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :

PENGATIIRAN

TIRAI

BERDASARKAI\ WAKTU hIYATA

beserta peraagkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak rmtuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalaur bentuk pangkalan data, mendistribusikan secara

terbatas, dan mempublikasikannya di intenret atau media lain untuk kepentingan akademis tanpa perlu meminta ljin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang sayabuat dengan sebenarnya. Yogyakarta" 18 Desember 2013

(8)

viii

INTISARI

Setiap orang menginginkan segala sesuatu dapat dilakukan secara otomatis dan mudah. Salah satu contohnya adalah membuka dan menutup tirai. Banyak rumah berjendela besar menyulitkan penghuni rumah jika harus membuka dan menutup tirai berulang kali. Padahal banyak manfaat sinar matahari yang masuk ke dalam ruangan jika tirai dibuka. Pengaturan tirai secara otomatis membantu penghuni rumah untuk membuka tirai diwaktu tertentu.

Pengguna terlebih dahulu memasukkan data waktu menggunakan keypad. Ada dua menu pada alat yang dibuat yaitu menu otomatis dan menu manual. Pada menu otomatis, pengguna dapat memilih 1 dari 7 mode yang sudah disediakan, sedangkan pada menu manual pengguna dapat memasukkan waktu secara bebas sampai 3 kali. Mikrokontroler ATmega32 mengendalikan sistem sehingga saat data waktu masukan sama dengan waktu yang berjalan, motor akan berputar membuka atau menutup tirai sampai limit switch tertekan dan motor akan berhenti.

Hasil tugas akhir yang dirancang menggunakan mikrokontroler ATmega32 ini berupa prototipe pengaturan tirai berdasarkan waktu nyata berhasil dibuat dan bekerja dengan baik. Waktu nyata dirancang menggunakan RTC DS1307 dengan kesalahan 0 % dan waktu ditampilkan pada LCD.

(9)

ix

ABSTRACT

Everyone wants everything done automatically and easily. One of the examples is to open and close the curtains. A house with lots of large windows complicate occupants when they have to open and close the curtains repeatedly. Whereas there are many benefits of sunlight entering the room when the curtain opened. Setting curtain automatically will help occupants to open the curtain in certain time.

First, the user need to insert time using keypad. There are two options in the appliance; automatic menu and manual menu. In the automatic menu, the user just need to select one of seven provided mode, while on the manual menu the user can manually enter a time freely until 3 inputs. ATmega32 microcontroller controls the system, so when the input data time equal to the running time, the motor will rotate to open or close the curtains until limit switch is pressed and the motor will stop.

The results of the final project which is designed by using the ATmega32 microcontroller prototype curtain arrangement based on real time has successfully created and worked well. Real time is designed using DS1307 RTC with an error 0 % and the time displayed on the LCD.

(10)

KATAPENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus karena telah memberikan berkat-Nya sehingga penulis dapat menyelesaikan laporan akhir

ini

dengan

baik. Laporan akhir ini disusun untuk memenuhi syarat memperoleh gelar sarjana.

Penulis mengucapkan terima kasih kepada :

1.

Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

2.

Ketua Program Studi Teknik Elekho Universitas Sanata Dharma Yogyakarta.

3.

k.

Tjendro, M.Kom., dosen pembimbing yang dengan penuh pengertian dan ketulusan hati memberi bimbingan, kritilq saran, serta motivasi dalam penulisan skripsi ini.

4.

B. Wuri Haxini, S.T., M.T., dan Martanto, S.T., M.T., dosen penguji yang telah memberikan masukan, bimbingan, saran dalam merevisi sluipsi ini.

5.

Kedua orang tua dan adik-adik saya, atas dukungan, doa, cintq perhatian, kasih sayang yang tiada henti.

6.

Staffsekretariat Teknik Elekho, atas bantuan dalam melayani matrasiswa.

7.

Jonatan Bagas, atas perhatian, sernangat dan dengan setia mendukung saya dalam menyelesaikan skripsi ini.

8.

Maria Ratna dan Rian, yang selalu mendukung dalam proses penyelesaian skripsi

ini.

9.

Teman-teman seperjuangan Teknik Elekho angkatan 2008, teman-teman OMK

Laurensius, Socchissora Choir, dan semua teman yang mendukung saya dalam menyelesaikan skripsi ini.

10. Semua pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang telatr diberikan dalam penyelesaian slaipsi ini.

Penulis menyadari bahwa dalam penyusunan laporan

alfiir ini

masih mengalami

kesulitan dan tidak lepas dari kesalatran. Oleh karena itu, penulis mengharapkan masukan,

kritik dan saran yang membangun agar skripsi ini menjadi lebih baik. Dan semoga skripsi

ini dapat bermanfaat sebagaimana mestinya.

(11)

xi

DAFTAR ISI

HALAMAN JUDUL

... i

HALAMAN PERSETUJUAN

... iii

HALAMAN PENGESAHAN

... iv

PERNYATAAN KEASLIAN KARYA

... v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS

... vii

INTISARI

... viii

ABSTRACT

... ix

KATA PENGANTAR

... x

DAFTAR ISI

... xi

DAFTAR GAMBAR

... xiv

DAFTAR TABEL

... xvii

DAFTAR LAMPIRAN

... xviii

BAB I PENDAHULUAN

1.1 Latar Belakang ... 1

1.2 Tujuan dan Manfaat... 2

1.3 Batasan Masalah... 2

1.4 Metodologi Penelitian ... 2

BAB II DASAR TEORI

2.1 Mikrokontroler ATmega8535 ... 4

2.1.1 Arsitektur ATmega8535...………. 4

2.1.2 Peta MemoriATmega8535...………. 4

2.1.3 Reset...………. 7

2.1.4 Osilator Eksternal...………. 7

(12)

xii

2.1.5.1 Register Pengendali Timer1... ...………. 8

2.1.6 Mode Operasi...………. 13

2.2 Real Time Clock DS1307 ... 17

2.3 Komunikasi I2C ... 18

2.4 Liquid Crystal Display (LCD) 2x16... 21

2.5 Light-Emitting Diode (LED) ... 24

2.6 Keypad... 25

2.7 Motor DC 12V... 26

2.8 Limit Switch ... 26

2.9 L298... 27

BAB III PERANCANGAN

3.1 Proses Kerja Sistem...………. 29

3.2 Perancangan Prototipe ...………. 30

3.3 Perancangan Perangkat Keras ... 31

3.3.1 Sistem Minimum ATmega8535 ...………. 31

3.3.2 Rangkaian LCD 2x16...………. 33

3.3.3 Sensor LM35 ...………. 32

3.3.4 Rangkaian Motor DC ...………. 34

3.3.5 Keypad...………. 36

3.4 Perancangan Perangkat Lunak ... 37

3.4.1 Diagram Alir Sistem………... 37

3.4.2 Diagram Alir Pengaturan RTC...………. 38

3.4.3 Diagram Alir Subrutin Menu ...………. 38

3.4.4 Diagram Alir Proses ...………. 40

BAB IV HASIL DAN PEMBAHASAN

4.1. Hasil Implementasi Alat ... 42

4.2. Pengujian Keberhasilan Sistem ... 45

4.3. Pengujian Rangkaian Penyearah ...………. 47

4.4. Pengujian Rangkaian Penggerak ...………. 48

4.5. Pengujian Rangkaian RTC ... 48

(13)

xiii

4.6.1. Program Sistem ...………. 49

4.6.2. Program Pengaturan RTC ...………. 51

4.6.3. Program Menu ...………. 55

4.6.4. Program EEPROM ...………. 56

4.6.5. Program Subrutin Menu ...………. 57

4.6.6. Program Proses...………. 61

BAB V KESIMPULAN DAN SARAN

5.1. Kesimpulan... 62

5.2. Saran ... 62

DAFTAR PUSTAKA

... 63
(14)

xiv

DAFTAR GAMBAR

Halaman

Gambar 1.1. Diagram blok perancangan... 3

Gambar 2.1. Konfigurasi pin Atmega8535 ... 5

Gambar 2.2. Rangkaian reset ... 7

Gambar 2.3. Kristal (XTAL)... 8

Gambar 2.4. Pulsa Fast PWM... 15

Gambar 2.5. Pulsa Phase Correct PWM... 16

Gambar 2.6. Diagram blok DS1307... 17

Gambar 2.7. Konfigurasi pin RTC DS1307 ... 17

Gambar 2.8. Konfigurasi umum DS1307 dengan mikrokontroler ... 19

Gambar 2.9. Urutan-urutan Slave Receiver Mode (Write Mode)... 20

Gambar 2.10. Urutan-urutan Slave Transmitter Mode (Read Mode)... 20

Gambar 2.11. Baris dan Kolom Karakter pada LCD ... 22

Gambar 2.12. LCD 2x16 ... 22

Gambar 2.13. Konfigurasi LED ... 24

Gambar 2.14. Rangkaian indikator LED... 25

Gambar 2.15. Rangkaian keypad... 25

Gambar 2.16. Konstruksi motor DC ... 26

Gambar 2.17. Konstruksi limit switch ... 26

Gambar 2.18. Limit Switch ... 27

Gambar 2.19. Diagram blok L298... 27

Gambar 2.20. Konfigurasi pin L298 ... 28

Gambar 3.1. Diagram blok perancangan... 29

Gambar 3.2. Desain tampak belakang... 30

Gambar 3.3. Desain tampak dari dalam ... 30

Gambar 3.4. Sistem minimum ATmega8535... 31

Gambar 3.5. Rangkaian sistem minimum ATmega8535 ... 32

Gambar 3.6. Rangkaian LCD ... 33

Gambar 3.7. Rangkaian RTC DS1307 ... 34

(15)

xv

Gambar 3.9. Rangkaian keypad 4x4... 36

Gambar 3.10. Diagram alir sistem... 37

Gambar 3.11. Diagram alir pengaturan RTC ... 38

Gambar 3.12. Diagram alir menu manual ... 39

Gambar 3.13. Diagram alir menu otomatis ... 40

Gambar 3.14. Diagram alir proses... 41

Gambar 4.1. Prototipe ruangan... 42

Gambar 4.2. Perbandingan compiler program ... 42

Gambar 4.3. Rangkaian mikrokontroler... 44

Gambar 4.4. Rangkaian driver ... 44

Gambar 4.5. Rangkaian RTC ... 44

Gambar 4.6. LCD ... 44

Gambar 4.7. Rangkaian Penyearah 6 Volt ... 44

Gambar 4.8. Rangkaian Penyearah 12 Volt ... 44

Gambar 4.9. Keypad 4x4... 44

Gambar 4.10. Frekuensi pada RTC ... 48

Gambar 4.11. Listing program inisialisasi... 49

Gambar 4.12. Tampilan awal ... 49

Gambar 4.13. Listing program sistem ... 50

Gambar 4.14. Inisialisasi port komunikasi RTC... 51

Gambar 4.15. Listing program setting tanggal ... 51

Gambar 4.16. Tampilan setting tanggal ... 52

Gambar 4.17. Listing batasan masukan tanggal ... 52

Gambar 4.18. Tampilan jika data masukan dari keypad salah ... 52

Gambar 4.19. Listing program memasukkan data hari ... 52

Gambar 4.19. (lanjutan) Listing program memasukkan data hari ... 53

Gambar 4.20. Tampilan pilihan hari ... 53

Gambar 4.21. Listing nama hari ... 53

Gambar 4.22. Listing program setting waktu ... 54

Gambar 4.23. Tampilan setting waktu ... 54

Gambar 4.24. Listing batas masukan waktu... 54

Gambar 4.25. Tampilan waktu, tanggal, dan hari ... 55

(16)

xvi

Gambar 4.27. Listing program menu... 56

Gambar 4.28. Listing program EEPROM ... 56

Gambar 4.29. Listing program menu otomatis... 57

Gambar 4.30. Tampilan setelah memilih menu otomatis... 57

Gambar 4.31. Tampilan memilih mode 1 pada menu otomatis ... 57

Gambar 4.32. Listing program waktu buka ... 58

Gambar 4.33. Tampilan memasukkan waktu buka ... 58

Gambar 4.34. Listing program waktu tutup ... 58

Gambar 4.34. (lanjutan) Listing program waktu tutup... 59

Gambar 4.35. Tampilan memasukkan waktu tutup... 59

Gambar 4.36. Listing program menu manual... 59

Gambar 4.37. Tampilan waktuBuka[i]>=waktuTutup[i] ... 60

Gambar 4.38. Tampilan waktuBuka[i]<waktuTutup[i-1] ... 60

Gambar 4.39. Tampilan menambah data masukan pada menu manual ... 60

Gambar 4.40. Tampilan data masukan menu manual setelah 3 pasang data ... 60

Gambar 4.41. Pengaturan PWM... 61

(17)

xvii

DAFTAR TABEL

Halaman

Tabel 2.1. Fungsi khusus port B ... 6

Tabel 2.2. Fungsi khusus port C ... 6

Tabel 2.3. Fungsi khusus port D ... 7

Tabel 2.4. Register TCCR1A ... 8

Tabel 2.5. Mode normal dan CTC ... 9

Tabel 2.6. Mode Fast PWM ... 9

Tabel 2.7. Mode Phase Correct dan Phase & Frekuensi PWM... 9

Tabel 2.8. Mode operasi ... 10

Tabel 2.9. Register TCCR1B ... 10

Tabel 2.10. Prescaler timer/counter1 ... 11

Tabel 2.11. Register 1A ... 11

Tabel 2.12. Register 1B ... 12

Tabel 2.13. Register 1 ... 12

Tabel 2.14. Register TIMSK ... 12

Tabel 2.15. Register TIFR ... 13

Tabel 2.16. Register-register pada DS1307 ... 21

Tabel 2.17. Fungsi Pin-pin LCD ... 23

Tabel 3.1. Penggunaan port-port pada mikrokontroler ... 32

Tabel 3.2. Penggunaan tombol pada keypad ... 34

Tabel 4.1. Hasil pengujian pergerakan motor pada menu otomatis ... 46

Tabel 4.2. Hasil pengujian limit switch pada menu otomatis ... 46

Tabel 4.3. Hasil pengujian pergerakan motor pada menu manual ... 46

Tabel 4.4. Hasil pengujian limit switch pada menu manual ... 47

Tabel 4.5. Hasil pengujian tegangan keluaran penyearah ... 47

(18)

xviii

DAFTAR LAMPIRAN

L.1. Hasil pengujian pergerakan motor pada menu otomatis ... L1

L.2. Hasil pengujian limit switch pada menu otomatis ... L2

L.3. Hasil pengujian pergerakan motor pada menu manual dengan 1 pasang data

masukan ... L3

L.4. Hasil pengujian pergerakan motor pada menu manual dengan 2 pasang data

masukan ... L3

L.5. Hasil pengujian pergerakan motor pada menu manual dengan 3 pasang data

masukan ... L3

L.6. Hasil pengujian limit switch pada menu manual dengan 1 pasang data masukan

... ... L4

L.7. Hasil pengujian limit switch pada menu manual dengan 2 pasang data masukan

... ... L4

L.8. Hasil pengujian limit switch pada menu manual dengan 3 pasang data masukan

... ... L4

L.9. Listing Program Keseluruhan ... ... L5

(19)

1

BAB I

PENDAHULUAN

1.1.

Latar Belakang

Pada dasarnya sebagian besar manusia ingin hidup serba enak. Seiring

perkembangan zaman yang semakin pesat berbagai peralatan elektronik diciptakan

menggunakan kendali jarak jauh maupun otomatis. Dalam perkembangan selanjutnya tidak

hanya menuntut manusia akan kebutuhannya tetapi juga gaya hidup peradaban modern.

Pada perumahan di daerah perkotaan misalnya, peralatan elektronik yang yang memakai

kendali jarak jauh maupun otomatis dan banyak dijumpai adalah air conditioner (AC) dan

remote televisi.

Setiap orang menginginkan segala sesuatu dapat dilakukan secara otomatis dan

mudah, salah satu contohnya adalah membuka dan menutup tirai. Kesibukan pekerjaan

maupun aktivitas sehari-hari menyebabkan manusia tidak memilih untuk membuka tirai

pada pagi hari padahal banyak sekali manfaat yang didapat saat tirai terbuka. Seperti yang

diketahui manfaat sinar matahari di pagi hari yang masuk ke ruangan dapat menyirkulasi

udara sehingga udara dalam ruangan bisa lebih segar dan sejuk. Pencahayaan pada ruangan

sebaiknya bersumber pada cahaya alami sehingga selain sehat juga dapat menghemat

energi pada siang hari dan tidak perlu menyalakan lampu di siang hari. Selain sebagai

sumber vitamin D pada pagi hari, sinar matahari juga bisa berfungsi untuk membunuh

beberapa jenis jamur dan bakteri negatif. Cahaya alami (yang berasal dari matahari) yang

masuk ke dalam ruangan dapat membersihkan ruangan sekaligus menghangatkan ruangan

agar tidak lembab [1].

Bagi penghuni rumah yang memiliki jendela besar tentu akan merasa kesulitan saat

harus menarik tali untuk membuka tirai dan menutup tirai jika dalam satu hari harus

melakukannya berulang kali. Dengan adanya tirai otomatis, maka dalam prosesnya akan

memudahkan pekerjaan manusia menjadi lebih efisien untuk mengerjakan sesuatu yang

lain dan penghematan waktu bagi mereka yang memiliki jendela besar. Melihat situasi

yang terjadi maka perlu didesain tirai otomatis untuk memenuhi kebutuhan manusia dalam

hal membuka dan menutup tirai secara otomatis diwaktu-waktu tertentu.

Penulis ingin mengaplikasikan suatu karya yang praktis dan berguna bagi masyarakat

(20)

tugas akhir yang berjudul “Pengaturan Tirai Berdasarkan Waktu Nyata”. Sistem ini akan membandingkan waktu nyata (berdasarkan pembagian waktu wilayah) dengan data yang

dipilih oleh pengguna. Jika waktu keduanya sama maka mikrokontroler sebagai pengendali

sistem akan menggerakkan motor secara otomatis untuk membuka atau menutup tirai.

Penulis melihat bahwa penggunaan tirai otomatis akan memeroleh tanggapan positif di

bidang arsitektur karena akan memiliki daya jual yang tinggi pada suatu proyek properti.

1.2.

Tujuan dan Manfaat Penelitian

Tujuan penelitian ini adalah menghasilkan prototipe ruangan berupa tirai otomatis

menggunakan Real Time Clock (RTC) DS1307 dengan mikrokontroler ATmega8535.

Manfaat penelitian ini sebagai alat yang praktis untuk mempermudah memasukkan

unsur cahaya matahari ke dalam ruangan diwaktu-waktu tertentu.

1.3.

Batasan Masalah

Penelitian dibatasi pada pembuatan prototipe sebagai sarana menyimulasikan alat

dengan menggunakan RTC dan program pengaksesan data untuk mengendalikan arah

putaran motor DC dengan masukan dari keypad.

Batasan masalah dalam penelitian ini adalah:

a. Menggunakan mikrokontroler ATmega8535

b. Menggunakan Real Time Clock (RTC) DS1307

c. Menggunakan driver seri L298

d. Penggerak tirai menggunakan motor DC 12V

e. Menyimpan 7 mode buka-tutup tirai sebagai menu otomatis dan 1 menu manual

1.4.

Metodologi Penelitian

Berdasarkan tujuan yang ingin dicapai maka metode-metode yang digunakan dalam

penyusunan tugas akhir ini adalah:

a. Studi Literatur

Studi literatur yang dimaksudkan adalah mengumpulkan dan mencari literatur dari

buku, artikel maupun dari sumber lain yang menunjang dari perencanaan dan yang

(21)

b. Perancangan subsistem hardware dan software

Perancangan bertujuan untuk memeroleh rancangan dari sistem tirai yang secara

otomatis bekerja saat dibutuhkan. Dalam perancangan ini ada proses yang

dikendalikan yaitu gerak arah putaran motor DC.

Rancangan hardware adalah untuk menentukan piranti-piranti yang dibutuhkan selama proses dan juga rangkaian-rangkaian elektronika yang akan digunakan.

Sistem mekanik yang diperlukan untuk menggerakkan pengait tirai adalah motor DC

dan dari segi elektronika adalah rangkaian driver, sistem minimum mikrokontroler dan rangkaian RTC. Untuk menjalankan sistem ini dibutuhkan rancangan software yang meliputi pembuatan program dan logika-logika yang diperlukan untuk

mengendalikan gerak motor DC berdasarkan data masukan waktu nyata.

c. Pembuatan subsistem hardware dan software

Berdasarkan gambar 1.1., rangkaian akan bekerja saat pengguna memasukkan data

dengan mengatur pada waktu tertentu untuk membuka atau menutup tirai. Setelah

diproses, maka mikrokontroler mengendalikan driver agar motor bergerak searah jarum jam atau berlawanan dengan arah jarum jam sesuai dengan posisi awal tirai.

RTC

Penampil

Mikrokontroler Driver motor

Motor DC Masukan

Gambar 1.1. Diagram blok perancangan

d. Proses pengambilan data.

Pengambilan data dilakukan dengan cara mengatur masukan dari keypad pada pukul

berapa tirai akan dibuka atau ditutup secara manual maupun otomatis. Setelah itu

dilakukan pengamatan pada arah gerakan motor DC untuk dapat membuka maupun

menutup tirai dan pengamatan terhadap ketepatan waktu.

e. Analisis dan penyimpulan hasil percobaan.

Analisis data dilakukan dengan melihat persentase kesalahan yang terjadi pada

(22)

4

BAB II

DASAR TEORI

2.1

Mikrokontroler ATmega8535

Mikrokontroler adalah sebuah sistem microprocessor yang didalamnya sudah terdapat CPU, ROM, RAM, I/O, clock dan peralatan internal lainnya yang sudah saling terhubung dan terorganisasi (teralamati) dengan baik oleh pabrik pembuatnya dan dikemas

dalam satu chip yang siap pakai [2]. Sehingga pengguna tinggal memrogram isi ROM sesuai aturan penggunaan oleh pabrik yang membuatnya.

2.1.1

Arsitektur ATmega8535

Mikrokontroler ATmega8535 memiliki arsitektur sebagai berikut [3] :

a. Saluran I/O sebanyak 32 buah, yaitu PortA, PortB, PortC dan PortD

b. ADC 10 bit sebanyak 8 channel

c. Tiga buah timer/counter yaitu Timer0, Timer1, dan Timer2

d. Watchdog Timer dengan osilator internal

e. SRAM sebanyak 512 byte

f. Memori Flash sebesar 8 Kbyte

g. Sumber Interupsi internal dan eksternal

h. Port SPI (Serial Pheriperal Interface)

i. EEPROM on board sebanyak 512 byte

j. Komparator analog

k. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter)

2.1.2

Peta Memori ATmega8535

Mikrokontroler ATmega8535 memiliki 3 jenis memori yaitu memori flash, memori

data dan memori EEPROM [2].

a. Memori flash

ATmega8535 memiliki kapasitas memori flash sebesar 8 Kbyte mulai dari alamat 0000h

(23)

b. Memori data

Memori data pada ATmega8535 memiliki kapasitas sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serbaguna, register I/O dan SRAM. ATmega8535 memiliki 32 byte register serbaguna, 64 byte register I/O yang dapat diakses sebagai bagian dari memori RAM (menggunakan instruksi LD atau ST) atau dapat juga diakses

sebagai I/O (menggunakan instruksi IN atau OUT), dan 512 byte digunakan untuk memori data SRAM.

c. Memori EEPROM

Memori EEPROM adalah memori yang dapat menyimpan data ketika chip running atau

mati (off) yang biasanya digunakan untuk keperluan penyimpanan data yang tahan

terhadap gangguan catu daya. Memori EEPROM ATmega8535 memiliki kapasitas

sebesar 512 byte. Memori EEPROM ini hanya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Address, register EEPROM Data, dan register EEPROM Control. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal, sehingga waktu eksekusinya relatif lebih lama bila

dibandingkan dengan mengakses data dari SRAM.

Gambar 2.1. Konfigurasi pin ATmega8535 [2]

Konfigurasi pin ATmega8535 dapat dilihat pada Gambar 2.1. dari gambar diatas dapat dijelaskan fungsi dari masing-masing pin ATmega8535 sebagai berikut [2]:

(24)

2. GND merupakan pin Ground.

3. Port A (portA0...portA7) merupakan pin input/output dua arah dan pin input ADC.

4. Port B (portB0…portB7) merupakan pin input/output dua arah dan dan pin fungsi khusus, seperti dapat dilihat pada Tabel 2.1.

Tabel 2.1. Fungsi khusus port B [2]

Pin Fungsi Khusus

PB7 SCK (SPI Bus Serial Clock)

PB6 MISO (SPI Bus Master Input/Slave Output)

PB5 MOSI (SPI Bus Master Output/Slave Input)

PB4 SS (SPI Slave Select Input)

PB3 AIN1 (Analog Comparator Negative Input)

OC0 (Timer/Counter0 Output Compare Match Output)

PB2 AIN0 (Analog Comparator Positive Input)

INT2 (External Interrupt 2 Input)

PB1 T1 (Timer/Counter1 External Counter Input)

PB0 T0 T1 (Timer/Counter External Counter Input)

XCK (USART External Clock Input/Output)

5. Port C (portC0…portC7) merupakan pin input/output dua arah dan pin fungsi khusus, seperti dapat dilihat pada Tabel 2.2.

Tabel 2.2. Fungsi khusus portC [2]

Pin Fungsi khusus

PC7 TOSC2 ( Timer Oscillator Pin2)

PC6 TOSC1 ( Timer Oscillator Pin1)

PC5 Input/ Output PC4 Input/ Output PC3 Input/ Output PC2 Input/ Output

PC1 SDA ( Two-wire Serial Bus Data Input/ Output Line)

PC0 SCL ( Two-wire Serial Bus Clock Line)

(25)

Tabel 2.3. Fungsi khusus port D [2]

Pin Fungsi khusus

PD7 OC2 (Timer/Counter Output Compare Match Output)

PD6 ICP (Timer/Counter1 Input Capture Pin)

PD5 OC1A (Timer/Counter1 Output Compare A Match Output)

PD4 OC1B (Timer/Counter1 Output Compare B Match Output)

PD3 INT1 (External Interrupt 1 Input)

PD2 INT0 (External Interrupt 0 Input)

PD1 TXD (USART Output Pin)

PD0 RXD (USART Input Pin)

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

8. XTAL1 dan XTAL2 merupakan pin input clock eksternal.

9. AVCC merupakan pin input tegangan untuk ADC.

10. AREFF merupakan pin input tegangan referensi ADC.

2.1.3

Reset

Chip akan reset jika tegangan catu nol atau pin RST dipaksa 0 [2]. Jika membutuhkan tombol reset, dapat ditambahkan dengan rangkaian reset seperti gambar 2.2.

Gambar 2.2. Rangkaian reset [2]

2.1.4

Osilator Eksternal

Rangkaian osilator eksternal adalah rangkaian pembangkit frekuensi untuk

menentukan besarnya waktu untuk tiap siklus pada mikrokontroler [2]. Waktu yang

dibutuhkan tiap satu siklus dapat dilakukan dengan persamaan berikut:

Tcycle =

(26)

dengan:

fosc adalah frekuensi clock chip

Tcycle adalah waktu untuk tiap satu siklus mikrokontroler

Komponen XTAL biasanya digunakan untuk membangkitkan clock mikrokontroler.

Keuntungan dari penggunaan komponen ini adalah penentuan frekuensi osilator yang

tepat. Nilai XTAL yang digunakan untuk sistem minimum ATmega8535 adalah 12MHz.

Gambar 2.3. Kristal (XTAL)

2.1.5

Timer

/

Counter

1

Timer/counter1 adalah sebuah timer/counter yang mempunyai kapasitas cacahan 16 bit baik pulsa/ clock internal maupun eksternal yang dilengkapi prescaler sumber pulsa/ clock hingga 10 bit [2]. Timer/counter1 dapat digunakan untuk :

a. Timer/counter biasa

b. Clear Timer on Compare Match (auto reload) c. Counter pulsa eksternal.

d. Sebagai pembangkit frekuensi

e. Sebagai pembangkit gelombang PWM

2.1.5.1

Register

Pengendali

Timer

1

1. Timer/Counter1 Control RegisterA – TCCR1A

Tabel 2.4. Register TCCR1A [2]

Bit 7 6 5 4 3 2 1 0

COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10 TCCR1A

Read/Write W R/W R/W R/W R/W R/W R/W R/W Initial Value 0 0 0 0 0 0 0 0

Bit 7:6 – COM1A1:0: Compare Output Mode for channel A

(27)

Bit-bit ini bertugas mengendalikan sifat pin OC1A atau OC1B yang berhubungan

dengan mode operasi yang digunakan.

Tabel 2.5. Mode normal dan CTC [2]

COM1A1/ COM1B1

COM1A0/

COM1B0 Keterangan

0 0 Tidak dihubungkan dengan pin OC1A/ OC1B

0 1 Toggle pin OC1A/ OC1B saat compare match 1 0 Clear pin OC1A/ OC1B saat compare match 1 1 Set pin OC1A/ OC1B saat compare match

Tabel 2.6. Mode fast PWM [2] COM1A1/

COM1B1

COM1A0/

COM1B0 Keterangan

0 0 Tidak dihubungkan dengan pin OC1A/ OC1B

0 1

WGM13:0=15; toggle pin OC1A pada saat compare match, pin OC1B tidak dihubungkan, untuk setting

WGM13:0 yang lain pin OC1A/ OC1B tidak

dihubungkan

1 0 Clear pin OC1A/ OC1B saat compare match, set pin OC1A/ OC1B pada saat BOTTOM (noninverting)

1 1 Set pin OC1A/ OC1B saat compare match, clear OC1A/ OC1B pada saat BOTTOM (inverting)

Tabel 2.7. Mode Phase Correct dan Phase & Frekuensi Correct PWM [2] COM1A1/

COM1B1

COM1A0/

COM1B0 Keterangan

0 0 Tidak dihubungkan dengan pin OC1A/ OC1B

0 1

WGM13:0=9 atau 14; toggle pin OC1A pada saat compare match, pin OC1B tidak dihubungkan, untuk setting WGM13:0 yang lain pin OC1A/ OC1B tidak dihubungkan

1 0

Clear OC1A/ OC1B saat compare match ketika counting-up, set pin OC1A/ OC1B saat compare match ketika counting-down (noninverting)

1 1

Set pin OC1A/ OC1B saat compare match ketika counting-up, clear pin OC1A/ OC1B saat compare match ketika counting-down (inverting)

Bit 3 – FOC1A: Force Output Compare for channel A

(28)

Bit FOC1A/FOC1B hanya dapat digunakan ketika menggunakan mode operasi

non-PWM. Jika bit-bit ini di-set, maka akan memaksa terjadinya compare match.

Bit 1:0 – WGM11:0: Waveform Generator Mode

Kedua bit ini bersamaan dengan bit WGM13:12 dalam register TCCR1B berguna

untuk memilih mode operasi yang akan kita gunakan [2].

Tabel 2.8. Mode operasi [2]

2. Timer/Counter1 Control RegisterB – TCCR1B

Tabel 2.9. Register TCCR1B [2]

Bit 7 6 5 4 3 2 1 0

ICNC1 ICES1 - WGM13 WGM12 CS12 CS11 CS10 TCCR1B

Read/Write R/W R/W R R/W R/W R/W R/W R/W Initial Value 0 0 0 0 0 0 0 0

Bit 7 – INC1: Input Capture Noise Canceler

Penge-set-an bit ini akan mengaktifkan Input Capture Noise Canceler pada saat menggunakan mode normal yang capture event [2]. Di mana noise canceler akan menyaring triger yang masuk ke pin ICP1 akan disaring selama 4 siklus clock, jika

selama 4 siklus clock tersebut trigernya berubah, maka akan diabaikan.

(29)

Bit ini mendefinisikan triger yang masuk ke pin ICP1 (PB0) yang digunakan untuk

menangkap kejadian (capture event). Jika ICES1=0, maka falling edge (perpindahan

dari 1 ke 0) digunakan sebagai triger dan jika ICES1=1, maka rising edge

(perpindahan dari 0 ke 1) digunakan sebagai triger.

Ketika ada triger pada pin ICP1 (PB0), maka secara otomatis oleh CPU isi register

pencacah TCNT1 akan disalin ke register penangkap ICR1 dan juga berkebalikan pada

flag status ICF1 yang digunakan untuk interupsi capture event.

Bit 5 – Reserved Bit Tidak digunakan

Bit 4:3 – WGM13:2: Waveform Generator Mode Lihat tabel Mode Operasi.

Bit 2:0 – CS12:0: Clock Select

Bit-bit ini bertugas untuk memilih/mendefinisikan/prescaler pulsa/clock yang masuk ke dalam register TCNT1.

Tabel 2.10. Prescaler timer/counter1 [2] CS02 CS01 CS00 Keterangan

0 0 0 Stop/ berhenti

0 0 1 Clk (sama dengan clock cpu)

0 1 0 Clk/8 (1 clk timer/counter1 = 8 clk cpu)

0 1 1 Clk/64 (1 clk timer/counter1 = 64 clk cpu)

1 0 0 Clk/256 (1 clk timer/counter1 = 256 clk cpu)

1 0 1 Clk/1024 (1 clk timer/counter1 = 1024 clk cpu)

1 1 0 Clk eksternal dari pin T1 pada kondisi falling edge

1 1 1 Clk eksternal dari pin T1 pada kondisi rising edge

3. Output Compare Register 1A – OCR1AH and OCR1AL

Tabel 2.11. Register 1A [2]

Bit 7 6 5 4 3 2 1 0

OCR1A[15:8] OCR1AH OCR1A[7:0] OCR1AL

Read/Write R/W R/W R/W R/W R/W R/W R/W R/W

Initial Value 0 0 0 0 0 0 0 0

(30)

Tabel 2.12. Register 1B [2]

Bit 7 6 5 4 3 2 1 0

OCR1B[15:8] OCR1BH OCR1B[7:0] OCR1BL

Read/Write R/W R/W R/W R/W R/W R/W R/W R/W

Initial Value 0 0 0 0 0 0 0 0

Register ini bertugas sebagai register pembanding yang bisa kita tentukan besarnya sesuai dengan kebutuhan [2]. Dalam praktiknya pada saat TCNT1 (TCNT1H:TCNT1L)

mencacah maka otomatis oleh CPU akan dibandingkan dengan isi OCR1

(OCR1H:OCR1L) secara kontinyu dan jika isi TCNT1 sama dengan isi OCR1 maka

akan terjadi compare match yang dapat dimanfaatkan untuk mode CTC dan PWM.

5. Input Capture Register 1 –ICR1H and ICR1L

Tabel 2.13. Register 1 [2]

Bit 7 6 5 4 3 2 1 0

ICR1[15:8] ICR1H ICR1[7:0] ICR1L

Read/Write R/W R/W R/W R/W R/W R/W R/W R/W

Initial Value 0 0 0 0 0 0 0 0

Register ICR1 (ICR1H:ICR1L) akan selau diperbarui dengan isi register pencacah

TCNT1 (pada saat tersebut) sewaktu terjadi triger (capture event) pada pin ICP1 [2].

Register ICR1 juga mempunyai fungsi lain untuk mendefinisikan TOP value pada

mode tertentu (lihat tabel mode operasi).

6. Timer/Counter Interrupt Mask Register– TIMSK

Tabel 2.14. Register TIMSK [2]

Bit 7 6 5 4 3 2 1 0

OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 - TOIE0 TIMSK

Read/Write R/W R/W R/W R/W R/W R/W R R/W Initial Value 0 0 0 0 0 0 0 0

Bit 5 – TICIE1: T/C1, Input Capture Interrupt Enable

Bit ini berguna untuk meng-aktif-kan interupsi input capture (penangkap kejadian pada pin ICP1/PB0) ketika bit di-set [2].

Bit 4 – OCIE1A: T/C1, Output Compare A Match Interrupt Enable

Bit ini berguna untuk meng-aktif-kan interupsi Output Compare A Match ketika bit ini di-set.

(31)

Bit ini berguna untuk meng-aktif-kan interupsi Output Compare B Match ketika bit ini di-set.

Bit 2 – TOIE1: Timer/Counter1, Overflow Interrupt Enable

Bit ini berguna untuk meng-aktifkan interupsi overflow TCNT1 ketika bit ini di-set.

6. Timer/Counter Interrupt Flag Register – TIFR

Tabel 2.15. Register TIFR [2]

Bit 7 6 5 4 3 2 1 0

OCF2 TOV2 ICF1 OCF1A OCF1B TOV1 - TOV0 TIFR

Read/Write R/W R/W R/W R/W R/W R/W R R/W Initial Value 0 0 0 0 0 0 0 0

Bit 5 – ICP1: T/C1, Input Capture Flag

Bit ini akan set secara otomatis ketika menagkap triger pada pin ICP [2]. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor interupsi input capture. Untuk meng-clear secara manual bit ini maka bit ini harus di-set.

Bit 4 – OCF1A: T/C1, Output Compare A Match Flag

Bit ini akan set secara otomatis ketika terjadi compare match A. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor interupsi output compare A. Untuk

meng-clear secara manual bit ini harus di-set.

Bit 3 – OCF1B: Timer/Counter1, Output Compare B Match Flag

Bit ini akan set secara otomatis ketika terjadi compare match B. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor interupsi output compare B. Untuk

meng-clear secara manual bit ini maka bit ini harus di-set. Bit 2 – TOV1: Timer/Counter1, Overflow Flag

Bit ini akan set secara otomatis ketika terjadi overflow pada register pencacah TCNT1.

Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor overflow timer/counter 1. Untuk meng-clear secara manual bit ini maka bit ini harus di-set.

2.1.6.

Mode Operasi

1. Mode Normal

Normal Overflow:

Dalam mode ini register pencacah TCNT1 bekerja secara normal selalu mencacah/

(32)

set yang menandakan terjadinya interupsi jika interupsi timer/counter1 overflow diaktifkan [2]. Nilai TCNT1 tidak harus selalu 0x0000 namun bisa ditentukan misalnya

0xF89 atau berapa pun sesuai kebutuhan.

Normal compare match:

Dalam mode ini register TCNT1 bekerja seperti mode normal overflow, hanya jika isi

register OCR1x (x = A atau B), maka ketika TCNT1==OCR1x, maka akan terjadi

compare match yang menyebabkan flag OCF1x secara otomatis set yang menandakan

terjadinya interupsi jika interupsi timer1 compare match x diaktifkan [2]. Ketika compare match dalam mode ini TCNT1 akan terus menghitung hingga overflow dan

mulai dari nol lagi, maka dapat mengaktifkan ketiga interupsi ini secara bersamaan

(overflow, compare match A dan B).

2. CTC (Clear Timer on Compare match)

Dalam mode ini register pencacah TCNT1 mencacah naik (counting-up) hingga

mencapai TOP (nilai TCNT1 sama dengan nilai OCR1 yang telah ditentukan)

kemudian TCNT1 nol lagi yang otomatis akan menge-set flag OCF1 dan akan

membangkitkan interupsi timer/counter1 compare match jika diaktifkan.

Frekuensi CTC dapat dihitung dengan menggunakan persamaan:

(2.2)

dengan:

adalah frekuensi clock chip

N adalah prescaler sumber clock yang digunakan (1, 8, 64, 256, 1024)

3. Fast PWM (Pulse Width Modulation)

Timer/counter1 dalam mode fast PWM digunakan untuk mengendalikan lama ton dan

toff melaui isi register pembanding OCR1A atau OCR1B yang akan berakibat kepada

besar duty cycle yang dihasilkan. Untuk chanel (saluran) PWM timer/counter1 adalah

pin OC1A atau OC1B sebagai keluaran saluran PWM. Dalam mode fast PWM sifat

cacahan register pencacah TCNT1 mencacah dari BOTTOM (0x0000) terus mencacah

naik (counting-up) hingga mencapai TOP (nilai maksimal yang ditentukan sesuai

(33)

slope (satu arah cacahan). Resolusi fast PWM dapat ditentukan dengan resolusi yang sudah tetap seperti 8, 9, 10 bit atau bisa ditentukan melalui register ICR1 atau OCR1A.

Resolusi minimal yang diizinkan adalah 2-bit (ICR1 atau OCR1A diisi 0x0003), dan

resolusi maksimal yang diizinkan adalah 16-bit (ICR1 atau OCR1A diisi 0xFFFF).

Resolusi dapat dihitung dengan menggunakan persamaan berikut:

(2.3)

Dalam mode non-inverting saluran keluaran PWM pin OC1x di-clear pada saat

compare match (TCNT1==OCRx) dan di-set ketika BOTTOM (TCNT1=0x0000).

Gambar 2.4. Pulsa fast PWM [2]

Dalam mode inverting saluran keluaran PWM pin OC1x di-set pada saat compare match (TCNT1==OCRx) dan di-clear ketika BOTTOM (TCNT1=0x0000).

Secara kasar memberdakan non-inverting dengan inverting dalam mode fast PWM yaitu dilihat dari bentuk pulsanya. PWM non-inverting yang dikendalikan adalah lama

t on – nya melalui isi OCR1x, sedangkan PWM inverting yang dikendalikan adalah lama t off – nya melalui isi OCR1x. Frekuensi fast PWM dihitung dengan menggunakan persamaan berikut:

(2.4)

dengan:

adalah frekuensi clock chip

(34)

4. Phase Correct PWM

Pada mode ini cara operasi cacahan register TCNT1 menggunakan dual slope (dua

arah/bolak-balik) di mana TCNT1 mencacah dari BOTTOM (0x0000) counting-up

hingga mencapai TOP (resolusi yang digunakan) kemudian counting-down hingga BOTTOM (0x0000) dan begitu seterusnya.

Resolusi mode phase correct PWM dapat kita tentukan secara tetap 8-, 9-, 10-bit atau

kita tentukan menggunakan register ICR1 atau OCR1A dimana resolusi minimal yang

diizinkan adalah 2-bit (ICR1/OCR1A diisi dengan 0x0003) dan maksimal 16-bit

(ICR1/OCR1A diisi dengan 0xFFFF). Rumus untuk menentukan resolusi mode phase

correct PWM.

(2.5)

Dalam mode non-inverting saluran keluaran PWM pin OC1x di-clear pada saat

compare match (TCNT1=OCRx) ketika counting-up dan di-set pada saat compare

match ketika counting down. Dalam mode inverting saluran keluaran PWM pin OC1x

di-set pada saat compare match (TCNT1=OCRx) ketika counting-up dan di-clear pada

saat compare match ketika counting-down.

Gambar 2.5. Pulsa Phase Correct PWM [2]

Frekuensi Phase Correct PWM dihitung dengan persamaan:

(2.6)

dengan:

fclk_I/O adalah frekuensi clock chip

(35)

2.2

Real Time Clock

DS1307

Real Time Clock (RTC) merupakan suatu chip (IC) yang memiliki fungsi sebagai penyimpan waktu dan tanggal. Fitur utama DS1307 adalah mampu menghitung detik,

menit, jam, tanggal, tahun dengan koreksi tahun kabisat hingga tahun 2100, data bisa

disimpan dengan bantuan baterai cadangan, dan antarmuka I2C.

IC yang mempunyai clock sumber sendiri dan internal batery untuk menyimpan data waktu dan tanggal. Sehingga jika sistem komputer/ mikrokontroler mati waktu dan

tanggal di dalam memori RTC tetap up date. Gambar 2.6. menunjukkan diagram blok dari

DS1307.

Gambar 2.6. Diagram blok DS1307 [5]

DS1307 yang digunakan memiliki paket DIL8 (Dual In Line 8) seperti yang

ditunjukkan Gambar 2.7.

Gambar 2.7. Konfigurasi pin RTC DS1307 [5]

Pin-pin RTC DS1307 beserta penjelasannya adalah sebagai berikut:

1. X1 dan X2 dihubungkan dengan kristal quartz 32,768 kHz.

Rangkaian osilator internal ini didesain untuk beroperasi dengan sebuah kristal yang

(36)

2. Vcc, GND sebagai power supply utama.

Vcc merupakan tegangan input +5 volt sedangkan GND merupakan ground.

3. Vbat merupakan tegangan input baterai lithium cell 3 volt.

Tegangan baterai harus berada antara tegangan minimum dan tegangan maksimum

yaitu 2,5 volt sampai 3,5 volt. Ketika tegangan 5 volt digunakan pada batas normal,

RTC dapat diakses secara penuh dan data dapat ditulis dan dibaca. Ketika VCC kurang

dari 1,25 x Vbat, proses penulisan dan pembacaan menjadi terhalang. Namun

demikian, proses penghitungan waktu tetap berjalan. Pada saat VCC kurang dari Vbat,

RAM dan penghitung waktu terhubung dengan baterai 3 volt.

4. SCL (Serial Clock Input) berfungsi sebagai clock untuk input ke I2C dan digunakan untuk menyinkronisasi pergerakan data dalam serial interface.

5. SDA (Serial Data Input/ Output) berfungsi sebagai masukan/ keluaran (I/O) untuk

I2C serial interface.

Pin ini bersifat open drain sehingga membutuhkan eksternal pull-up resistor.

6. SQW/OUT (Square Wave/ Output Driver) sebagai square wave/ output driver.

Jika diaktifkan maka akan menjadi 4 frekuensi gelombang kotak yaitu 1 Hz, 4 kHz, 8

kHz, 32 kHz. Sifat dari pin ini sama dengan sifat pin SDA dan SCL sehingga membutuhkan eksternal pull-up resistor. Dapat dioperasikan dengan VCC maupun

Vbat.

2.3

Komunikasi I

2

C

I2C-Bus atau Inter-Integrated Circuit Bus merupakan bus serial. I2C atau Inter Intergated Circuit dikembangkan Philips Semikonductor ® hampir 20 tahun silam untuk memudahkan komunikasi antar komponen dalam sebuah papan PCB. I2C-Bus digunakan untuk menghubungkan berbagai macam IC yang dikontrol oleh sistem mikroprosesor atau

mikrokontroler (intelleigent control aplication). Standar I2C-Bus telah banyak digunakan di berbagai macam bidang elektronik terutama kontrol dengan kecepatan low-to-medium [6].

Kelebihan dari I2C diantaranya adalah hanya membutuhkan dua jalur untuk komunikasi; komunikasi master-slave yang sederhana; tidak memerlukan baud-rate seperti

halnya RS-232, master yang menghasilkan pulsa clock; setiap perangkat memiliki penanda

digital (ID) yang unik; serta mampu terdapat lebih dari satu master dalam jalur data. Dua

(37)

menyinkronisasi transfer data pada jalur I2C, sedangkan SDA merupakan jalur untuk data.

Beberapa perangkat dapat terhubung ke dalam jalur I2C yang sama dimana SCL dan SDA

terhubung ke semua perangkat tersebut, hanya ada satu perangkat yang mengontrol SCL

yaitu perangkat master. Jalur data I2C memiliki tipe open drain, artinya perangkat hanya bisa menarik jalur data menjadi low. Oleh karena itu, diperlukan pull-up resistor pada SDA

dan SCL untuk menarik jalur data menjadi high ketika tidak ada perangkat yang berkomunikasi. Pull-up resistor adalah resistor yang dihubungkan antara jalur data dan VCC.

Gambar 2.8. Konfigurasi umum DS1307 dengan mikrokontroler [5]

Gambar 2.8. menunjukkan rangkaian yang umum untuk menghubungkan DS1307

dengan mikrokontroler. Pin SQW/OUT sendiri bisa diatur untuk menghasilkan gelombang

kotak. Apabila fitur tersebut tidak digunakan, maka tidak perlu dipasang resistor.

DS1307 bisa beroperasi dalam 2 cara, yaitu Slave Receiver Mode (Write Mode) dan

Slave Transmiter Mode (Read Mode). Komunikasi serial I2C selalu diawali dengan kondisi START dan diakhiri STOP. Kondisi START adalah ketika terjadi perubahan kondisi dari

high ke low pada SDA ketika SCL pada kondisi high. Sedangkan kondisi STOP adalah ketika terjadi perubahan kondisi dari low ke high pada SDA ketika SCL pada kondisi high.

Write mode merupakan cara mikrokontroler menulis data ke dalam DS1307, misal ingin mengatur tanggal dan jam. Setelah dikirim kondisi START, mikrokontroler mengirim 7 bit

(38)

yang akan ditulis. Setiap byte yang diterima akan diakhiri dengan sinyal acknowledge. Apabila mikrokontroler sudah selesai mengirim data, maka dikirim kondisi STOP. Gambar

2.9. merupakan urutan-urutan Slave Receiver Mode (Write Mode).

Gambar 2.9. Urutan-urutan Slave Receiver Mode (Write Mode) [5]

Read Mode merupakan cara agar data yang terdapat di DS1307 dibaca oleh mikrokontroler, misal ingin membaca waktu dan tanggal. Caranya sama saja seperti pada

write mode, hanya saja diikuti direction bit 1. Apabila “11010000” dikirim, maka DS1307 masuk write mode. Apabila “11010001” dikirim, DS1307 akan masuk read mode. Terdapat tambahan sinyal not acknowledge (NACK) yang dikirim oleh mikrokontroler apabila telah menerima semua data dari DS1307 sebelum kondisi STOP.

Gambar 2.10. menunjukkan urutan-urutan Slave Transmiter Mode (Read Mode). Informasi waktu dan tanggal bisa didapat dengan mengakses register yang tepat.

Register-register ini bisa dibaca atau ditulis menggunakan mikrokontroler.

Gambar 2.10. Urutan-urutan Slave Transmiter Mode (Read Mode) [5]

Register DAY yang menunjukkan hari bertambah ketika tengah malam. Nilai yang diperoleh berupa nilai 01-07 dan tidak mengikat kepada hari sebenarnya. Pengguna yang

harus menentukan nilai beserta definisinya, misal 1 adalah Minggu maka 2 adalah Senin

dan seterusnya. Bit 6 dari register HOUR menentukan jam dalam tipe 12 jam atau 24 jam.

Ketika bit 6 HIGH, maka akan masuk tipe 12 jam, sedang ketika LOW akan masuk tipe 24

(39)

Register CH pada alamat 00H merupakan register enable oscillator yang akan menentukan jalannya waktu pada DS1307, sehingga ketika inisialisasi perlu diperiksa nilai dari register

tersebut. Tabel 2.16. menunjukan register-register yang bisa diakses pada DS1307.

Tabel 2.16. Register-register pada DS1307 [5]

Ketika membaca maupun menulis register diatas diperlukan tempat penyimpanan sementara pada mikrokontroler untuk mencegah kesalahan register internal. Tempat penyimpanan atau secondary buffer ini berupa alokasi memori yang diletakkan di mikrokontroler.

2.4

Liquid Crystal Display

(LCD) 2x16

Liquid Crystal Display (LCD) adalah komponen yang berfungsi untuk

menampilkan suatu karakter pada suatu tampilan (display) dengan bahan utama yang

digunakan berupa Liquid Crystal [7]. Apabila diberi arus listrik sesuai dengan jalur yang telah dirancang pada konstruksi LCD, Liquid Crystal akan menghasilkan suatu cahaya dan

cahaya tersebut akan membentuk suatu karakter tertentu.

Terdapat 2 jenis LCD yaitu LCD karakter dan LCD grafik. LCD karakter, adalah

LCD yang tampilannya terbatas pada tampilan karakter, khususnya karakter ASCII (seperti

karakter-karakter yang tercetak pada keyboard komputer). Sedangkan LCD grafik, adalah

LCD yang tampilannya tidak terbatas, bahkan dapat menampilkan foto. LCD grafik inilah

yang terus berkembang seperti layar LCD yang biasa dilihat di notebook/ laptop [8].

Jenis LCD karakter yang beredar di pasaran biasa dituliskan dengan bilangan

(40)

karakter dikali jumlah baris karakter. Sebagai contoh, LCD1952, artinya terdapat 16 kolom

dalam 2 baris ruang karakter seperti ditunjukan pada Gambar 2.11. yang berarti total

karakter yang dapat dituliskan adalah 32 karakter [8].

Gambar 2.11. Baris dan Kolom Karakter pada LCD 1952 [8]

LCD yang sering digunakan adalah jenis LCD M1632. M1632 merupakan modul

LCD dengan tampilan 2x16 (2 baris, 16 kolom) dengan konsumsi daya rendah. Modul

tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan

LCD. Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD

memiliki CGROM (Character General Read Only Memory), CGRAM (Character General

Random Access Memory), dan DDRAM (Display Data Random Access Memory). LCD bertipe ini memungkinkan pemrogram untuk mengoperasikan komunikasi data 8 bit atau 4

bit. Jika menggunakan jalur data 4 bit, maka akan ada 7 jalur data (3 untuk jalur kontrol & 4 untuk jalur data). Jika menggunakan jalur data 8 bit, maka akan ada 11 jalur data (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).

Gambar 2.12. LCD 2x16

LCD jenis M1623 memiliki jumlah pin sebanyak 16 yang memiliki fungsi

berbeda-beda. Fungsi pin LCD pada Tabel 2.17. adalah :

1. VLCD merupakan pin yang digunakan untuk mengatur tebal tipisnya karakter yang

tertampil dengan cara mengatur tegangan masukan.

2. DB0 s/d DB7 merupakan jalur data yang dipakai untuk menyalurkan kode ASCII

(41)

3. Register Select (RS) merupakan pin yang dipakai untuk membedakan jenis data

yang dikirim ke LCD. Jika RS berlogika ‘0’, maka data yang dikirim adalah

perintah untuk mengatur kerja LCD. Jika RS berlogika ‘1’, maka data yang

dikirimkan adalah kode ASCII yang ditampilkan.

4. Read/Write (R/W) merupakan pin yang digunakan untuk mengaktifkan pengiriman

dan pengembalian data ke dan dari LCD. Jika R/W berlogika ‘1’, maka akan

diadakan pengambilan data dari LCD. Jika R/W berlogika ‘0’, maka akan diadakan

pengiriman data ke LCD.

5. Enable (E) merupakan sinyal sinkronisasi. Saat E berubah dari logika ‘1’ ke ‘0’, data di DB0 s/d DB7 akan diterima atau diambil dari port mikrokontroler.

6. Anoda (A) dan Katoda (K) merupakan pin yang digunakan untuk menyalakan backlight dari layar LCD.

Tabel 2.17. Fungsi Pin-pin LCD [7]

Pin No Keterangan Konfigurasi

1 GND Ground

2 VCC Tegangan +5VDC

3 VEE Ground

4 RS Kendali Rs

5 R/W Ground

6 E Kendali E/Enable

7 D0 Bit 0

8 D1 Bit 1

9 D2 Bit 2

10 D3 Bit 3

11 D4 Bit 4

12 D5 Bit 5

13 D6 Bit 6

14 D7 Bit 7

15 A Anoda (+5VDC)

(42)

2.5

Light-Emitting Diode

(LED)

LED adalah komponen elektronika yang terbuat dari bahan semi konduktor jenis

dioda yang mampu memancarkan cahaya [9]. LED mampu menghasilkan cahaya yang

berbeda menurut semi konduktor yang digunakan dan jenis bahan semi konduktor tersebut

akan menghasilkan panjang gelombang yang berbeda sehingga cahaya yang dihasilkan

berbeda pula.

LED adalah salah satu jenis dioda, maka LED memiliki 2 kutub yaitu anoda dan katoda. LED akan menyala bila ada arus listrik mengalir dari anoda menuju katoda. Pemasangan kutub LED tidak boleh terbalik karena apabila terbalik kutubnya maka LED

tersebut tidak akan menyala. Semakin tinggi arus yang mengalir pada LED maka semakin

terang pula cahaya yang dihasilkan, namun perlu diperhatikan bahwa arus yang

diperbolehkan 10mA-20mA dan pada tegangan 1,6V-3,5V menurut karakter warna yang

dihasilkan. Apabila arus yang mengalir lebih dari 20mA, maka LED akan terbakar. Untuk

menjaga agar LED tidak terbakar perlu digunakan resistor sebagai penghambat arus. LED

ditunjukkan pada gambar 2.13.

Gambar 2.13. Konfigurasi LED [9]

Berdasarkan gambar 2.14. persamaan untuk mencari nilai tegangan menggunakan hukum

ohm adalah . Sehingga persamaan untuk mencari nilai resistor yang digunakan

sebagai indikator adalah :

R = (2.7)

dengan:

V = tegangan (Volt)

I = arus listrik (Ampere)

R = resistor (Ohm/Ω)

VS = tegangan sumber (Volt)

(43)

Gambar 2.14. Rangkaian indikator LED

2.6

Keypad

Keypad matriks adalah tombol-tombol yang disusun secara matriks (baris x kolom) sehingga dapat mengurangi penggunaan pin input. Sebagai contoh, keypad matriks 4×4 cukup menggunakan 8 pin untuk 16 tombol [10]. Hal tersebut dimungkinkan karena rangkaian tombol disusun secara horizontal membentuk baris dan secara vertikal membentuk kolom seperti pada gambar 2.15.

Proses pengecekkan dari tombol yang dirangkai secara matriks adalah dengan

teknik scanning. Metode scanning keypad adalah mendeteksi hubungan pin baris dan kolom karena tombol ditekan, secara berurutan, bergantian dan satu per satu.

Gambar 2.15. Rangkaian keypad [10]

B1, B2, B3, dan B4 merupakan baris 1 sampai baris 4; sedangkan K1, K2, K3, dan

K4 merupakan kolom 1 sampai kolom 4 keypad. Pin-pin kolom menjadi output dan pin-pin

baris menjadi input. Contohnya ketika ‘*’ ditekan maka arus mengalir dari kolom 1 ke baris 4 dengan begitu mikrokontroler dapat mengetahui tombol tersebut aktif sedangkan

(44)

2.7

Motor DC 12V

Motor listrik merupakan perangkat elektromagnetis yang mengubah energi listrik

menjadi energi mekanik [11]. Motor DC memerlukan sumber tegangan yang searah pada

kumparan medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor DC

disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian

yang berputar). Dengan memberikan beda tegangan pada kedua terminal tersebut, motor

akan berputar pada satu arah, dan bila polaritas dari tegangan tersebut dibalik maka arah

putaran motor akan terbalik pula.

Gambar 2.16. Konstruksi motor DC [11]

2.8

Limit Switch

Limit switch atau sering juga disebut saklar batas adalah saklar yang dapat dioperasikan secara manual maupun otomatis. Fungsi dan cara kerja dari limit switch sama

dengan saklar-saklar push on. Limit switch mempunyai kontak Normally Open (NO) dan Normally Closed (NC). Roller yang terdapat pada limit switch, bila ditekan akan membuat kontak yang tadinya NC menjadi NO, begitu juga sebaliknya. Ketika roller dilepas, maka

limit switch akan kembali kekeadaan awal. Konstruksi limit switch dapat dilihat pada gambar 2.17.

(45)

Bentuk fisik limit switch bermacam-macam. Salah satu bentuk dari limit switch dapat dilihat pada gambar 2.18.

Gambar 2.18. Limit Switch [12]

2.9

L298

L298 adalah komponen yang didalamnya terdiri dari dua rangkaian bridge yang bisa dikontrol dari luar (Dual Full-Bridge Driver). Komponen ini biasa digunakan untuk

mengontrol komponen yang mengandung kumparan seperti motor DC, motor stepper, relay dan solenoid. Enable A dan B digunakan untuk mengaktifkan atau menonaktifkan perangkat secara bebas dari sinyal masukan. Tegangan masukan tambahan disediakan

sehingga dapat bekerja pada tegangan yang lebih rendah.

Gambar 2.19. menunjukan diagram blok L298. Dari IC ini terdapat 4 pin masukan

yang didesain untuk menerima masukan logika TTL. Masing-masing pin masukan

memiliki pin keluaran yang bersesuaian.

(46)

Pada pin enable dan pin 10 diberi logika 1 (high) dan pin 12 diberi logika 0 (low)

maka akan menggerakkan motor searah jarum jam. Jika logikanya dibalik maka motor

akan bergerak berlawanan dengan arah jarum jam. Pin enable yang diberi logika 0 (low) maka motor akan berhenti berputar.

(47)

29

BAB III

PERANCANGAN

3.1

Proses Kerja Sistem

Konfigurasi sistem perancangan ini meliputi beberapa bagian yang ditunjukkan

pada gambar 3.1. Bagian – bagian perancangan meliputi sistem minimum mikrokontroler,

RTC, motor DC, limit switch, LCD, dan keypad. Sistem minimum mikrokontroler ATmega8535 pada perancangan sistem ini sudah menggunakan sistem minimum jadi.

Pengaturan tirai dapat diprogram pada jam-jam tertentu dan dengan mode-mode tertentu

yang sudah dipilih. Proses pergerakan motor diawali dengan memosisikan sistem dalam

keadaan nol dan saklar dalam keadaan on. Sistem bekerja saat pengguna mengatur masukan data pada mikrokontroler dengan keypad agar tirai terbuka dan tirai akan kembali

menutup pada waktu yang sudah ditentukan.

Mikrokontroler akan mengendalikan gerak motor DC yang diaplikasikan pada

prototipe tirai. Mikrokontroler disinkronkan dengan RTC sehingga tirai dapat terbuka dan

tertutup secara otomatis. Jika data pada mikrokontroler sudah sama dengan RTC kemudian

mikrokontroler mengendalikan driver sehingga motor bergerak searah jarum jam atau yang

berlawanan dengan arah jarum jam dan data akan ditampilkan pada LCD. Selain itu

mikrokontroler juga mengaktifkan limit switch. Saat posisi tirai sudah terbuka atau tertutup

penuh akan menekan limit switch dan mikrokontroler akan menghentikan kinerja driver sehingga motor berhenti berputar. Data yang telah dimasukkan pengguna dapat disimpan

pada menu manual dan data yang telah tersedia pada menu otomatis dapat dipakai dengan

langsung memilih pada menu yang sudah tersedia. Keseluruhan sistem dikendalikan oleh

mikrokontroler ATmega8535.

RTC DS1307

LCD

Mikrokontroler

ATmega8535 Driver motor

Keypad Limit switch Motor DC

(48)

3.2

Perancangan Prototipe

Pada tahap ini dilakukan perancangan prototipe ruangan, antara lain mendesain

ukuran prototipe ruangan. Perancangan prototipe ruangan ditunjukkan pada gambar 3.2.

dan gambar 3.3. Bahan yang digunakan untuk prototipe adalah acrylic, pengait pada tirai

dan motor DC menggunakan belt yang permukaannya kasar. Dimensi prototipe ruangan yang akan didesain adalah 50 cm x 35 cm x 35 cm.

Keterangan:

1. Keypad

2. LCD

3. Roller

4. Limit switch

5. Motor DC

Gambar 3.2. Desain tampak belakang

(49)

3.3

Perancangan Perangkat Keras

Ada beberapa bagian utama dalam perancangan subsistem perangkat keras

prototipe ruangan, yaitu :

a. Sistem minimum ATmega8535

b. Rangkaian LCD 2x16

c. Rangkaian RTC DS1307

d. Rangkaian motor DC

e. Keypad 4x4

3.3.1

Sistem Minimum ATmega8535

Sistem minimum yang digunakan pada tugas akhir ini merupakan produksi dari

Creative Vision dengan chip IC keluarga Atmel dengan seri ATmega8535. Sistem minimum berfungsi sebagai I/O untuk mengolah data dari RTC dan mengendalikan motor

DC yang telah diprogram dalam mikrokontroler ATmega8535 pada prototipe ruangan.

Mikrokontroler membutuhkan sistem minimum yang terdiri dari rangkaian eksternal yaitu

rangkaian osilator dan rangkaian reset.

Gambar 3.4. Sistem minimum ATmega8535

Perancangan penggunaan port sebagai input dan output pada mikrokontroler ATmega8535 disesuaikan dengan kebutuhan yaitu sejumlah 25 pin. Rangkaian RTC membutuhkan 2 pin pada PortC, keypad 4x4 membutuhkan 8 pin pada PortA, limit switch

membutuhkan 2 pin, driver sebagai penggerak motor menggunakan 3 buah pin, sedangkan

LCD dengan 7 pin pada PortB. Tabel 3.1. menunjukan penggunaan port pada

mikrokontroler yang digunakan sebagai input dan output dari RTC dan motor DC. XTAL

(50)

Tabel 3.1. Penggunaan port-port pada mikrokontroler.

Fungsi PORT Mikro Keterangan

INPUT

RTC DS1307 PortC.0 SCL pada RTC

PortC.1 SDA pada RTC Keypad PortA.0-7 Data dari pengguna

Limit switch PortD.0,1 Memutus gerak motor DC

OUTPUT Driver

PortD.4,6 Komunikasi mikro-driver PortD.5 Keluaran PWM motor DC LCD PortB.0-2, 4-7 Penampil

Secara keseluruhan rangkaian sistem minimum ATmega8535 ditunjukkan pada

gambar 3.5.

(51)

3.3.2

Rangkaian LCD 2x16

LCD digunakan untuk menampilkan data output dari mikrokontroler. LCD yang digunakan adalah LCD 2x16 yang memiliki tipe LMB162A. Dalam perancangan ini mode

yang digunakan untuk menuliskan data ke LCD sebanyak 4 bit (mode nibble). Port B.0, port B.2, port B.4 dan port B.6 digunakan sebagai port data, sedangkan port B.1, port B.3 dan port B.5 digunakan sebagai port pengatur interface LCD. Tegangan maksimal untuk LCD sebesar 5VDC sehingga dalam perancangan digunakan resistor variabel sebesar 10 kΩ

yang berfungsi untuk membatasi tegangan yang masuk ke pin Vcc LCD. Dengan

menggunakan informasi pada tabel 2.16 maka dapat dibuat rangkaian LCD 2x16 seperti

pada gambar di bawah ini:

Gambar 3.6. Rangkaian LCD [7]

3.3.3

Rangkaian RTC DS1307

Jenis komunikasi RTC DS1307 adalah I2C. ATmega8535 memiliki hardware I2C pada portC.1 sebagai SDA dan portC.0 sebagai SCL. RTC DS1307 membutuhkan 2 (dua)

buah pull-up resistor pada kaki SDA dan SCL. Resistor ini digunakan untuk membuat kondisi logika pada jalur SDA dan SCL menjadi high ketika tidak ada sinyal dari mikrokontroler. Sumber tenaga yang digunakan sebesar 5 volt. Nilai resistor yang

digunakan pada R1 dan R2 sebesar 4,7 KΩ. XTAL yang digunakan memiliki nilai 32,768

(52)

Gambar 3.7. Rangkaian RTC DS1307

Pin 3 digunakan untuk pemasangan baterai cadangan, sedangkan pin 5 dan 6 disambungkan ke pin mikrokontroler sebagai masukan data. Sumber tenaga cadangan diperlukan pada RTC DS1307 agar dapat menyimpan tanggal dan waktu sehingga tetap

berjalan ketika catu daya utama dimatikan. Oleh karena itu digunakan Micro Lithium Cell

dengan tegangan keluaran 3 volt.

3.3.4

Rangkaian Motor DC

Perancangan ini menggunakan sebuah driver untuk menggerakkan motor dengan kecepatan tertentu. Jenis driver yang digunakan dengan seri L298. Rangkaian ini membutuhkan sumber tegangan sebesar 5 volt sebagai tegangan masukan driver dan 6 volt

merupakan sumber tegangan untuk menggerakkan motor DC.

Port yang digunakan sebagai pengendali kecepatan motor adalah portD.5. PortD.4 dan portD.6 pada mikrokontroler digunakan sebagai komunikasi antara driver (pengendali

arah) dengan mikrokontroler. Pin enable diberi tegangan 5 volt dan PWM untuk kecepatan

rotasi antara 00h – FFh (8 bit). Motor DC membutuhkan pulsa PWM dan pengaturan OCR1A/ OCR1B untuk menentukan arah putaran motor.

Modulasi PWM dilakukan dengan cara mengubah lebar pulsa dari suatu pulsa data.

Pengaturan register untuk memeroleh lebar pulsa yang akan digunakan pada mode phase correct PWM adalah sebagai berikut:

1. TCCR1A = 0b10000001

(53)

2. TCCR1B = 0b00000001

Bit 4:3 dilakukan untuk menentukan mode operasi Timer/Counter1 yaitu phase correct PWM.

Bit 2:0 merupakan bit pengatur prescaler clock yang masuk ke dalam register TCNT1. Clock osilator yang digunakan sama dengan clock CPU yaitu 12Mhz.

Gambar 3.8. Rangkaian driver L298

Untuk menentukan frekuensi phase correct PWM dapat diperoleh menggunakan

persamaan 2.4 sehingga diperoleh nilai sebagai berikut :

Nilai frekuensi yang diperoleh adalah 23,529 KHz, nilai frekuensi selalu berbanding

terbalik dengan waktu, sehingga dapat diperoleh lebar pulsa untuk satu siklus dengan

perhitungan sebagai berikut :

(3.1)

(54)

3.3.5

Keypad

Keypad yang digunakan dengan matriks 4x4. Keypad berfungsi sebagai masukan pada mikrokontroler untuk mengatur pada jam-jam tertentu tirai akan dibuka dan ditutup.

Port yang digunakan pada mikrokontroler untuk keypad adalah portA.0 sampai portA.7. PortA.0, portA.1, portA.2, dan portA.3 atau port baris digunakan sebagai input, sedangkan portA.4, portA.5, portA.6, dan portA.7 atau port kolom digunakan sebagai output.

Gambar 3.9. Rangkaian keypad 4x4

Pengaturan tombol pada keypad adalah sebagai berikut:

Tabel 3.2. Penggunaan tombol pada keypad

Tombol Fungsi

1 Angka 1

2 Angka 2

3 Angka 3

4 Angka 4

5 Angka 5

6 Angka 6

7 Angka 7

8 Angka 8

9 Angka 9

0 Angka 0

* Tombol geser kiri (←)

# Tombol geser kanan (→)

A Enter

B Menu

C Buka otomatis

(55)

3.4

Perancangan Perangkat Lunak

3.4.1

Diagram Alir Sistem

Diagram alir utama ditunjukkan pada gambar 3.10. Program utama menunjukkan

proses kerja secara keseluruhan. Program dimulai dengan melakukan inisialisasi terhadap

port-port mikrokontroler yang digunakan untuk proses pengendalian alat.

START

Inisialisasi port mikro

STOP Pengaturan RTC

Proses Pilih menu

Menu = otomatis Menu = manual

Otomatis Manual YA

TIDAK

YA

TIDAK

While (1) YA TIDAK Ada data di

EEPROM TIDAK YA

Gambar 3.10. Diagram alir sistem

Pengaturan RTC dilakukan untuk mengatur waktu yang sedang berjalan dan diatur

berdasarkan waktu setempat (GMT +7). Setelah mengatur RTC, kemudian memilih menu

(56)

akan tersimpan pada EEPROM sehingga pada saat catu daya utama mati maka mode yang

dipilih tetap tersimpan. Saat catu daya utama hidup lagi maka sistem akan melanjutkan ke

proses sehingga tirai dapat terbuka atau tertutup. Jika data bernilai benar maka program

akan terus melanjutkan eksekusi ke program pilih menu. Jika data bernilai salah maka

program tidak akan dilanjutkan/ stop.

3.4.2

Diagram Alir Pengaturan RTC

Pengaturan waktu RTC menjadi awal dalam proses menjalankan waktu

berdasarkan GMT +7 yaitu mengikuti aturan waktu yang berlaku. Pengaturan RTC yang

dimaksud adalah mengatur waktu yaitu tanggal, bulan, tahun, hari, jam, menit, dan detik.

LCD dirancang untuk tanggal, bulan, tahun, hari, jam, menit, dan detik. Data yang telah

diatur kemudian disimpan di RTC.

MULAI

Tampilan hari Tampilan Tanggal - bulan - tahun

Atur

Tanggal - bulan - tahun

Atur Jam : menit : detik

Tampilan Jam : menit : detik

Gambar

Tabel 2.13. Register 1 [2]
Gambar 2.4. Pulsa fast PWM [2]
Gambar 2.5. Pulsa Phase Correct PWM [2]
Gambar 2.6. Diagram blok DS1307 [5]
+7

Referensi

Dokumen terkait

Diduga penggunaan lanjaran jaring yang dipasang menyerupai pagar dan penggunaan mulsa plastik hitam perak mempengaruhi pertumbuhan tunas apikal tanaman mentimun hal

Penelitian ini bertujuan untuk mendeskripsikan persepsi wisatawan tentang promosi dan fasilitas objek wisata Museum Adityawarman di Kota Padang yang

1) PKWT yang tidak dibuat dalam Bahasa Indonesia dan huruf latin berubah menjadi PKWTT sejak adanya hubungan kerja. 3) Dalam hal PKWT dilakukan untuk pekerjaan yang

Berdasarkaan pengertian di atas, penulis menarik kesimpulan bahwa kinerja merupakan kualitas dan kuantitas dari suatu hasil kerja (output) individu maupun kelompok dalam

Berdasarkan hasil penelitian dan pembahasan mengenai analisis faktor-faktor yang mempengaruhi pangsa pengeluaran pangan rumah tangga petani di Kecamatan Suruh

store atmosphere 7-eleven dinilai lebih baik dibandingkan dengan pesaingnya. 2) Hasil analisis regresi membuktikan bahwa store atmosphere berpengaruh positif dan signifikan

Tetapi adalah menjadi harapan dalam kajian ini untuk memperolehi koleksi rumput Bermuda yang mempunyainilai nutritif yang lebih baik dan koleksi tersebut boleh dipupuk untuk

dapat disimpulkan bahwa tingkat pendidikan orang tua dan fasilitas belajar berpengaruh terhadap prestasi belajar siswa dengan konstribusi sebesar 85,5% dan sisanya 14,5%