• Tidak ada hasil yang ditemukan

Perancangan Propeller Clock Digital Berbasis Mikrokontroler

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Propeller Clock Digital Berbasis Mikrokontroler"

Copied!
70
0
0

Teks penuh

(1)

TUGAS AKHIR

PERANCANGAN

PROPELLER CLOCK

DIGITAL

BERBASIS MIKROKONTROLER

Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana (S-1) pada Departemen Teknik Elektro

Oleh:

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

LEMBAR PENGESAHAN TUGAS AKHIR

PERANCANGAN PROPELLER CLOCK DIGITAL BERBASIS MIKROKONTROLER

Oleh:

1. Ketua Penguji : Ir. Kasmir Tanjung, M.T. ……….. ROBIN

080402011

Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk mememperoleh gelar Sarjana Teknik pada

DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN

Sidang pada tanggal 22 bulan April tahun 2015 di depan Penguji:

2. Anggota Penguji : Rahmad Fauzi, S.T., M.T. ……….. Disetujui oleh:

Pembimbing,

Ir. T. Ahri Bahriun, M.Sc NIP : 194905241985031001

Diketahui oleh:

Ketua Departemen Teknik Elektro FT USU,

(3)

i

ABSTRAK

Seiring perkembangan zaman, banyak cara untuk menampilkan waktu, tidak

terbatas hanya pada jam analog atau jam digital yang sering dijual di pasaran. Salah

satu contohnya adalah propeller clock, dimana prinsip dari jam ini adalah dengan

memutar sebaris LED yang dipasang berderet di atas sebuah papan PCB dengan

kecepatan tinggi sehingga menghasilkan suatu efek persistence of vision dimana mata

kita seolah-olah melihat gambaran dari suatu jam.

(4)

KATA PENGANTAR

Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas rahmat

dan karunia yang dilimpahkan-Nya sehingga penulis dapat menyelesaikan tugas akhir

ini.

Terima kasih kepada kedua orang tua dan dan sanak saudara lainnya yang

telah membesarkan, mendidik, dan memberikan dorongan baik moril maupun materiil

sehingga penulis mempu menyelesaikan tugas akhir ini.

Selama masa perkuliahan sampai selesainya tugas akhir ini, banyak pihak

yang telah membantu penulis dalam berbagai hal. Oleh karena itu dengan setulus hati

penulis menyampaikan ungkapan terima kasih yang sebesar-besarnya kepada:

1. Bapak Ir. T. Ahri Bahriun, M.Sc selaku dosen pembimbing atas segala

bimbingan, ilmu, motivasi, dan nasihat selama mengerjakan tugas akhir

ini.

2. Bapak Ir. Surya Tarmizi Kasim, M.Si selaku Ketua Departemen Teknik

Elektro FT-USU dan Bapak Rahmat Fauzi, S.T, M.T selaku Sekretaris

Departemen Teknik Elektro FT-USU.

3. Seluruh staf pengajar Departemen Teknik Elektro FT-USU yang telah

memberikan ilmu kepada penulis semasa kuliah dan juga seluruh

karyawan di Departemen Teknik Elektro FT-USU.

4. Teman-teman dekat semasa kuliah, Budiman Chandra, Denny, Yuyanto,

(5)

iii

5. Dwi Budi Prasetyo yang telah banyak membantu penulis dalam

menyelesaikan tugas akhir ini.

6. Teman-teman UKM Robotik Sikonek USU yang telah berbaik hati

meminjamkan ruangan dan peralatannya selama penulis menyelesaikan

tugas akhir ini.

7. Teman-teman anggota laboratorium sistem pengaturan dan komputer,

Teguh, Reza, Arif, dan yang lainnya.

8. Rekan-rekan mahasiswa di departemen teknik elektro yang menjadi teman

belajar selama masa perkuliahan.

9. Berbagai pihak-pihak lainnya yang tidak dapat penulis sebutkan

satu-persatu.

Akhir kata, tugas akhir ini masih jauh dari sempurna karena masih banyak

terdapat kesalahan dan kekurangan. Saran dan kritik dari pembaca sangat penulis

harapkan agar dapat lebih baik ke depannya.

Medan, April 2015

(6)

DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR... ii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... ix

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 1

1.3 Tujuan Penulisan ... 1

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 2

1.6 Sistematika Penulisan ... 3

BAB II DASAR TEORI ... 5

2.1 Persistence of Vision ... 5

2.2 Mikrokontroler ... 5

2.2.1 Mikrokontroler AVR ATMega8 ... 6

2.2.2 Konfigurasi Pena ATMega8 ... 10

2.2.3 Arsitektur Mikrokontroler ATMega8 ... 11

2.2.4 Peta Memori ATMega8 ... 12

2.2.4.1 Memori Program ... 13

2.2.4.2 Memori Data (SRAM) ... 13

2.2.4.3 Memori Data EEPROM ... 14

2.2.5 Serial Peripheral Interface (SPI) ... 15

2.2.6 Interupsi ... 15

(7)

v

2.4 LED Infrared... 17

2.5 Dioda Foto ... 18

2.6 Motor DC ... 18

2.7 CodeVision AVR ... 20

BAB III PERANCANGAN SISTEM ... 22

3.1 Spesifikasi Sistem ... 22

3.2 Perancangan Perangkat Keras ... 23

3.2.1 Mikrokontroler ATMega8 ... 24

3.2.2 RTC (Real Time Clock) DS 1307... 26

3.2.3 Push Button dan LED ... 27

3.2.4 Sensor Optik ... 29

3.2.5 Rangkaian Regulator Tegangan ... 30

3.2.6 Rangkaian Switching untuk ISP ( In System Programming) ... 34

3.3 Perancangan Perangkat Lunak ... 35

3.3.1 Sistem Perangkat Lunak secara Umum ... 36

3.3.2 Membaca Masukan dari Push Button ... 38

3.3.3 Konversi Karakter ke Tampilan LED ... 38

3.3.4 Interupsi Eksternal ... 39

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 40

4.1 Implementasi ... 40

4.2 Pengujian... 41

4.2.1 Pengujian Catudaya Sistem ... 41

4.2.2 Pengujian Konsumsi Arus ... 42

4.2.3 Pengujian Sistem Minimum ... 43

4.2.4 Pengujian Sensor Optik ... 45

4.2.5 Pengujian Penampilan Karakter ... 46

4.2.6 Pengujian Sistem secara Keseluruhan ... 47

4.2.7 Pengujian Pengaruh Perubahan Tegangan Penggerak Motor terhadap Tampilan Karakter ... 48

(8)

5.1 Kesimpulan ... 50

5.2 Saran ... 50

DAFTAR PUSTAKA ... 52

LAMPIRAN A ... 53

(9)

vii

DAFTAR GAMBAR

Gambar 2.1 Diagram Blok Mikrokontroler AVR ATMega8... 9

Gambar 2.2 Konfigurasi Pena ATMega8...10

Gambar 2.3 Arsitektur Mikrokontroler ATMega8………. 12

Gambar 2.4 Peta Memori Program ATMega8………... 13

Gambar 2.5 Peta Memori data ATMega8……….. 14

Gambar 2.6 Susunan Pena RTC DS1307………... 16

Gambar 2.7 Simbol LED Inframerah………. 17

Gambar 2.8 Simbol Dioda Foto……….. 18

Gambar 2.9 Motor D.C Sederhana………. 19

Gambar 3.1 Blok Diagram Keseluruhan Sistem………. 23

Gambar 3.2 Hubungan RTC DS 1307 dengan Mikrokontroler……….. 27

Gambar 3.3 Hubungan Push Button dan LED dengan Mikrokontroler………. 28

Gambar 3.4 Rangkaian Sensor Optik………. 29

Gambar 3.5 Rangkaian Regulator Tegangan LM 7805……….. 34

Gambar 3.6 Rangkaian Switching……… 35

Gambar 3.7 Diagram Alir dari Perangkat Lunak……… 37

Gambar 4.1 Hasil Pengujian Catudaya Sistem……… 42

Gambar 4.2 Hasil Pengujian Konsumsi Arus………..43

Gambar 4.3 Hasil Pengujian Sistem Minimum……….. 44

Gambar 4.4 Hasil Pengujian Sensor Optik………. 45

(10)

Gambar 4.6 Hasil Pengujian Sistem secara Keseluruhan………... 47

Gambar 4.7 Hasil Pengujian Pengaruh Perubahan Tegangan Penggerak Motor

(11)

ix

DAFTAR TABEL

(12)

ABSTRAK

Seiring perkembangan zaman, banyak cara untuk menampilkan waktu, tidak

terbatas hanya pada jam analog atau jam digital yang sering dijual di pasaran. Salah

satu contohnya adalah propeller clock, dimana prinsip dari jam ini adalah dengan

memutar sebaris LED yang dipasang berderet di atas sebuah papan PCB dengan

kecepatan tinggi sehingga menghasilkan suatu efek persistence of vision dimana mata

kita seolah-olah melihat gambaran dari suatu jam.

(13)

1 BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Berbagai jenis jam telah dijual di pasaran dengan berbagai bentuk, ukuran,

dan cara penampilannya, tetapi masih sangat jarang ditemui jam yang menampilkan

waktu dengan menerapkan prinsip persistence of vision dimana waktu ditampilkan

dengan memutar sebaris LED dengan kecepatan yang cukup tinggi sehingga mata

manusia tidak dapat mengikutinya dan seolah-olah melihat tampilan karakter yang

melayang di udara.

1.2 Rumusan Masalah

Dari latar belakang masalah diatas, timbul permasalahan bagaimana cara

untuk menerapkan prinsip tersebut ke dalam sistem sehingga sistem yang dirancang

dapat menampilkan waktu dengan baik. Oleh karena itu, dalam tugas akhir ini penulis

akan merancang suatu sistem yang menggunakan prinsip tersebut untuk menampilkan

waktu.

1.3 Tujuan Penulisan

Tugas akhir ini bertujuan untuk merancang suatu alat yang dapat

menampilkan waktu secara digital hanya dengan menggunakan sebaris LED yang

(14)

1.4 Batasan Masalah

Agar pembahasan dalam Tugas Akhir ini tidak terlalu luas dan menyimpang,

maka perlu diberikan batasan-batasan sebagai berikut :

1. Tidak membahas mengenai motor yang digunakan dan spesifikasinya.

2. Hanya menampilkan waktu secara digital.

3. Pengaturan waktu hanya dapat dilakukan ketika rangkaian dalam keadaan

diam.

4. Tidak membahas mengenai sensor optik secara mendalam.

5. Tundaan waktu yang digunakan didapat dengan metode trial and error.

6. Sistem yang dirancang tidak dimaksudkan untuk digunakan dalam waktu

yang lama.

1.5 Metodologi Penelitian

Adapun metodologi yang digunakan secara garis besar dapat dibagi menjadi

empat tahap, yaitu :

1. Pemilihan komponen, yaitu memilih jenis motor, mikrokontroler, dan

komponen-komponen elektronik lainnya yang sesuai dengan kebutuhan.

2. Perancangan perangkat keras, yaitu membangun rangkaian seefisien dan

seefektif mungkin dan menghasilkan rangkaian yang dapat bekerja sesuai

keinginan.

3. Perancangan perangkat lunak, yaitu penulisan kode program yang akan

ditanamkan ke dalam mikrokontroler sehingga rangkaian dapat bekerja sesuai

(15)

3

4. Pengujian dan perbaikan, yaitu menguji rangkaian yang telah dibuat dan

memperbaikinya jika terdapat kesalahan.

1.6 Sistematika Penulisan

Tugas akhir ini ditulis dengan sistematika penulisan sebagai berikut :

BAB I : PENDAHULUAN

Bab ini membahas secara umum tentang latar belakang penulisan,

rumusan masalah, tujuan penulisan, batasan masalah, metodologi

penulisan, dan sistematika penulisan dari tugas akhir.

BAB II : DASAR TEORI

Bab ini membahas secara umum tentang teori-teori dasar mengenai

persistence of vision, propeller clock, mikrokontroler, dan

komponen-komponen yang digunakan dalam rangkaian.

BAB III : PERANCANGAN SISTEM

Bab ini membahas tentang perancangan perangkat keras yaitu dengan

membuat rangkaian di atas papan PCB dan perancangan perangkat

lunak yaitu dengan membuat kode program dari sistem yang dirancang

dalam tugas akhir ini.

BAB IV : IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas tentang implementasi dan pengujian dari sistem

(16)

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari hasil pengujian dan saran untuk

(17)

5 BAB II DASAR TEORI

2.1 Persistence of Vision

Persistence of Vision adalah kemampuan mata untuk tetap melihat gambaran

dari suatu objek untuk sepersekian detik setelah objek menghilang dari pandangan.

Gambaran dari suatu objek tetap tertinggal di retina meskipun kita telah selesai

melihatnya. Mata dan otak kita sebenarnya mempertahankan kesan visual untuk

sekitar 1/30 detik.

Prinsip dari persistence of vision digunakan dalam membuat gambar bergerak

dan animasi. Film dibuat dari sejumlah gambar terpisah, ditayangkan pada layar

dengan kecepatan 24 gambar per detik. Ketika kita menontoh sebuah film, setiap

gambar masih tertinggal di retina untuk waktu yang cukup lama sehingga bergabung

dengan gambar berikutnya, dan kita akan mendapatkan ilusi berupa gambar bergerak.

Jika kita mengasumsikan bahwa kecepatan penampilan minimum agar mata

kita dapat melihat efek persistence of vision adalah sebanyak 16 tampilan setiap detik,

maka jika prinsip tersebut diterapkan pada propeller clock, kecepatan minimum

motor yang digunakan agar dapat menghasilkan efek persistence of vision dimana

satu tampilan dihasilkan setiap satu putaran adalah sebesar 16 x 60 = 960 rpm.

2.2 Mikrokontroler

Mikrokontroler adalah suatu chip dengan kepadatan yang sangat tinggi,

(18)

satu keping, biasanya terdiri dari CPU (Central Proccesssing Unit), RAM (Random

Acess Memory), EEPROM/ EPROM/ PROM/ ROM, EEPROM/ EPROM/ PROM/

ROM, I/O, Timer dan lain sebagainya. Rata-rata mikrokontroler memiliki instruksi

manipulasi bit, akses ke I/O secara langsung dan mudah, dan proses interupsi yang

cepat dan efisien.

Mikrokontroler sekarang ini sudah banyak dapat kita temui dalam berbagai

peralatan elektronik, misalnya peralatan yang terdapat di rumah, seperti telepon

digital, microwave oven, televisi, dan masih banyak lagi. Mikrokontroler juga dapat

kita gunakan untuk berbagai aplikasi misalnya untuk pengendalian suatu alat, otomasi

dalam industri dan lain – lain. Keuntungan menggunakan mikrokontroler adalah

harganya murah, dapat diprogram berulang kali, dan dapat diprogram sesuai dengan

keinginan kita.

2.2.1 Mikrokontroler AVR ATMega8

Mikrokontroler AVR adalah mikrokontroler RISC 8 bit berdasarkan aristektur

Harvard, yang dibuat oleh Atmel pada tahun 1996. AVR memiliki keunggulan

dibandingkan dengan mikrokontroler lain, keunggulan AVR yaitu AVR memiliki

kecepatan eksekusi program yang lebih cepat, karena sebagian besar instruksi

dieksekusi dalam 1 siklus clock, lebih cepat dibandingkan MCS51 yang

membutuhkan 12 siklus clock untuk mengeksekusi 1 instruksi. Mikrokontroler

ATMega8 memiliki fitur yang cukup lengkap. Selain itu, mikrokontroler ATMega8

juga beredar di pasaran sehingga lebih mudah didapatkan.

(19)

7

1. Performa tinggi dengan konsumsi daya yang rendah.

2. Arsitektur RISC yang meliputi:

a. 130 kode instruksi yang hampir semuanya hanya membutuhkan

satu clock untuk dieksekusi.

b. 32 x 8 buah register kerja kegunaan umum

c. Pengoperasian full statik.

d. Kecepatan mengeksekusi sampai dengan 16 mega instruksi per

detik pada kecepatan clock 16 MHz.

e. Terdapat rangkaian pengali dua siklus di dalam chip.

3. Memori non-volatile dengan daya tahan yang tinggi.

a. Memori flash sebesar 8 Kbyte.

b. EEPROM 512 Byte.

c. SRAM internal 1 Kbyte.

d. Dapat dihapus-tulis sebanyak 10.000 kali untuk memori flash dan

100.000 kali untuk EEPROM.

e. Dapat menyimpan data selama 20 tahun pada suhu 85˚C atau 100

tahun pada suhu 25˚C.

f. Penguncian program untuk keamanan perangkat lunak.

4. Fitur-fitur periferal:

a. 2 buah timer/counter 8 bit.

b. 1 buah timer/counter 16 bit.

c. Real Time Counter dengan osilator tersendiri.

(20)

e. 6 buah kanal ADC dengan akurasi 10 bit.

f. TWI.

g. USART.

h. SPI.

i. Watchdog timer yang dapat diprogram.

j. Komparator analog.

5. Fitur-fitur khusus mikrokontroler:

a. Power-on reset dan brown-out detection.

b. Osilator RC internal yang terkalibrasi.

c. Sumber interupsi eksternal dan internal.

d. 5 buah modus sleep.

6. 23 jalur I/O yang dapat diprogram.

7. Tegangan pengoperasian yaitu antara 4,5 – 5,5 Volt.

8. Kecepatan antara 0 – 16 MHz.

Adapun diagram blok dari mikrokontroler ATMega8 dapat dilihat pada

(21)

9

(22)

2.2.2 Konfigurasi Pena ATMega8

Konfigurasi Pena ATMega8 untuk kemasan PDIP (Plastic Dual In-line

Package) 28 pena dapat dilihat pada Gambar 2.2.

Gambar 2.2 Konfigurasi Pena ATMega8

Adapun fungsi dari masing-masing pena ATMega8 adalah sebagai berikut:

1. VCC merupakan pena yang berfungsi sebagai masukan catu daya.

2. GND merupakan pena Ground

3. Port B (PB7..0) merupakan pena input/output dua arah dengan resistor pull-up

internal dan pena dengan fungsi khusus seperti

XTAL1/XTAL2/TOSC1/TOSC2.

4. Port C (PC6..0) merupakan pena input/output dua arah dengan resistor pull-up

internal.

5. Port D (PD7..0) merupakan pena input/output dua arah dengan resistor pull-up

(23)

11

6. RESET merupakan pena yang digunakan untuk me-reset mikrokontroler.

7. AVCC merupakan pena masukan tegangan untuk ADC.

8. AREF merupakan pena masukan tegangan referensi ADC.

2.2.3 Arsitektur Mikrokontroler ATMega8

ATMega8 menggunakan arsitektur Harvard dengan memisahkan antara

memori dan bus untuk program dan data untuk memaksimalkan kemampuan dan

kecepatan. Instruksi dalam memori program dieksekusi dengan pipelining single level

dimana ketika satu instruksi dieksekusi, instruksi berikutnya diambil dari memori

program. Konsep ini mengakibatkan instruksi dieksekusi setiap siklus clock. CPU

terdiri dari 32x8 bit general purpose register yang dapat diakses dengan cepat dalam

satu siklus clock, yang mengakibatkan operasi Arithmetic Logic Unit (ALU) dapat

dilakukan dalam satu siklus. Pada operasi ALU, dua operand berasal dari register,

kemudian operasi dieksekusi dan hasilnya disimpan kembali pada register dalam satu

siklus clock. Operasi aritmetik dan logika pada ALU akan mengubah bit-bit yang

terdapat pada Status Register (SREG). Arsitektur Mikrokontroler ATMega8 dapat

(24)

Gambar 2.3 Arsitektur Mikrokontroler ATMega8

2.2.4 Peta Memori ATMega8

ATMega8 memiliki dua memori utama, yaitu memori program dan memori

data. Memori program terletak pada In-System Reprogrammable Flash Program

Memory sedangkan memori data terbagi dua, yaitu memori data SRAM dan memori

(25)

13

2.2.4.1 Memori Program

ATMega8 memiliki 8Kbyte On-chip In-System Reprogrammable Flash

Memory untuk menyimpan program. Instruksi ATMega8 semuanya memiliki format

16 atau 32 bit, maka memori flash diatur dalam 8K x 16 bit. Memori flash dibagi

kedalam dua bagian, yaitu bagian program boot dan aplikasi seperti terlihat pada

Gambar 2.4. Bootloader adalah program kecil yang bekerja pada saat sistem dimulai

yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor.

Gambar 2.4 Peta Memori Program ATMega8

2.2.4.2 Memori Data (SRAM)

Memori data AVR ATMega8 terbagi menjadi 3 bagian, yaitu 32 register

(26)

menempati alamat data terbawah, yaitu $00 sampai $1F. Sedangkan memori I/O

menempati 64 alamat berikutnya mulai dari $20 hingga $5F. Memori I/O merupakan

register yang khusus digunakan untuk mengatur fungsi terhadap berbagai fitur

mikrokontroler seperti kontrol register, timer/counter, fungsi-fungsi I/O, dan

sebagainya. 1024 alamat berikutnya mulai dari $60 hingga $45F digunakan untuk

SRAM internal. Peta dari memori data ATMega8 dapat dilihat pada Gambar 2.5.

Gambar 2.5 Peta Memori data ATMega8

2.2.4.3 Memori Data EEPROM

ATMega8 terdiri dari 512 byte memori data EEPROM 8 bit, data dapat

(27)

15

pada memori EEPROM masih tersimpan pada memori ini, atau dengan kata lain

memori EEPROM bersifat non-volatile. Alamat EEPROM mulai dari $000 sampai

$511

2.2.5 Serial Peripheral Interface (SPI)

SPI pada ATMega8 digunakan untuk komunikasi serial dua arah antara

pengirim dan penerima. Dalam SPI, pengirim dan penerima memiliki sumber

penabuh yang sama. Hal ini membutuhkan jalur penabuh tambahan antara pengirim

dan penerima tetapi memungkinkan tingkat transmisi data yang lebih tinggi. SPI

dapat dilihat sebagai sebuah register geser 16-bit sinkron dengan setengah 8-bit

berada di bagian pengirim dan setengah 8-bit lainnya berada di bagian penerima.

Pengirim dianggap sebagai master karena memberikan sumber penabuh sinkronisasi

antara pengirim dengan penerima sementara penerima ditunjuk sebagai slave.

2.2.6 Interupsi

Eksekusi program yang normal adalah mengikuti urutan instruksi dari

program. Namun ada kalanya eksekusi tersebut terputus untuk menanggapi interupsi

yang memiliki prioritas lebih tinggi yang berasal dari dalam maupun dari luar

mikrokontroler. Ketika interupsi terjadi, mikrokontroler sementara harus

menghentikan operasi normal dan melakukan tindakan-tindakan khusus yang disebut

rutin layanan interupsi. Setelah interupsi selesai dilakukan maka mikrokontroler akan

kembali mengeksekusi program normal yang terputus. ATMega8 dilengkapi dengan

19 buah sumber interupsi dimana tiga diantaranya merupakan sumber interupsi

(28)

2.3 RTC (Real Time Clock) DS1307

RTC (Real Time Clock) DS1307 adalah IC yang dibuat oleh perusahaan

Dallas Semiconductor. DS1307 merupakan suatu IC yang dapat digunakan untuk

menyimpan informasi waktu yang meliputi detik, menit, jam, hari, tanggal, bulan,

dan tahun. Pengaksesan data dilakukan dengan sistem serial sehingga hanya

membutuhkan dua jalur untuk berkomunikasi yaitu jalur clock untuk membawa

informasi data penabuh dan jalur data yang membawa data. Susunan kaki-kaki dari

DS1307 dapat dilihat pada Gambar 2.6.

Gambar 2.6 Susunan Pena RTC DS1307

Fungsi dari masing-masing pena DS1307 adalah sebagai berikut:

1. X1 dan X2 adalah pena yang dihubungkan dengan Kristal 32,768 KHz.

2. VBAT adalah pena yang dihubungkan dengan tegangan baterai +3V.

3. GND adalah pena yang dihubungkan dengan ground.

4. SDA adalah pena yang difungsikan sebagai jalur data.

5. SCL adalah pena yang difungsikan sebagai jalur clock.

6. SQW/OUT adalah pena yang digunakan sebagai keluaran sinyal kotak.

(29)

17

Untuk berkomunikasi dengan mikrokontroler ATMega8, RTC DS1307

menggunakan jenis komunikasi I2C.

2.4 LED Infrared

LED Infrared (LED inframerah) adalah suatu jenis dioda yang terbuat dari

bahan Gallium (Ga), Arsen (As), dan fosfor (P) yang apabila diberi tegangan maju

maka arus majunya akan membangkitkan cahaya pada pertemuan PN-nya. Tegangan

maju antara anoda-katoda berkisar antara 1,5 V – 2 V, sedangkan arus majunya

berkisar antara 5 mA – 20 mA. Cahaya yang dibangkitkan oleh LED Inframerah

adalah infra merah yang tidak dapat dilihat oleh mata. Led inframerah memancarkan

cahaya pada spektrum inframerah dengan panjang gelombang λ=940 nm. Spektrum

cahaya inframerah ini mempunyai level panas yang paling tinggi diantara sinar-sinar

yang lain walaupun tidak tampak oleh mata dan mempunyai efek fotolistrik yang

terkuat . Energi yang dihasilkan oleh LED inframerah tidak seluruhnya diubah

menjadi bentuk energi cahaya atau foton melainkan dalam bentuk panas sebagian.

Simbol dari LED inframerah dapat dilihat pada Gambar 2.7.

(30)

2.5 Dioda Foto

Dioda foto adalah jenis

dengan diode biasa, kompone

listrik. Cahaya yang dapat dideteksi oleh diode foto ini mulai dari cahaya

serta beberapa peralatan di bidang medis. Simbol dari dioda foto dapat dilihat pada

Gambar 2.8.

Gambar 2.8 Simbol Dioda Foto

2.6 Motor DC

Motor listrik merupakan perangkat elektromagnetis yang mengubah energi

listrik menjadi energi mekanik. Energi mekanik ini digunakan untuk, misalnya

memutar impeller pompa, fan atau blower, menggerakan kompresor, mengangkat

bahan,dll. Motor listrik digunakan juga di rumah (mixer, bor listrik, fan angin) dan di

industri. Motor listrik kadangkala disebut “kuda kerja” nya industri sebab

diperkirakan bahwa motor-motor menggunakan sekitar 70% beban listrik total di

industri.

Motor DC memerlukan suplai tegangan yang searah pada kumparan medan

(31)

19

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

berputar). Jika terjadi putaran pada kumparan jangkar dalam pada medan magnet,

maka akan timbul tegangan (GGL) yang berubah-ubah arah pada setiap setengah

putaran, sehingga merupakan tegangan bolak-balik. Prinsip kerja dari arus searah

adalah membalik phasa tegangan dari gelombang yang mempunyai nilai positif

dengan menggunakan komutator, dengan demikian arus yang berbalik arah dengan

kumparan jangkar yang berputar dalam medan magnet. Bentuk motor paling

sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di antara

kutub-kutub magnet permanen.

Catu tegangan dc dari baterai menuju ke lilitan melalui sikat yang menyentuh

komutator, dua segmen yang terhubung dengan dua ujung lilitan. Kumparan satu

lilitan pada gambar di atas disebut angker dinamo. Angker dinamo adalah sebutan

untuk komponen yang berputar di antara medan magnet. Secara sederhana, motor DC

dapat digambarkan seperti pada Gambar 2.9.

(32)

2.7 CodeVision AVR

CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman

mikrokontroler keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang

telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan program

generator.

Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangnya,

Compiler C yang digunakan hampir mengimplementasikan semua komponen standar

yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis

operator, dan library fungsi standar berikut penamaannya). Tetapi walaupun

demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk

mikrokontroler ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur

AVR tempat program C tersebut ditanamkan (embedded).

Khusus untuk library fungsi, disamping library standar (seperti fungsi-fungsi

matematik, manipulasi string, pengaksesan memori dan sebagainya),

CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat bermanfaat

dalam pemrograman antarmuka AVR dengan perangkat luar yang umum digunakan

dalam aplikasi kontrol. Beberapa fungsi library yang penting diantaranya adalah

fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC RTC (Real time Clock),

sensor suhu, SPI (Serial Peripheral Interface) dan lain sebagainya.

Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga

(33)

21

dijumpai pada setiap perangkat lunak berbasis Windows, CodeVisionAVR ini telah

mengintegrasikan perangkat lunak downloader yang bersifat In System Programmer

yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi ke dalam

sistem memori mikrokontroler AVR yang sedang diprogram.

Selain itu, CodeVisionAVR juga menyediakan sebuah fitur yang dinamakan

dengan Code Generator atau CodeWizardAVR. Secara praktis, fitur ini sangat

bermanfaat membentuk sebuah kerangka program (template), dan juga memberi

kemudahan bagi programmer dalam peng-inisialisasian register-register yang

terdapat pada mikrokontroler AVR yang sedang diprogram. Dinamakan Code

Generator, karena perangkat lunak CodeVision ini akan membangkitkan kode-kode

program secara otomatis setelah fase inisialisasi pada jendela CodeWizardAVR

selesai dilakukan. Secara teknis, penggunaan fitur ini pada dasarnya hampir sama

dengan application wizard pada bahasa-bahasa pemrograman visual untuk komputer

(34)

22 BAB III

PERANCANGAN SISTEM

3.1 Spesifikasi Sistem

Sistem ini dirancang dengan menggunakan sebuah mikrokontroler untuk

mengendalikan sistem. Sistem yang dirancang menggunakan LED yang disusun

secara berurutan dan diputar dengan menggunakan sebuah motor DC untuk

menampilkan tampilan waktu dengan menerapkan prinsip persistence of vision.

Sistem ini memiliki sebuah switch yang digunakan untuk menyalakan sistem, 3 buah

push button yang digunakan untuk mengatur waktu, sebuah RTC (Real Time Clock)

untuk menyediakan informasi waktu, sebuah regulator tegangan, sebuah sensor optik

dengan menggunakan LED dan dioda foto untuk sinkronisasi, sebuah konektor untuk

pemrograman secara ISP (In system Programming), dan LED untuk menampilkan

waktu secara digital.

LED yang digunakan sebanyak 10 buah LED yang terdiri dari 2 buah LED

pada kedua bagian tepi yang selalu selalu berada dalam keadaan menyala sebagai

bingkai dan 8 buah LED yang penyalaannya diatur oleh mikrokontroler. Waktu

ditampilkan dalam format 6 digit yang terdiri 2 digit jam, 2 digit menit dan 2 digit

detik dengan menggunakan tanda titik dua sebagai pemisah. Format waktu yang

digunakan adalah 24 jam.

Tiga buah push button digunakan untuk mengendalikan waktu. Satu buah

(35)

23

setiap penekanan, satu buah push button yang digunakan untuk menambah cacah

digit menit sebanyak satu untuk setiap penekanan, dan satu buah push button yang

digunakan untuk membuat nol digit detik ketika ditekan. Secara umum, diagram blok

dari keseluruhan sistem dapat dilihat pada Gambar 3.1.

Gambar 3.1 Blok Diagram Keseluruhan Sistem

3.2 Perancangan Perangkat Keras

Perancangan perangkat keras meliputi pemilihan komponen yang digunakan

sesuai dengan yang dibutuhkan, perakitan sistem, dan peletakan komponen agar

sistem dapat berada dalam keadaan yang seimbang dan dapat berputar dengan baik.

Dalam perancangan perangkat keras ada beberapa hal yang harus diperhatikan

antara lain:

1. Keseimbangan sistem dimana sistem yang dirancang harus dibuat seseimbang

mungkin untuk mengurangi getaran yang timbul ketika sistem berputar. Agar

Mikrokontroler

ATMega8 RTC

DS1307

3 buah

push button

Sensor optik

(36)

sistem dapat seimbang, peletakan komponen-komponen yang digunakan harus

diatur agar kedua sisi memiliki berat yang sama.

2. Kecepatan putaran motor dimana sudut yang ditempuh oleh LED ketika

menyala dipengaruhi oleh kecepatan putaran motor. Semakin cepat putaran

motor maka besar sudut yang dilalui oleh LED juga akan semakin besar

sehingga tampilan yang dihasilkan akan semakin melebar. Kecepatan putaran

motor dipengaruhi oleh beberapa faktor antara lain jenis dari motor itu sendiri

dan juga tegangan yang diberikan. Pada sistem ini, kecepatan putaran dari

motor yang digunakan harus lebih besar dari 960 rpm agar dapat memberikan

efek persistence of vision.

3. Jarak antara sensor optik dengan permukaan pantulan dimana semakin jauh

jarak antara LED inframerah dengan permukaan pantulan maka cahaya yang

dihasilkan oleh LED inframerah menjadi lebih menyebar dan perbedaan

intensitas cahaya yang dipantulkan oleh permukaan pantulan dan diterima

oleh dioda foto menjadi kecil. Oleh karena itu jarak antara sensor optik

dengan permukaan pantulan diusahakan sekecil mungkin sehingga terdapat

perbedaan yang jelas antara intensitas cahaya yang diterima oleh dioda foto

ketika sensor optik melewati permukaan putih dengan intensitas cahaya yang

diterima oleh dioda foto ketika sensor optik melewati permukaan hitam.

3.2.1 Mikrokontroler ATMega8

Sistem yang dirancang menggunakan mikrokontroler jenis ATMega8.

(37)

25

disediakan, kapasitas memori, dan ukuran kemasan. Adapun jumlah saluran I/O yang

digunakan dalam sistem ini adalah sebanyak 11 buah ( 3 buah masukan dari push

button dan 8 buah keluaran ke LED ). Mikrokontroler ATMega8 juga telah memiliki

osilator internal dan unit interupsi eksternal sehingga fasilitas yang disediakan telah

cukup untuk sistem yang akan dibuat. Sementara dari segi ukuran, mikrokontroler

ATMega 8 memiliki ukuran yang cukup kecil dimana pada sistem yang akan

dirancang diharapkan dapat dibuat seringan mungkin sehingga memperkecil beban

pada motor DC. Selain itu, mikrokontroler ATMega8 juga mudah diperoleh dan

cukup murah. Atas pertimbangan diatas maka diputuskan menggunakan

mikrokontroler jenis ATMega8.

Sistem yang dirancang menggunakan osilator internal. Karena sistem yang

dirancang ditujukan untuk bekerja dari sejak sistem dinyalakan hingga sistem

dimatikan maka tidak diperlukan fungsi reset sehingga pena reset disambungkan

langsung dengan Vcc.

Adapun bandar-bandar I/O yang digunakan dalam sistem dapat dilihat pada

(38)

Tabel 3.1 Daftar PORT/Bandar yang Digunakan

Port/Bandar Bit Fungsi

B 3-5

MOSI, MISO, dan SCK pada ISP (In System

Programming)

B 0-7 Keluaran ke 8 buah LED

C 4 Pena SDA dari RTC DS1307

C 5 Pena SCL dari RTC DS1307

D 2 Masukan untuk interupsi dari sensor optik

D 5-7 Masukan dari push button

3.2.2 RTC (Real Time Clock) DS 1307

Untuk menyediakan dan menyimpan informasi waktu dari sistem yang

dirancang maka diperlukan sebuah RTC (Real Time Clock). Pada tugas akhir ini

dipilih RTC jenis DS 1307 karena cukup mudah diperoleh dan dirasa paling cocok

untuk digunakan dalam sistem yang dirancang.

Hubungan RTC DS 1307 dengan mikrokontroler ATMega8 menggunakan

(39)

27

Gambar 3.2 Hubungan RTC DS 1307 dengan Mikrokontroler

Komunikasi I2C antar device menggunakan resistor pull-up yaitu R1 dan R2

pada pena SDA dan SCL dengan nilai resistansi 10K yang mengacu pada datasheet.

Pena SDA pada RTC dihubungkan ke PORTC.4 pada mikrokontroler dan pena SCL

dihubungkan ke PORTC.5. Pena X1 dan X2 dihubungkan dengan kristal quartz

32,768 KHz. VBAT dihubungkan dengan sumber tegangan baterai 3 V.

3.2.3 Push Button dan LED

Sistem yang dirancang menggunakan 3 buah push button dan 10 buah LED

dimana 2 buah LED dihubungkan langsung dengan Vcc dengan menggunakan

resistor 220 Ω dan 8 buah LED yang terhubung langsung dengan mikrokontroler

dengan menggunakan metode katoda bersama seperti yang ditunjukkan pada Gambar

(40)

Gambar 3.3 Hubungan Push Button dan LED dengan Mikrokontroler

Seperti yang terlihat pada Gambar 3.3, ketiga push button dihubungkan

dengan PORTD.5-7 dan ground dengan alasan agar ketika push button ditekan maka

tegangan di pena dapat dipastikan berada pada 0 V. Push button tidak dihubungkan

dengan resistor karena mikrokontroler telah memiliki resistor pull-up internal

sehingga dapat menghemat komponen dan rangkaian yang dirancang lebih ringan,

sementara untuk debouncing dapat dilakukan pada program.

LED 1 dan LED 10 dihubungkan dengan resistor 220 Ω untuk membatasi arus

yang melalui kedua LED tersebut. Sementara LED 2 sampai dengan LED 9

dihubungkan langsung dengan PORTB.0-7 pada mikrokontroler karena arus

maksimum yang dapat disediakan oleh mikrokontroler yaitu sebesar 40 mA yang

(41)

29

masih berada dalam batas kerja LED sedangkan pemilihan metode katoda bersama

adalah agar LED dapat dihubungkan tanpa menggunakan resistor dimana jika

menggunakan metode anoda bersama maka diperlukan resistor yang terhubung

dengan setiap LED sehingga rangkaian akan menjadi lebih berat dan boros komponen.

3.2.4 Sensor Optik

Untuk sinkronisasi sistem, maka diperlukan suatu rangkaian sensor optik yang

akan membangkitkan sinyal interupsi setiap kali rangkaian melewati suatu posisi

tertentu. Dalam tugas akhir ini, digunakan LED Inframerah dan dioda foto sebagai

sensor optik. LED inframerah dan dioda foto dipasang berdampingan dimana dioda

foto membaca cahaya pantulan dari LED inframerah. Pada permukaan pantulan akan

dibuat sebuah garis hitam sehingga pada saat rangkaian melewati posisi tersebut

intensitas cahaya yang diterima oleh dioda foto akan berubah dan menghasilkan

sinyal interupsi pada mikrokontroler. Adapun rangkaian sensor optik yang digunakan

dapat dilihat seperti pada Gambar 3.4.

(42)

Seperti terlihat pada gambar, LED inframerah IR LED 1 dan dioda foto

PHOTODIODE 1 akan menghasilkan tegangan pada katoda dari dioda foto yang

nilainya berubah-ubah sesuai dengan warna dari permukaan pantulan. Sebuah trimpot

RV1 digunakan untuk mengatur kepekaan transistor terhadap perubahan warna

sehingga sistem dapat bekerja baik dalam kondisi terang maupun kondisi gelap.

Sebuah transistor NPN Q1 dengan jenis BC 547 digunakan untuk menguatkan arus

yang akan menjadi masukan dari interupsi menuju pena INT0 pada mikrokontroler.

3.2.5 Rangkaian Regulator Tegangan

Sistem dirancang dengan menggunakan catu daya dari baterai dengan

tegangan 9V sementara komponen-komponen yang digunakan bekerja dengan catu

daya 5V. Oleh karena itu dibutuhkan suatu regulator tegangan yang dapat

menghasilkan tegangan keluaran yang stabil sebesar 5V. Untuk menentukan jenis

regulator tegangan yang akan dipilih maka terlebih dahulu kita menghitung jumlah

arus yang harus dapat disuplai oleh regulator tegangan dengan mengasumsikan

kondisi dimana setiap komponen mengkonsumsi arus sampai pada batas maksimum

yang memungkinkan.

Dari datasheet mikrokontroler ATMega 8, diketahui bahwa kebutuhan arus

untuk mikrokontroler adalah maksimum sebesar 300 mA, sementara arus maksimum

yang dapat disediakan untuk keluaran setiap pena yaitu sebesar 40 mA. Pada kondisi

dimana semua LED yang terhubung dengan mikrokontroler yaitu LED 2 sampai LED

(43)

31

sebesar 8 x 40 mA = 320 mA. Sementara RTC DS1307 telah memiliki catudaya

tersendiri sehingga tidak mengkonsumsi arus.

Untuk kebutuhan arus dari kedua buah LED yang terhubung dengan Vcc yaitu

LED 1 dan LED 10 dengan tegangan jatuh pada LED sebesar 2 V berdasarkan

pengukuran dengan voltmeter maka arus yang mengalir pada LED 1 adalah:

ILED 1 =

Vcc−VLED 1

R7

ILED 1 = 5−2 220

ILED 1 = 3 220

ILED 1≈ 0,0136 A ≈ 14 mA

Karena R7 = R8 maka:

ILED 10 = ILED 1

ILED 10 = 14 mA

Maka arus yang mengalir pada kedua buah LED tersebut adalah sebesar 2 x

14 mA = 28 mA.

Arus maksimum yang mengalir melalui R1 dan R2 yaitu pada saat pena SDA

dan pena SCL berada pada logika rendah yaitu:

IR1 = IR2 = Vcc

(44)

= 5

10K

= 0,5 mA

Sehingga jumlah arus maksimum yang melalui R1 dan R2 yaitu 0,5mA +

0,5mA = 1mA.

Untuk rangkaian sensor optik, arus yang mengalir pada LED inframerah IR

LED 1 adalah sebesar:

IIR LED 1 =

Sementara arus maksimum yang mengalir melalui R5 pada saat transistor Q1

saturasi dengan tegangan jatuh pada dioda foto PHOTODIODE 1 sebesar 1,6 V yang

didapat melalui pengukuran adalah:

(45)

33

IR5= 0,34 mA

Sedangkan arus maksimum yang mengalir pada kolektor transistor Q1 yaitu

ketika transistor berada dalam keadaan saturasi adalah:

IC = Vcc−0

R6

IC = 5−0

1K

IC = 5mA

Maka arus maksimal yang dibutuhkan oleh rangkaian sensor optik adalah

sebesar 14 mA + 0,34 mA + 5 mA = 19,34 mA. Dengan demikian total arus

maksimum yang harus dapat disediakan oleh regulator tegangan adalah:

Kebutuhan untuk mikrokontroler : 300 mA

Kebutuhan untuk output 8 buah LED : 320 mA

Kebutuhan untuk 2 buah LED : 28 mA

Kebutuhan untuk pena SDA dan SCL : 1 mA

Kebutuhan untuk sensor optik : 19,34 mA

Total : 668,34 mA

Berdasarkan perhitungan diatas, maka diperoleh kesimpulan bahwa rangkaian

regulator tegangan harus dapat menyediakan arus minimal 668,34 mA. Oleh karena

itu dipilih regulator tegangan LM 7805 yang dapat meregulasi tegangan menjadi 5 V

dengan tegangan masukan antara 7 V sampai dengan 25 V serta menyediakan arus

(46)

Gambar 3.5 Rangkaian Regulator Tegangan LM 7805

Nilai dari C1 adalah 0,33 uF sedangkan C2 adalah sebesar 0,1 uF yang

mengacu pada datasheet dari LM 7805.

3.2.6 Rangkaian Switching untuk ISP ( In System Programming)

Pada sistem ini, PORTB.3-5 digunakan untuk 2 fungsi yaitu untuk

menyalakan LED 5-7 dan keperluan ISP (In System Programming). Pada saat

pemrograman, hubungan antara mikrokontroler dengan LED harus terputus karena

jika pemrograman dilakukan dengan keadaan LED masih terhubung maka arus yang

mengalir melalui programmer akan terbagi menjadi dua yaitu menuju mikrokontroler

dan menuju LED sehingga dapat menimbulkan masalah. Untuk menghindari masalah

tersebut maka diperlukan sebuah rangkaian switching yang dapat memutuskan

hubungan dengan LED pada saat dilakukan pemrograman. Pada sistem ini digunakan

suatu komponen yang terdiri dari 4 buah switch dimana 3 buah diantaranya

dihubungkan antara PORTB.3-5 dengan LED 5-7 untuk keperluan tersebut sementara

(47)

35

1 buah yang dihubungkan antara PORTB.2 dengan LED 4 tidak digunakan. Adapun

rangkaian switching yang digunakan dapat dilihat pada Gambar 3.6.

Gambar 3.6 Rangkaian Switching

3.3 Perancangan Perangkat Lunak

Pada dasarnya, setiap mikrokontroler memiliki set instruksi. Kumpulan dari

set instruksi ini dapat dirancang untuk melakukan tugas tertentu yang disebut

perangkat lunak / program dari sistem. Tanpa perangkat lunak, sistem yang dirancang

tidak akan dapat bekerja.

Dalam tugas akhir ini, program ditulis dengan menggunakan bahasa

pemrograman C dengan menggunakan CodeVision AVR.

(48)

3.3.1 Sistem Perangkat Lunak secara Umum

Secara sederhana, sistem ini berfungsi untuk menampilkan waktu secara

digital berdasarkan informasi yang diambil dari RTC. Tiga buah push button

digunakan untuk mengatur waktu sementara sensor optik digunakan untuk

membangkitkan sinyal interupsi setiap kali rangkaian melewati posisi yang telah

ditentukan. Sinyal interupsi inilah yang digunakan sebagai acuan untuk menentukan

kapan LED harus dinyalakan. Flowchart dari program yang akan dibuat dapat dilihat

(49)

37

Interupsi dari sensor optik

Tentukan nilai setiap digit

i=0 Ambil data dari

RTC

i<8 ?

Tampilkan data kolom berikutnya

Tunda 250 µs

Apakah masih ada kolom berikutnya ?

RET

Ya

Tidak

Ya

Tidak

Increment i

(50)

3.3.2 Membaca Masukan dari Push Button

Pembacaan masukan dari push button dilakukan dengan metode polling

dimana mikrokontroler akan terus-menerus bertanya apakah ada tombol yang ditekan.

Jika tombol pertama PB1 ditekan maka mikrokontroler akan mengambil data waktu

dari RTC dan kemudian menaikkan cacah pada jam sebanyak satu dan mengirimkan

data yang telah diperbaharui kembali ke RTC. Jika tombol kedua PB2 ditekan maka

mikrokontroler akan mengambil data waktu dari RTC dan kemudian menaikkan

cacah pada menit sebanyak satu dan mengirimkan data yang telah diperbaharui

kembali ke RTC. Jika tombol ketiga PB3 ditekan maka mikrokontroler akan

mengambil data waktu dari RTC dan mengirimkan kembali data dengan membuat

bagian detik menjadi nol.

3.3.3 Konversi Karakter ke Tampilan LED

Untuk menampilkan tampilan waktu dengan menggunakan LED maka

diperlukan program untuk menentukan kapan masing-masing LED harus menyala

agar dapat menampilkan karakter yang diinginkan. Karakter yang akan ditampilkan

berjumlah 11 buah yaitu dari angka 0 sampai dengan 9 dan lambang titik dua Proses

konversi dilakukan dengan membuat suatu tipe data array yang berisi kumpulan nilai

heksadesimal dari setiap karakter yang akan dikirimkan ke PORT B untuk

(51)

39

3.3.4 Interupsi Eksternal

Interupsi eksternal digunakan untuk menentukan kapan LED mulai

dinyalakan. Ketika rangkaian sensor optik melalui posisi yang telah ditentukan, sinyal

interupsi akan memulai proses interupsi menuju ke pena INT 0 pada mikrokontroler.

Setelah mikrokontroler mendapatkan sinyal interupsi, maka mikrokontroler akan

mengambil data waktu dari RTC. Informasi waktu dari RTC akan dipisah menjadi 6

(52)

40 BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Perancangan sistem diimplementasikan pada perangkat keras dan perangkat

lunak. Perangkat keras diimplementasikan pada papan PCB yang terdiri dari beberapa

bagian, yaitu regulator tegangan, mikrokontroler, RTC, sensor optik, push button, dan

LED. Perangkat lunak diimplementasikan dengan menggunakan bahasa C dengan

menggunakan CodeVision AVR sebagai compiler dan programmer ISP untuk

menanamkan program ke dalam mikrokontroler. Hasil integrasi dari perangkat keras

dan perangkat lunak kemudian dilakukan pengujian.

Adapun tahapan-tahapan dalam implementasi adalah sebagai berikut:

1. Membuat rangkaian pada papan PCB.

2. Meng-install aplikasi-aplikasi yang dibutuhkan seperti CodeVision AVR dan

PROGISP. Sistem operasi yang digunakan adalah Windows 7 Ultimate

3. Menulis program dalam bahasa C dengan CodeVision AVR.

4. Meng-compile program yang dibuat sehingga menghasilkan file HEX.

5. Menanam file HEX ke dalam mikrokontroler ATMega 8 dengan

menggunakan programmer dengan aplikasi PROGISP.

(53)

41

4.2 Pengujian

Pengujian dilakukan untuk mengetahui apakah sistem telah bekerja sesuai

dengan yang diharapkan atau tidak. Pengujian dilakukan terdiri dari beberapa tahapan

yaitu pengujian pada setiap bagian untuk mengetahui apakah setiap bagian telah

berfungsi dengan baik dan pengujian sistem secara keseluruhan.

4.2.1 Pengujian Catudaya Sistem

Pengujian catudaya rangkaian bertujuan untuk mengetahui apakah tegangan

yang dihasilkan oleh regulator tegangan LM 7805 telah sesuai dengan tegangan kerja

sistem yaitu 5 V. Pengujian ini cukup penting karena jika tegangan yang dihasilkan

oleh regulator tegangan lebih besar daripada tegangan kerja sistem maka dapat

mengakibatkan kerusakan pada sistem.

Pengujian dilakukan dengan menggunakan multimeter digital. Probe positif

(merah) dari multimeter dihubungkan dengan pena 3 dari regulator 7805 sedangkan

probe negative (hitam) dihubungkan dengan pena 2 dari regulator 7805. Hasil

pengujian ditunjukkan pada Gambar 4.1.

Dari hasil pengujian tersebut tampak bahwa tegangan keluaran yang

dihasilkan oleh regulator tegangan adalah 4,94 V dimana nilai tegangan ini telah

(54)

Gambar 4.1 Hasil Pengujian Catudaya Sistem

4.2.2 Pengujian Konsumsi Arus

Pengujian konsumsi arus bertujuan untuk mengetahui berapa besar arus yang

dikonsumsi oleh sistem dan melihat apakah arus yang dikonsumsi oleh sistem lebih

kecil dari batas maksimum arus yang dapat disuplai oleh regulator tegangan LM7805

yaitu sebesar 1A karena jika arus yang dikonsumsi oleh sistem melebihi 1A maka

regulator tegangan LM7805 dapat menjadi rusak.

Pengujian ini dilakukan dengan menuliskan program untuk menyalakan

ketujuh buah LED yaitu LED 3 sampai dengan LED 9 dan mengukur besarnya

konsumsi arus pada baterai BAT 2. Hasil dari pengujian ini ditunjukkan pada Gambar

(55)

43

Gambar 4.2 Hasil Pengujian Konsumsi Arus

Dari hasil pengujian tersebut dapat dilihat bahwa arus yang dikonsumsi oleh

sistem yaitu sebesar 0,05 A = 50 mA. Nilai ini jauh dibawah batas arus yang dapat

disediakan oleh regulator tegangan LM7805 sehingga tidak ada masalah.

4.2.3 Pengujian Sistem Minimum

Sistem minimum merupakan rangkaian paling sederhana dari sistem

mikrokontroler dengan tujuan agar pemrograman mikrokontroler dapat dilakukan

secara ISP (In System Programming). Pengujian ini bertujuan untuk melihat apakah

mikrokontroler pada sistem yang dirancang dapat diprogram secara ISP atau tidak

(56)

mikrokontroler harus dilakukan dengan melepaskan IC mikrokontroler dari sistem

untuk diprogram dengan programmer khusus. Hal ini dapat mengakibatkan patahnya

pena mikrokontroler yang diakibatkan proses pencabutan dan pemasangan kembali

IC mikrokontroler setiap kali kita ingin memrogram ulang.

Pengujian ini dilakukan dengan menghubungkan programmer ISP dengan

sistem. Perangkat lunak yang digunakan adalah PROGISP. Hasil dari pengujian dapat

dilihat pada Gambar 4.3.

(57)

45

Dari hasil pengujian, didapatkan bahwa programmer dapat menghapus dan

menulis kembali program pada mikrokontroler yang artinya mikrokontroler telah

dapat diprogram secara ISP.

4.2.4 Pengujian Sensor Optik

Pengujian ini bertujuan untuk mengetahui apakah sensor optik dapat bekerja

dengan baik dan menghasilkan interupsi setiap kali sistem melewati posisi tertentu.

Pengujian ini dilakukan dengan membuat program untuk menyalakan semua LED

selama 200 mikrodetik dan mematikannya kembali setiap kali terjadi interupsi. Hasil

dari pengujian ini dapat dilihat pada Gambar 4.4.

Gambar 4.4 Hasil Pengujian Sensor Optik

Dari hasil pengujian tersebut terlihat bahwa sensor optik telah bekerja dengan

(58)

4.2.5 Pengujian Penampilan Karakter

Pengujian ini bertujuan untuk melihat apakah sistem dapat menampilkan

karakter dengan baik atau tidak. Pengujian dilakukan dengan menulis program untuk

menampilkan karakter 12:34:56 secara berurutan kemudian mencari tahu tundaan

waktu antara penyalaan LED sehingga karakter yang dihasilkan dapat dilihat dan

dibaca dengan baik. Hasil pengujian ini dapat dilihat pada Gambar 4.5.

Gambar 4.5 Hasil Pengujian Penampilan Karakter

Dari pengujian yang dilakukan didapat bahwa hasil terbaik yaitu dengan

menggunakan resolusi 7x7 yaitu dengan menggunakan 7 kolom dimana 5 kolom

digunakan untuk menampilkan karakter dan 1 kolom di bagian kiri dan kanan yang

berfungsi untuk mematikan LED dan memberi jarak antara karakter dan

(59)

47

LED 2 tidak digunakan dikarenakan bagian bawah dari karakter yang ditampilkan

menjadi terlalu sempit sehingga karakter menjadi lebih susah dibaca.

4.2.6 Pengujian Sistem secara Keseluruhan

Pengujian sistem secara keseluruhan dilakukan dengan menanamkan program

pada sistem dan melihat apakah seluruh sistem dapat bekerja sesuai dengan yang

diharapkan. Hasil dari pengujian ini dapat dilihat pada Gambar 4.6.

Gambar 4.6 Hasil Pengujian Sistem secara Keseluruhan

Dari hasil pengujian secara keseluruhan, didapat bahwa sistem telah bekerja

sesuai dengan yang diharapkan dan dapat menampilkan waktu dengan baik. Kita juga

dapat menghitung kecepatan motor pada saat pengujian dilakukan dimana dari hasil

pengujian terlihat bahwa 8 buah karakter dapat ditampilkan dalam setengah putaran.

Setiap karakter terdiri dari 7 buah kolom dan setiap kolom ditampilkan dalam waktu

250µs sehingga waktu yang dibutuhkan untuk satu putaran adalah 2 x 8 x 7 x 250µs =

(60)

4.2.7 Pengujian Pengaruh Perubahan Tegangan Penggerak Motor terhadap Tampilan Karakter

Pengujian ini dilakukan dengan mengukur tegangan yang diberikan kepada

motor ketika motor dalam keadaan berputar. Tegangan akan diturunkan secara

bertahap dan melihat perubahan yang terjadi terhadap karakter yang ditampilkan.

Gambar 4.7 (a) sampai dengan (d) memperlihatkan tampilan dari jam untuk tegangan

penggerak motor DC sesuai dengan yang diperlihatkan oleh multimeter digital.

(61)

49

(c) (d)

Gambar 4.7 Hasil Pengujian Pengaruh Perubahan Tegangan Penggerak Motor terhadap Tampilan Karakter

Dari hasil pengujian diatas terlihat bahwa semakin kecil tegangan yang

(62)

50 BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan perancangan dan pengujian pada sistem, maka dapat

diambil kesimpulan sebagai berikut:

1. Sistem yang dibuat sudah berhasil untuk menampilkan waktu dengan baik.

2. Hasil terbaik dari penampilan karakter yaitu dengan hanya menggunakan 7

buah LED yaitu LED 3 sampai dengan LED 9.

3. Semakin kecil tegangan yang diberikan kepada motor maka karakter yang

ditampilkan akan semakin menyempit.

4. Sistem yang dibuat dapat menyimpan informasi waktu pada RTC sehingga

informasi waktu tetap dapat diperbaharui walaupun sistem tidak diberi

catudaya.

5. Sistem membutuhkan penahan agar putaran menjadi lebih stabil.

6. Sistem tidak dapat digunakan untuk waktu yang lama dikarenakan motor

menjadi terlalu panas dan dikhawatirkan dapat menjadi rusak.

5.2 Saran

Agar sistem dapat dikembangkan menjadi lebih baik, maka terdapat beberapa

(63)

51

1. Tampilan yang dihasilkan dapat berupa jam analog atau dapat dipilih antara

tampilan analog dengan tampilan digital.

2. Sistem yang dibuat diharapkan menggunakan satu buah sumber catudaya baik

untuk motor dan rangkaian sehingga tidak memerlukan baterai.

3. Sistem yang dibuat sebaiknya dapat diatur tanpa menghentikan putaran

terlebih dahulu, misalnya dengan menggunakan remote control.

4. Sistem yang dibuat diharapkan memiliki fungsi-fungsi tambahan lainnya

misalnya alarm.

5. Sistem yang dibuat sebaiknya dapat digunakan untuk waktu yang lama yaitu

(64)

DAFTAR PUSTAKA

1. Andrianto, Heri. 2008. Pemrograman Mikrokontroler AVR ATmega16

Menggunakan Bahasa C (CodeVisionAVR). Bandung: Informatika.

2. Bejo, Agus. 2008. C & AVR, Rahasia Kemudahan Bahasa C dalam

Mikrokontroler ATMega8535. Yogyakarta: Graha Ilmu.

3. Budiharto, Widodo. 2005. Perancangan Sistem dan Aplikasi Mikrokontroler.

Edisi Pertama. Jakarta: Erlangga.

4. Tarigan, Pernantin. 2011. Sistem Tertanam. Yogyakarta: Graha Ilmu.

5. Wardhana, Lingga. 2006. Belajar Sendiri Mikrokontroler AVR seri

ATMEGA8535. Yogyakarta: Andi.

6. Winoto, Ardi. 2010. Mikrokontroler AVR ATMega 8/32/16/8535 dan

Pemrogramannya dengan Bahasa C pada WinAVR. Bandung: Informatika

(65)
(66)

LAMPIRAN B

KODE PROGRAM SISTEM YANG DIRANCANG

/***************************************************** This program was produced by the

CodeWizardAVR V1.25.3 Standard Automatic Program Generator

Project : propeller clock Version :

#include <mega8.h> #include <delay.h>

// I2C Bus functions #asm

.equ __i2c_port=0x15 ;PORTC .equ __sda_bit=4

.equ __scl_bit=5 #endasm

#include <i2c.h>

// DS1307 Real Time Clock functions #include <ds1307.h>

(67)

55

};

(68)
(69)

57

} }

void main(void) {

// Declare your local variables here

// Input/Output Ports initialization // Port B initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out

// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTB=0x00;

DDRB=0xFF;

// Port C initialization

// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0xF0;

DDRD=0x00;

// External Interrupt(s) initialization // INT0: On

// INT0 Mode: Falling Edge // INT1: Off

GICR|=0x40; MCUCR=0x02; GIFR=0x40;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;

// I2C Bus initialization i2c_init();

// DS1307 Real Time Clock initialization // Square wave output on pin SQW/OUT: Off // SQW/OUT pin state: 0

rtc_init(0,0,0);

// Global enable interrupts #asm("sei")

(70)

Gambar

Gambar 2.1 Diagram Blok Mikrokontroler AVR ATMega8
Gambar 2.2 Konfigurasi Pena ATMega8
Gambar 2.3 Arsitektur Mikrokontroler ATMega8
Gambar 2.4 Peta Memori Program ATMega8
+7

Referensi

Dokumen terkait

ada pada Al Quran Braille dengan tampilan karakter alat yang

perparkiran yang sudah ada belum dapat mengontrol dan memonitoring jumlah kendaraan yang parkir secara terpusat, sehingga sistem yang sudah ada memerlukan waktu

Pengujian dan analisis merupakan metode untuk mengetahui hasil dari perancangan sistem yang telah dibuat, apakah sudah berhasil sesuai dengan yang direncanakan atau belum,

Pertama system yang dibuat telah berhasil dengan baik, yaitu ditandai dengan telah berhasilnya mikrokontroler mengirimkan data menuju server dengan komunikasi

Telah berhasil dibuat sistem telemetri dan monitoring untuk stasiun cuaca yang menampilkan informasi curah hujan, kecepatan angin, arah angin, suhu, kelembaban, tekanan

Alat yang dibuat sudah berhasil menampilkan karakter yang sesuai dengan penekan pada keyboard.. Kata kunci : Mikrokontroler, keyboard

Dari hasil kerja alat dapat diambil beberapa kesimpulan yaitu, telah berhasil dibuat sebuah inkubator bayi dengan pengaturan suhu dan kelembaban berbasis

Hasil yang telah dicapai dari perancangan ini adalah telah berhasil dirancang sebuah alat uji kebisingan knalpot berbasis mikrokontroler yang dapat menampilkan