56
Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem AKATEL Sandhy Putra Purwokerto D309052 65 BAB III PERANCANGAN DAN PEMBUATAN SISTEM Pada bab III ini membahas bagaimana perancangan dan pembuatan sistem alat penghitung jumlah peserta di dalam ruangan berbasis ATMega 16 dengan SMS sebagai report dimulai dengan pembuatan perangkat keras (Hardware) maupun pembuatan perangkat lunak (software). Pembuatan perangkat keras yaitu berupa perancangan catu daya, perancangan sistem minimum ATMega 16, perancangan LCD, perancangan seven segment, perancangan RTC DS1307 dan perancangan komunikasi serialnya sehingga mikrokontroler dapat mengirimkan informasi yang diperoleh berupa jumlah peserta yang telah datang dengan bentuk berupa SMS ke seluruh HP panitia suatu acara yang memanfaatkan alat ini. Sedangkan untuk perangkat lunak meliputi pembuatan program C sehingga alat dapat difungsikan sebagai penghitung dan AT Command yang dapat membuat mikrokontroler dapat menyampaikan SMS ke seluruh HP panitia dengan memanfaatkan modem sebagai perantaranya. A. PERANCANGAN SISTEM Perancangan sistem alat penghitung peserta di dalam ruangan menggunakan sensor infra merah yang berbasis mikrokontroler ATMega 16 dengan SMS sebagai report ini bertujuan untuk mempermudah panitia sebuah acara untuk memonitoring jumlah peserta di dalam ruangan. Dimana suatu

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052 65

BAB III

PERANCANGAN DAN PEMBUATAN SISTEM

Pada bab III ini membahas bagaimana perancangan dan pembuatan sistem

alat penghitung jumlah peserta di dalam ruangan berbasis ATMega 16 dengan

SMS sebagai report dimulai dengan pembuatan perangkat keras (Hardware)

maupun pembuatan perangkat lunak (software).

Pembuatan perangkat keras yaitu berupa perancangan catu daya,

perancangan sistem minimum ATMega 16, perancangan LCD, perancangan seven

segment, perancangan RTC DS1307 dan perancangan komunikasi serialnya

sehingga mikrokontroler dapat mengirimkan informasi yang diperoleh berupa

jumlah peserta yang telah datang dengan bentuk berupa SMS ke seluruh HP

panitia suatu acara yang memanfaatkan alat ini.

Sedangkan untuk perangkat lunak meliputi pembuatan program C sehingga

alat dapat difungsikan sebagai penghitung dan AT Command yang dapat membuat

mikrokontroler dapat menyampaikan SMS ke seluruh HP panitia dengan

memanfaatkan modem sebagai perantaranya.

A. PERANCANGAN SISTEM

Perancangan sistem alat penghitung peserta di dalam ruangan

menggunakan sensor infra merah yang berbasis mikrokontroler ATMega 16

dengan SMS sebagai report ini bertujuan untuk mempermudah panitia sebuah

acara untuk memonitoring jumlah peserta di dalam ruangan. Dimana suatu

Page 2: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

66

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

kondisi yaitu over kapasitas sering terjadi pada acara seminar, workshop dan

perlombaan. Dengan kondisi ruangan yang sudah melebihi kapasitas nya,

maka acara yang sedang diselenggarakan tidak efektif. Penggunaan SMS

akan sangat membantu panitia untuk memonitoring pertambahan jumlah

peserta yang datang dikarenakan panitia suatu acara tidak selalu berada di

tempat yang sama dan didekat alat tersebut untuk memantau perubahan setiap

waktunya.

Berikut merupakan blok diagram dari perancangan alat penghitung

peserta di dalam ruangan berbasis mikrokontroler ATMega 16 dengan SMS

sebagai report.

Gambar 3.1 Blok Diagram Perancangan Alat.

Berdasarkan blok diagram perancangan alat penghitung peserta di

dalam ruangan seperti pada gambar 3.1, terdiri dari rangkaian input dan

output, di mana rangkaian input hanya terdiri dari dua buah konfigurasi

Page 3: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

67

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

rangkaian diantaranya ialah rangkaian sensor infra merah dan RTC DS1307

(Real Time Clock).

1. Infra Merah

Pemasangan sensor infra merah diletakan pada PIN 17 dan 18

tepatnya pada PIN dengan fungsi interupsi. Karena fungsi interupsi

adalah kondisi dimana pada saat sensor mulai bekerja, maka

mikrokontroler akan berhenti mengerjakan program yang sedang

dikerjakan dan melayani interupsi. Jika interupsi sudah selesai di

kerjakan maka mikrokontroler akan mulai lagi dengan rutin yang

sebelumnya telah terhenti.

Prinsip kerja sensor infra merah ialah memanfaatkan logika “1”

untuk sensor terbuka atau pancaran sinar infra merah ke photodioda

tidak terhalang dan logika “0” jika sensor tertutup yaitu pancaran sinar

infra merah ke photodioda terhalang. Pada saat sensor terbuka, maka

tidak ada tegangan yang mengalir atau 0 Volt sehingga seven segment

dan LCD yang berfungsi sebagai output tidak bekerja sebagai

penghitung, hanya berfungsi sebagai display.

Namun, pada saat kondisi sensor tertutup maka akan mengalirkan

tegangan 5 Volt yang bersumber dari proses interupsi sehingga akan

membuat seven segment mulai berfungsi untuk menampilkan jumlah

peserta yang telah datang dan LCD juga akan mengalami perubahan

seperti pada seven segment menampilkan jumlah peserta yang telah

datang.

Page 4: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

68

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

2. RTC DS1307

RTC akan meng-input data berupa jam, tanggal, bulan dan tahun

yang akan muncul pada LCD. Selain itu RTC juga difungsikan sebagai

akurasi waktu pada saat SMS akan dikirim ke seluruh HP panitia acara

tersebut. Prinsip pengiriman SMS ditentukan oleh waktu mulainya alat

di operasikan.

Alat akan mengirim SMS ke seluruh HP panitia dengan durasi

waktu sepuluh menit sekali. Misal alat dinyalakan pukul 07:00 WIB,

waktu pengiriman SMS diasumsikan sepuluh menit sekali sehingga

pengiriman SMS pertama pada pukul 07:10 WIB. Maka mikrokontroler

akan berkolaborasi dengan RS232 dan memanfaatkan modem sebagai

media transmitter untuk menyampikan informasi berupa jumlah peserta

yang telah datang. HP yang dipakai oleh seluruh panitia dipergunakan

sebagai receiver. SMS yang dikirim bersifat broadcast, sedangkan isi

dari SMS tersebut berupa tanggal, waktu dan jumlah peserta yang

sudang datang.

Untuk konfigurasi rangkaian output dari pembuatan alat berupa

rangkaian LCD, seven segment dan komunikasi serial RS232.

1. LCD 2x16

Rangkaian LCD akan menampilkan jam, tanggal, bulan, tahun

yang diperoleh dari RTC dan jumlah peserta yang telah datang. Selain

sebagai display waktu, LCD juga difungsikan sebagai indikator bahwa

SMS telah dikirim dan terkirim

Page 5: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

69

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

2. Seven Segment

Seven segment pada pembuatan alat ini dijadikan indikator adanya

pertambahan ataupun pengurangan jumlah peserta yang datang dan

keluar. Pemilihan seven segment karena tampilanya yang menyala

dengan karakterisrik angka yang lebih jelas, sehingga mempermudah

melihat perubahan yang tejadi.

3. Komunikasi Serial

RS232 dipakai untuk komunikasi serial antara mikrokontroler dan

HP dengan memanfaatkan modem sebagai media perantara komunikasi

keduanya. RS232 didampingi IC MAX323 dalam pengorasiannya,

MAX232 difungsikan sebagai konverter antara mikrokontroler dan

modem.

Hal ini karena tegangan mikrokontroler 0 – 5 Volt sedangakan

RS232 -3 – (-30 Volt) sampai 3 – 30 Volt, sehingga perlu IC yang dapat

meyamakan tegangan dari kedua perangkat tersebut yaitu MAX232.

Dengan adanya bantuan dari rangakaian RS232 maka komunikasi

antara mikrokontroler dan HP dengan memanfaatkan modem sebagai

perantara dapat difungsikan dengan baik. Sehingga pengiriman data

yang diperoleh mikrokontroler dapat dikirim ke seluruh HP panitia.

Ada tiga kondisi dimana SMS akan dikirim ke seluruh panitia

diantaranya adalah kondisi normal, kondisi ruangan penuh dan kondisi

ruangan over kapasitas berikut penjelasanya.

Page 6: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

70

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

a) Kondisi Ruangan Normal

Kondisi normal ialah kondisi di mana ruangan masih mampu

menampung peserta yang datang. Pada kondisi ini alat akan

mengirim SMS ke seluruh HP panitia sepuluh menit sekali dimulai

dari alat dinyalakan dan jumlah dari peserta yang telah datang akan

muncul pada LCD dan seven segment yang dipakai sebagai

indikator pertambahan jumlah peserta.

b) Kondisi Ruangan Penuh (Peserta = 500 Orang)

Kondisi ruangan penuh ialah kondisi di mana ruangan telah

menampung peserta sesuai dengan kapasitasnya dan jumlah peserta

yang telah datang dan akan muncul pada LCD dan seven segment.

500 merupakan kondisi ruangan dianggap penuh. Pada kondisi ini

SMS akan dikirim keseluruh HP panitia dengan mengabaikan

asumsi waktu pengiriman SMS yaitu sepuluh menit sekali yang

telah ditentukan sebelumnya.

c) Kondisi Ruangan Over Kapasitas (Peserta > 500 Orang)

Kondisi over kapasitas ialah kondisi di mana ruangan sudah

melebihi dari daya tampungnya. Seperti pada rencana rangcangan,

ruangan dianggap penuh jika sudah mencapai 500 orang. Dimana

pada kondisi ini peserta yang datang sudah mencapai 501 atau >

500, sehingga SMS akan dikirim ke seluruh HP panitia dengan

mengabaikan asumsi waktu pengiriman SMS yaitu sepuluh menit

sekali yang telah ditentukan sebelumnya.

Page 7: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

71

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

B. PERANCANGAN DAN PEMBUATAN HARDWARE

Perancangan dan pembuatan hardware meliputi pembuatan rangkaian

secara schematic baik dari rangkaian infra merah, LCD, RTC, seven segment,

dan beberapa komponen pendukung lainnya. Selain itu terdapat pula

perhitungan komponen yang dipergunakan untuk membuat alat ini.

1. Perancangan Sistem Minimum ATMega 16

Rangkaian minimum ialah rangkaian yang harus dimiliki sebuah

sistem dengan menggunakan mikrokontroler sebagai pengendalinya.

Rangkaian sistem minimum ATMega 16 terdiri dari rangkaian reset dan

rangkaian oscillator. Berikut merupakan gambar rangkaian sistem

minimum ATMega 16.

Gambar 3.2 Rangkaian Sistem Minimum ATMega 16.

Pada pembuatan alat ini hampir semua PIN mikrokontroler dipakai

hanya beberapa PIN saja yang tidak dipakai. adapun PIN yang dipakai

pada pembuatan alat ini ditunjukan oleh tabel 3.1 di bawah ini.

Page 8: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

72

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Tabel 3.1 PIN ATMega 16 yang dipergunakan

No PIN Fungsi

1 Pin 9 Sebagai reset ATMega 16.

2 Pin 10,11 Sebagai VCC dan GND

3 Pin 12, 13 Sebagai Xtal (Rangkaian Oscillator).

4 Pin 33-40 Sebagain Pin output yang terhubung ke LCD.

5 Pin 1-7 Sebagai Pin output yang terhubung ke seven

segment.

6 Pin 22-23 Sebagai Pin input yang terhubung ke rangkaian

RTC.

7 Pin 14-15 Sebagai Pin output yang terhubung ke rangkaian

komunikasi serial (MAX232 dan RS232).

8 Pin 16-17 Sebagai Pin Input yang terhubung ke sensor infra

merah.

9 Pin 19-21 Sebagai Pin input yang terhubung ke rangkaian

seven segment.

a) Rangkaian Reset

Rangakaian reset pada mikrokontroler ATMega 16 berfungsi

untuk mengembalikan kondisi mikrokontroler ke kondisi awal, di

mana kondisi ini dipelukan pada saat terjadi kesalahan program yang

sedang berjalan. Pada pembuatan alat penghitung peserta dengan

menggunakan sensor infra merah, rangkaian reset terhubung ke PIN

reset yang sudah tersedia pada mikokontroler ATMega 16.

Pada pembuatan alat ini menggunakan frekuensi oscillator

sebesar 8 MHz, sehingga waktu yang diperlukan mikrokontroler

untuk melakukan reset dapat dihitung sebagai berikut.

Page 9: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

73

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

T = 𝐶 𝑥 12

𝐹𝑟𝑒𝑘𝑢𝑒𝑛𝑠𝑖 𝑂𝑠𝑖𝑙𝑎𝑡𝑜𝑟

T = 2 𝑥 12

8.000.000

T = 0,0000003 sekon

= 3 µs

Rangkaian reset dari alat ini terpasang pada PIN 9, rangkaian

sendiri terdiri dari komponen saklar. Tegangan kerja dari

mikrokontroler ATMega 16 sendiri berkisar 4,5 Volt – 5,5 Volt.

Pada perancangan sistem minimum reset, dipakai komponen

elektronika seperti kapasitor sebesar 10 µF dan resistor 10 KΩ.

Nilai dari komponen yang dipakai dalam sistem reset telah

tertulis pada datasheet, sehingga mempermudah dalam perancangan.

Nilai dari kedua komponen yang dipakai dapat dihitung untuk

mencari nilai dari waktu yang dibutuhkan mikrokontroler untuk

melakukan reset.

Adapun rumus yang dipergunakan untuk menghitung waktu

reset tersebut ialah menggunakan rumus 2.2 yang tertera pada dasar

teori pembuatan tugas akhir ini.

T reset = R x C

T reset = 10 KΩ x 10 µF

T reset = 0,1 Second

Page 10: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

74

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

0,1 second ialah waktu yang dibutuhkan mikrokontroler untuk

me - reset. Dan berikut ialah rangkaian sistem minimum reset untuk

mikrokontoler ATMega 16.

Gambar 3.3 Rangkaian Reset pada Mikrokontroler ATMega 16.

b) Rangkaian Oscillator

Rangkaian oscillator ialah rangkaian yang dipakai untuk

memperoleh frekuensi clock pada mikrokontroler. Untuk dapat

memperoleh frekuensi clock maka diperlukan komponen eletronika

yang dapat menghasilkan frekuensi clock tersebut yaitu kristal.

Pemilihan nilai dari kristal bergantung dari kebutuhan perancangan.

semakin besar nilai kristal yang dipilih, maka semakin cepat

eksekusi program yang dijalankan.

Pada pembuatan alat ini, nilai kristal yang dipakai bernilai 8

MHz. Untuk pemasangan rangkaian oscillator pada mikrokontroler

Page 11: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

75

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

yaitu PIN 12 dan PIN 13. PIN yang dipergunakan untuk pemasangan

rangkaian oscillator telah tertera pada datasheet, sehingga

mempermudah dalam proses perancangannya. Berikut ialah

konfigurasi rangkaian oscillator.

Gambar 3.4 Rangkaian Oscillator.

Berdasarkan gambar 3.4 dapat dilihat bahwa rangkaian

oscillator tersebut menggunakan satu kristal dengan nilai 8 MHz dan

dua kapasitor dengan nilai 22pF. Dari nilai kedua komponen

tersebut, maka dapat dihitung dengan menggunakan rumus 2.3. Dan

berikut adalah waktu yang dibutuhkan selama siklus mesin untuk

melakukan eksekusi program.

T= 𝐶 𝑥 12

𝑓𝑟𝑒𝑘𝑢𝑒𝑛𝑠𝑖 𝑂𝑠𝑖𝑙𝑎𝑡𝑜𝑟

T= 1 𝑥 12

8000000 𝐻𝑧

T= 1,5 µs

Page 12: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

76

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Dari hasil perhitungan di atas, maka mikrokontroler

membutuhkan waktu 1,5 µs untuk melakukan eksekusi program.

Dalam arti lain 1,5 µs ialah waktu setiap mikrokontroler melakukan

satu siklus mesin.

2. Perancangan Sensor Infra Merah

Pembuatan alat pada Tugas Akhir ini, menggunakan sensor infra

merah. Sensor infra merah ini tidak berdiri sendiri melainkan bekerja

sama dengan photodioda. Photodioda adalah perangkat yang sangat

sensitif dengan sinar infra merah, sehingga jika ada yang menghalangi

pancaran sinar infra merah ke photodioda maka akan dihitung satu dan

begitu seterusnya sampai pada batas kapasitas dari ruangan yang telah di

utarakan pada rencana rancangan sebelumnya. Pada pembuatan alat ini,

sensor infa merah diletakan pada PIN interupsi mikrokontroler.

Interupsi adalah kondisi dimana pada saat program utama sedang

dieksekusi oleh mikrokontroler dan kemudian berhenti sejenak untuk

melayani program khusus atau rutin tertentu yaitu program pada saat

photodioda tidak menerima pancaran infra merah. Jika kondisi ini sudah

terpenuhi maka mikrokontroler akan kembali menjalankan program

utama. Program utama pada pembuatan alat ini adalah program RTC

yaitu program yang akan menampilan jam dan tanggal pada LCD.

Sedangkan program khusus atau rutin tertentu adalah interupsi 0 dan

interupsi 1.

Page 13: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

77

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Adapun prinsip kerja dari sensor infra merah tersebut adalah

menggunakan logika 0 dan 1. Di mana logika “0” menghasilkan 5 Volt

dan logika “1” menghsilkan 0 Volt. Kondisi “0” merupakan kondisi di

mana photodioda yang sensitif akan pancaran infra merah tidak

menerima pancaran infra merah tersebut sehingga infra merah akan

mengirim logika “0” kepada mikrokontroler dan mikrokontroler

mengkonversikan logika “0” tersebut menjadi arus sebesar 5 Volt. Arus

ini akan membantu menggerakan seven segment melakukan perubahan

segment, dari C0 menjadi F9. Sedangkan kondisi “1” merupakan kondisi

dimana photodioda masih menerima pancaran infra merah sehingga

kondisi ini disebut dengan kondisi normal.

a) Pemancar Infra Merah

Berikut adalah skematik dari rangkaian infra merah, terdapat

beberapa komponen yang mendukung kinerja dari infra merah yaitu

resistor yang berfungsi untuk menghambat arus yang masuk.

Gambar 3.5 Rangkaian LED Infra Merah.

Page 14: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

78

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Dari gambar 3.5 dapat dijelaskan agar infra merah dapat

berfungsi dengan baik dipergunakan resistor 220 KΩ untuk

menghambat arus dari catu daya sehingga menghasilkan nilai

resistensi infra merah 3,61 Volt. nilai tegangan tersebut merupakan

tegangan operasi infra merah yang diperoleh.

b) Penerima Photodioda

Berikut adalah skematik dari rangkaian photodioda, terdapat

beberapa komponen yang mendukung kinerja dari infra merah yaitu

resistor yang berfungsi untuk menghambat arus yang masuk.

Gambar 3.6 Rangkaian Photodioda.

Rangkaian pada gambar 3.6 merupakan lanjutan dari gambar

3.5. secara skematik susunan dari infra merah dan photodioda sama.

Perbedaannya hanya pada fungsi yaitu infra merah merupakan

pemancar yang sifatnya tegak lurus dan photodioda merupakan

penerima yang sensitif dengan pancaran infra merah.

Page 15: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

79

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Gambar 3.7 Rangkaian konfigurasi Infra Merah.

Pada perancangan sensor infra merah pada gambar 3.7, tampak

bahwa sensor infra merah dipasang pada interupsi 0 dan interupsi 1.

Di mana untuk masing-masing sensor menggunakan PIN 16 untuk

sensor yang berfungsi sebagai sensor pintu masuk dan PIN 17 untuk

sensor yang berfungsi sebagai sensor pintu keluar.

3. Perancangan Rangkaian ATMega 16 dan LCD

Untuk pembuatan alat pada Tugas Akhir ini menggunakan LCD

16x2 yang terdiri dari 16 PIN. LCD dengan tipe ini terdiri dari 16

karakter dua baris. Dengan kata lain LCD ini dapat menampilkan 32

karakter, masing-masing baris terdiri dari 16 karekter. Pada pembuatan

Tugas Akhir ini LCD berfungsi sebagai display yang akan menampilkan

data berupa jam, tanggal dan jumlah peserta yang telah datang. Setiap

pertambahan jumlah peserta yang datang akan tampak pada LCD. Bukan

Page 16: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

80

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

hanya itu, LCD juga akan berfungsi sebagai indikator yang menandakan

SMS telah dikirim dan SMS terkirim. Jika LCD telah menyelesaikan

fungsinya sebagai indikator SMS telah dikirim LCD akan kembali ke

fungsi utama nya yaitu menampilkan jam, tanggal dan jumlah peserta.

Modul LCD mampu melakukan transfer data melalui 8 jalur data

yaitu (D0-D7) maupun 4 jalur data yaitu (D4-D7) dengan jalur data lain

dibiarkan untuk tidak terkoneksi ke PIN mikrokontroler. Pada pembuatan

alat ini menggunakan mode 4 bit karena LCD difungsikan sebagai write.

Proses pengiriman dan menampilkan data jam, tanggal dan jumlah

peserta dipakai tiga PIN masukan control diantara nya ialah PIN register

select (RS), PIN read/write (R/W) dan PIN enable (E).

Berdasarkan konfigurasi mikokontroler ATMega 16 dan LCD 16x2

yang ditunjukan gambar 3.8 terlihat bahwa LCD dipasang pada port A

ATMega 16 dimulai dari PIN 33 – 40. Jalur pengiriman data

menggunakan mode 4 bit (D4-D7) yang memakai PIN 33 – PIN 36 pada

ATMega 16. PIN Enable yang terhubung pada PIN 38 ATMega 16

berfungsi untuk memulai proses transfer data karakter atau data perintah

pada LCD. Berikut adalah konfigurasi antara ATMega 16 dan modul

LCD.

Page 17: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

81

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Gambar 3.8 Konfigurasi ATMega 16 dan LCD 2x16.

Berdasarkan gambar 3.8 PIN R/W yang terhubung pada PIN 39

ATMega 16 berfungsi untuk melakukan perintah membaca dan menulis

data karakter pada LCD. Pada pengaturan contrast dan brightness LCD

bisa diatur dengan menambah komponen berupa resistor trimpot untuk

pengaturannya.

Seperti tampak pada gambar 3.8 di atas maka dapat dilihat bahwa

pengaturan contrast dan brightness dilakukan pada PIN 3 LCD. Dimana

contras voltage akan terhubung ke komponen trimpot yang nantinya akan

difungsikan sebagai contrast dan brightness. Dengan menggunakan

komponen ini, jika ditemukan tampilan pada LCD yang kurang terang

maupun terlalu terang, dapat diatur langsung pada hardware.

Page 18: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

82

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

4. Perancangan Rangkaian Mikrokontroler ATMega 16 dan RTC

RTC (Real Time Clock) adalah sistem yang biasa difungsikan

sebagai pengaturan waktu baik jam, hari,tanggal, bulan dan tahun. RTC

akan sangat membantu pada pembuatan alat ini, karena diperlukan

akurasi waktu yang tepat pada saat SMS akan dikirim ke HP panitia.

Bukan hanya itu, RTC juga memiliki kelebihan lain, diantara nya ialah

RTC dapat menyimpan data berupa jam, tanggal, bulan dan tahun.

Seperti pada saat alat dinyalakan, maka jam dan tanggal dari alat

tersebut sudah sama dengan waktu alat dinyalakan. Ini karena RTC

memiliki arus tambahan yang akan tetap memberi pasokan arus ke RTC

sehingga jika alat dimatikan, RTC akan tetap bekerja mengelolah data

berupa jam dan tanggal tersebut. Mode yang dipilih juga beragam bisa

12 ataupun 24 jam dengan format AM dan PM. Seperti fungsinya yang

menampilkan jam, RTC mampu menghitung mulai dari detik, menit, jam,

tanggal, bulan dan tahun dengan format yang telah disebutkan

sebelumnya.

Pada pembuatan alat ini, IC DS1307 atau RTC DS1307

menggunakan teknik I2C yaitu sebuah teknik yang menggunakan dua

jalur untuk keperluan transfer data nya secara seri. Seperti namanya

komunikasi dua jalur maka yang dipergunakan untuk pentransmisian data

hanya dua PIN yaitu SDA untuk data dan SCL untuk sinyal clock.

Berikut merupakan rangkaian konfigurasi mikrokontroler ATMega 16

dengan RTC DS1307 yang dipergunakan pada pembuatan alat ini.

Page 19: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

83

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Gambar 3.9 konfigutasi ATMega 16 dan RTC DS1307.

Berdasarkan rangkaian konfigurasi gambar 3.9 RTC diletakan pada

port C dengan memanfaatkan dua PIN yaitu PIN 22 SCL untuk

komunikasi data nya dan PIN 23 untuk SDA yang dipergunakan untuk

membangkitkan sinyal clock. Pada rangkaian RTC ini dilengkapi dengan

beberapa komponen yaitu resistor 1K8Ω dan kristal 32.768 KHz.

5. Perancangan Mikrokontroler ATMega 16 dan Seven Segment

Perancangan seven segment pada alat ini difungsikan sebagai

indikator adanya pertambahan jumlah peserta yang masuk kedalam

ruangan. Selain sebagai indikator seven segment juga dijadikan sebagai

penghitung. Jenis seven segment yang dipergunakan yaitu common

anode, yaitu jenis seven segment dengan logika “1” jika ingin

menyalakan seven segment. Untuk menyalakan seven segment transistor

Page 20: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

84

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

difungsikan sebagai saklar. Adapun rangkaian seven segment ditunjukan

oleh gambar berikut.

Gambar 3.10 Rangkaian Konfigurasi ATMega 16 dan Seven Segment.

Berdasarkan rangkaian konfigurasi ATMega 16 dan seven segment,

maka dapat dicari dengan persamaan 2.4, 2.5 dan 2.6. untuk mencari arus

kolektor dapat dipresentasikan dengan persamaan 2.4 :

IC = 𝑉𝑐𝑐

𝑅𝑐 IB

IC = 5 𝑉𝑜𝑙𝑡

330 Ω

IB = 15 Ampere

Dengan diketahuinya nilai arus kolektor maka dapat dicari arus

basisnya dengan persamaan 2.5 :

IB = 𝐼𝑐

ℎ𝑓𝑒 IB

Page 21: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

85

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

IC = 15 𝐴

125 IB

IC = 0,12 mA

Dari kedua perhitungan di atas nilai dari hfe merupakan nilai yang

diperoleh dari datasheet transistor BC557. maka dapat dicari nilai dari

resistor basis dengan persamaan 2.6 :

VB = IB x RB +0,6 V

VB = 0,12 mA x 330 Ω +0,6 V

VB = 40,2 Volt

sehingga diperoleh :

RB = RC = 𝑉𝐵−𝑉𝐵𝐸

𝐼𝐵VRB

RB = 40,2 −0,6

0,12

RB = 330 Ω

Jika parameter arus, tegangan basis dan nilai dari resistornya sudah

diperoleh maka dapat dihitung nilai dari tegangan kolektor dan emiter

nya dengan menggunakan persamaan 2.8.

VCE = VCC – IC x RC

VCE = 5 V – 15mA x 330 Ω

VCE = 4,945 Volt

Dari perhitungan di atas dapat diambil kesimpulan bahwa nilai VCE

sama dengan VCC yaitu sebesar 4,945 Volt mendekati 5 Volt.

Page 22: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

86

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Maka disipasi daya berdasarkan rumus 2.9 diperoleh :

PD = IC x VCE

PD = 15 mA x 4,945 V

PD = 0,74 watt

6. Perancangan Rangkaian Mikrokontroler ATMega 16 dan RS232

dengan Modem Serial Wavecom.

Perancangan mikrokontroler ATMega 16 dan RS232 adalah sistem

yang akan mengatur komunikasi serial antara mikrokontroler dan modem

serial. Mikrokontroler akan mengirimkan data berupa jam, tanggal dan

jumlah peserta yang masuk dan keluar ke HP panitia yang telah

ditentukan nomernya.

Untuk dapat saling berkomunikasi antara mikokontroler dan

modem diperlukan sebuah IC konverter yaitu IC MAX 232. IC ini

berfungsi untuk mengkonversi tegangan dari kedua perangkat yang tidak

sama yaitu untuk tegangan mikrokontroler 0 – 5 Volt sedangkan modem

+15 – (-15) Volt dengan kondisi seperti ini maka diperlukan sebuah

konverter yang dapat menyamakan tegangan dari kedua perangkat

tersebut. Berikut adalah rangkaian konfigurasi antara mikrokontroler dan

modem.

Page 23: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

87

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Gambar 3.11 konfigurasi Mikrokontroler ATMega 16 dan Modem.

Berdasarkan rangkaian konfigurasi gambar 3.11, terlihat bahwa

untuk melakukan komunikasi serial diperlukan beberapa perangkat

seperti ICMAX232 dan juga DB9. Untuk sistem konfigurasi MAX232

dan DB9 dapat dilihat pada datasheet begitu pula dengan nilai dari

komponen elektronika yang dapat membantu kinerja dari perangkat

tersebut.

Untuk menghubungkan IC MAX232 dan mikrokontroler ATMega

16 hanya dipergunakan dua PIN yaitu PIN 14 dan 15. Dimana PIN 14

ialah PIN Rx yang difungsikan untuk menerima data yang memang

sudah tersedia pada mikrokontroler ATMega 16 sedangkan PIN 16 ialah

PIN Tx yang dipergunakan untuk mengirim data. Modem pada perangkat

ini difungsikan sebagai perantara yang dapat menyampaikan SMS ke HP

panitia acara tersebut.

Page 24: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

88

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

7. Perancangan Catu Daya

Catu daya merupakan sumber tegangan yang akan men-suplay

seluruh tegangan pada pembuatan alat ini sehingga alat dapat bekerja.

Adapun besar tegangan yang dipergunakan adalah 5 Volt sesuai dengan

tegangan dari keseluruhan perangkat yang dipergunakan. Pada

perancangan sistem catu daya ini terdiri dari beberapa blok bagian

diantaranya ialah transformator yang dipergunakan untuk

mengkonversikan tegangan AC menjadi Tegangan DC, blok rectifier

berfungsi sebagai penyearah arus, blok filter sebagai penyaring tegangan

yang naik turun sehingga dengan adanya filter mampu untuk mengurangi

tegangan ripple, blok regulator berfungsi untuk menghasilkan tegangan 5

Volt yang diperlukan oleh sistem kerja mikrokontroler ATMega 16.

berikut merupakan blok catu daya secara detail yang dipergunakan pada

pembuatan alat pada Tugas Akhir ini.

Gambar 3.12 Rangkaian Catu Daya.

Rangkaian catu daya pada gambar 3.12 merupakan rangkaian yang

akan memberikan tegangan sebesar 5 Volt sehingga dapat

Page 25: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

89

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

mengoprasikan keseluruhan rangkaian Mikrokontroler ATMega 16.

Adapun tegangan reference tegangan kerja antar 4,5 Volt – 5,5 Volt.

Pada rangkaian catu daya yang dipergunakan dapat dicari

perhitungan tegangan output ( DCV ) yang dihasilkan penyearah

gelombang penuh tersebut, kemudian oleh IC LM7805 tegangan searah

(VDC) tesebut diubah menjadi tegangan DC 5 volt yang nantinya dapat

dipergunakan untuk men-suplay seluruh tegangan yang diperlukan alat

ini. Pada Tugas Akhir ini menggunakan penyearah gelombang penuh.

Besarnya nilai tegangan DC dapat dicari dengan rumus sebagai berikut:

VDC = 2𝑉𝑝

𝜋

Dimana Vp dapat dicari terlebih dahulu dengan menggunakan

rumus sebagai berikut:

Vp = 𝑉𝑟𝑚𝑠

0,707

Vp = 6

0,707

Vp = 8,487 Volt

Setelah Vp = 8,487 Volt dimasukan ke persamaan sebelumnnya

yaitu :

VDC = 2𝑉𝑝

𝜋

VDC = 2 𝑥 8,487

3,14

VDC = 5,41 Volt

Page 26: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

90

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Dari perhitungan di atas maka diperoleh nilai VDC dari penyearah

sebesar 5,41 V dan tegangan ini akan dikelolah LM7805 menjadi

tegangan yang dibutuhkan perangkat yaitu 5 Volt. tegangan 5 Volt

merupakan tegangan yang diharapkan untuk memasok tegangan

perangkat walaupun tegangan 5 Volt jarang diperoleh. Namun

berdasarkan datasheet dari mikrokontroler ATMega 16 dapat beroprasi

pada range tegangan 4,5 Volt – 5,5 Volt.

Jika tegangan DC sudah diperoleh maka dapat dihitung tegangan

ripple dari rangkain catu daya yang dipergunakan dengan menggunakan

persamaan 2.7 pada bab dua.

VDC = 𝑣𝑜𝑢𝑡 − 𝑉𝑟𝑖𝑝

2

5,41 = 8,487 − 𝑉𝑟𝑖𝑝

2

𝑉𝑟𝑖𝑝

2 = 8,487 − 5,41

𝑉𝑟𝑖𝑝

2 = 3,077

Vrip = 2 x 3,077

Vrip = 6,154 Volt

Bila tegangan ripple sudah diperoleh maka dapat dicari nilai dari

kapasitor yang akan dipergunakan untuk mengurangi ripple yang

terdapat pada rangkaian catu daya dengan menggunakan persamaan 2.8

pada bab dua yang sudah dibahas sebelumnya dan berikut merupakan

hasil perhitungan kapasitor.

Page 27: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

91

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Vrip = 1

𝑓 𝐶

6,154 = 1

100 𝑥 𝐶

615,4 x C = 1

C = 1

615,4

= 0,001624 Farad

= 1,624 mF

= 1624 µF

Berdasarkan hasil perhitungan tersebut dapat disimpulkan untuk

dapat membuang tegangan ripple sebesar 6,154 Volt sehingga

menghasilkan tegangan keluaran sebesar 5 Volt diperlukan kapasitor

dengan nilai 1624µF pada praktik nya nilai tersebut di bulatkan menjadi

2000 µF, di karenakan di pasaran tidak terdapat nilai kapasitor 1624µF

maka dipergunakan kapasitor dengan nilai 1000µF. Sehingga untuk

memenuhi kebutuhan catu daya dipergunakan kapasitor sebanyak dua

buah.

8. Rangkaian Sistem Keseluruhan

Berikut adalah perancangan rangkaian sistem keseluruhan pada

pembuatan Tugas Akhir alat penghitung jumlah peserta di dalam ruangan

menggungkan sensor infra merah berbasis mikrokontroler Atmega 16

dengan SMS sebagai report.

Page 28: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

92

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

C. PERANCANGAN DAN PEMBUATAN PROGRAM

Pembuatan software pada alat penghitung jumlah peserta di dalam

ruangan menggunakan sensor infra merah berbasis mikrokontroler ATMega

16 dengan SMS sebagai report dimulai dari pembuatan flowchat, pembuatan

program tampilan di LCD seperti jam, tanggal dan jumlah peserta di dalam

ruangan, program tampilan seven segment, program komunikasi serial dan

pembuatan program interupsi yang dipergunakan untuk kerja dari sensor.

untuk membuat program pada alat ini dipergunakan bahasa C. Aplikasi yang

dipergunakan untuk membuat program pada Tugas Akhir ini adalah Code

Vision AVR C Compiler aplikasi ini mampu yang merancang dan membuat

program sehingga alat dapat berfungsi seperti yang diinginkan dan eXtreme

Burner – AVR yang dimanfaatkan untuk mengunduh program yang telah

dibuat sehingga program dapat di-input ke dalam mikrokontroler.

1. Code Vision AVR C Compiler sebagai Program Mikrokontroler

ATMega 16

Code Vision AVR C Compiler ialah alat bantu yang dipergunakan

untuk memprogram bahasa C. Dengan memanfaatkan aplikasi ini akan

mempermudah kerja dalam lingkungan perkembangan perangkat lunak

seperti pembuatan program alat penghitung jumlah peserta di dalam

ruangan ini. Code Vision AVR C Compiler ini dilengkapi dengan source

code editor, compiler, linker dan dapat memanggil ATMel AVR Studio

untuk debugger nya. Pemrograman dengan menggunakan Code Vision

Page 29: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

93

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

AVR C Compiler terbilang mudah, karena terdapat beberapa aplikasi

bantuan yang akan mempermudah proses pemrogramman seperti

memanfaatkan fasilitas Run The Codewizardavr Automatic Program

Generator . Berikut tampilan awal dari Code Vision AVR C

Compiler.

Gambar 3.15 Tampilan awal Code Vision AVR C Compiler.

Berikut ialah beberapa aplikasi dari Run The Codewizardavr

Automatic Program Generator yang dapat dipergunakan untuk

mempermudah pemrograman. Selain itu, pada Code Vision AVR C

Compiler terdiri dari beberapa struktur proyek dan file, seperti file source

(*.c), file project (*.Prj) dan file projek codewizard (*.cwp). pada proses

pembuatan program source merupakan sumber dari project, di dalam

satu source dapat diisi dengan beberapa project. Dengan adanya fasilitas

ini akan mempermudah pemrograman karena untuk membuat banyak

program tidak diperlukan banyak source.

Page 30: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

94

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Gambar 3.16 Aplikasi Menu Run The Codewizardavr Automatic

Program Generator.

Dengan memanfaatkan aplikasi ini, akan mempermudah proses

pemrograman karena aplikasi ini akan membuat library secara otomatis,

alamat-alamat port yang dipergunakan pada pembuatan alat.

2. AT Command

AT Command dapat dipergunakan untuk menginstruksikan perintah

mengirim SMS seperti yang akan dilakukan alat agar dapat mengirimkan

data yang diperoleh. Untuk dapat mengirim SMS ke seluruh HP panitia

yang telah ditentukan sebelumnya dipergunakan sebuah perintah

AT+CMGS. Ini merupakan perintah untuk mengirim SMS. Adapun

format pengiriman SMS dengan menggunakan AT+CMGS (“Nomer

Tujuan”) dilanjutkan dengan isi SMS yang akan dikirimkan. Selain itu

AT Command juga dapat dipergunakan untuk melakukan uji coba

terhadap modem yang dipergunakan dalam keadaan baik atau tidak.

Page 31: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

95

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Untuk dapat melakukan ini dapat dipergunakan sebuah aplikasi yaitu

hyperterminal.

Gambar 3.17 Uji Coba Modem Dengan Hyperterminal.

Untuk dapat melakukan ini hanya diperlukan untuk membuka

hyperterminal dan pasangkan modem pada komputer atau laptop yang

dipergunakan untuk uji coba modem. “AT” pada hyperterminal

merupakan perintah untuk uji coba modem, jika muncul “OK” ini

menandakan modem yang akan dipergunakan dalam keadaan bagus.

3. Alur dan Penjelasan Program

Alur program dari alat yang menggunakan aplikasi infra merah

untuk menghitung jumlah peserta di dalam ruangan berbasis

mikrokontroler ATMega 16 dengan SMS sebagai report ialah

menggunakan bahasa C dengan dibantu software Code Vision AVR C

Compiler dan eXtreme Burner – AVR untuk mengunduh program

kedalam mikrokontroler. Rancangan alur program dari alat ini dapat

dilihat pada flowchart di bawah ini.

Page 32: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

96

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Gambar 3.18 Flowchart Program.

Page 33: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

97

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Berdasarkan flowchart pembuatan program, maka ketika program

sudah dimulai dengan inisialisasi RTC yaitu dengan memberikan alamat

sumber dari RTC, selanjutnya inisialisasri LCD sehingga LCD dapat

menampilkan jam, tanggal dan jumlah peserta. Untuk jam dan tanggal

yang ditampilkan bersumber dari RTC yang sudah lebih dahulu

diinisialisasi.

Pada Tugas Akhir ini LCD difungsikan sebagai display yang akan

menampilkan waktu di mana alat mulai dinyalakan. Selain waktu LCD

juga difungsikan sebagai display yang menampilkan jumlah peserta yang

sudah datang. Untuk peletakan sensor infra merah, diletakan pada fungsi

interupsi yang dimiliki oleh mikrokontroler ATMega 16. Adapun

interupsi yang dipergunakan adalah INT0 dan INT1. Interupsi merupakan

suatu kondisi dimana CPU berhenti mengerjakan program utama. Dan

melayani program khusus yaitu program yang dipergunakan untuk

sensor. Jika program khusus sudah selesai dikerjakan, maka CPU akan

kembali mengerjakan program utama. Pada saat proses interupsi terjadi

pada sensor masuk, maka sensor akan memberikan logika “0” ke

mikrokontroler dan mikrokontroler akan mengelolah logika tersebut

menjadi arus sebesar 5 Volt yang akan dipergunakan untuk menyalakan

segment pada seven segment yang dipergunakan sebagai indikator adanya

peserta yang datang. Hal ini juga sama dengan proses interupsi pada

sensor keluar, hanya saja logika yang diperikan “1” dan menghasilkan 0

Volt tegangan sehingga tidak dapat menyalakan segment.

Page 34: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

98

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Waktu yang diprogram pada alat difungsikan sebagai akurasi dari

pengririman SMS yang akan dilakukan. Ada tiga kondisi SMS dikirim.

Di antaranya adalah kondisi normal yaitu kondisi di mana jumlah peserta

yang datang masih dalam daya tampung ruangan sehingga SMS akan

dikirim sepuluh menit sekali ke seluruh HP panitia yang telah ditentukan

sebagai receiver. Selain kondisi normal ada kondisi ruangan full yaitu

kondisi di mana ruangan sudah penuh, yaitu mencapai 500 orang seperti

yang telah ditentukan pada rencana rancangan. SMS akan dikirim pada

kondisi ini dengan mengabaikan asumsi waktu yang telah ditentukan.

Dan terakhir merupakan kondisi ruangan over capacity yaitu ruangan

sudah melebihi dari 500, pada rencana rancangan ruangan dianggap

sudah melebihi kapasitas nya yaitu 501 dan SMS akan dikirim dengan

mengabaikan asumsi waktu yang telah ditentukan.

a) Program Inisialisasi Fungsi RTC dan LCD

Program inisialisasi fungsi RTC dan LCD merupakan program

yang akan memberikan alamat PIN yang dipergunakan untuk

meletakan RTC dan LCD. Sebelum membuat program inisialisasi

fungsi RTC dan LCD terlebih dahulu akan dilakukan pembuatan

library untuk mikrokontroler ATMega16. Adapun bentuk dari

pembuatan library dari mikokontroler ATMega 16 adalah sebagai

berikut.

Page 35: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

99

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

#include <mega16.h> // Mega16 dapat diganti sesuai dengan

jenis mikro yang dipergunakan.

Jika pembuatan library telah dilakukan maka dapat

melanjutkan dengan membuat program penginisialisasian RTC dan

LCD. Adapun bentuk dari pemrograman tersebut adalah sebagai

berikut.

#include <mega16.h>// library mikrokontroler ATMega16

#include <delay.h>// header membuat waktu tunda.

#include <stdio.h> // standar untuk memanggil fungsi

pustaka

// I2C Bus functions

#asm // code assembly standar Code Vision.

.equ __i2c_port=0x15 ;PORTC

.equ __sda_bit=1

.equ __scl_bit=0

#endasm

#include <i2c.h> // sistem komunikasi bawaan dari IC

RTC.

// DS1307 Real Time Clock functions

#include <ds1307.h> // Membuat library RTC

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x1B ;PORTA

#endasm

#include <lcd.h>

Pada listing program di atas, terlihat beberapa alamat di

antaranya ialah pengalamatan RTC yang menggunakan 0x15 atau

PORTC sebagai input dari RTC. Selain itu perlu diketahui letak dari

Page 36: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

100

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

PIN SDA untuk data dan PIN SCLuntuk sinyal clock pada RTC

diletakan pada PORT C0 dan PORT C1 ini merupakan standar untuk

melakukan pemrograman RTC. Sedangkan 0x1B atau PORTA

merupakan alamat dari LCD dipasangkan pada mikrokontroler

ATMega16.

b) Program Pendeklarasian Inisialisasi Variabel yang dipergunakan

Pada pembuatan program ini berisikan variabel apa saja yang

akan dipergunakan untuk pembuatan program alat. Variabel harus

mempunyai nama supaya suatu program dapat menggunakan nilai

yang tersimpan di dalamnya, Nama dari variabel dapat dibentuk

sendiri oleh pembuat program sesuai dengan kententuan nama

pengenal. Variabel belum dapat dipergunakan di dalam program

sebelum dideklarasian terlebih dahulu.[10] Dan berikut merupakan

program yang berisikan variabel yang dipergunakan.

// Declare your global variables here

Unsignedchar

h,m,s,d,t,y,f_kirim,i,menit,ruangan_penuh;

char buffer[16];

charangka[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0

x82,0xF8,0x80, 0x90};

unsigned int rat,pul,sat,jumlah,masuk,keluar;

Page 37: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

101

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Berdasarkan listing program di atas variabel yang

dipergunakan merupakan konstanta numerik interger. Ini merupakan

nilai numerik bilangan bulat. Sesuai dengan tipe data nya konstanta

numerik interger nya. Yang mana pada pembuatan program ini

dipergunakan beberapa tipe data di antaranya unsigned char, char

dan unisigned int. Penggunaan tipe data ini berdasarkan jangkauan

nilai masing-masing tipe nya. Seperti unsigned char dapat

menjangkau 0 – 255, char -128 – 128 dan unisigned int 0 – 65535.

Dari menggunakan ketiga tipe data ini, sudah dapat memenuhi

semua karakteristik angka yang dipergunakan.

c) Pembuatan Inisialisasi Seven Segment dan Fungsi Seven Segment

Pada program ini berisikan alamat dari PIN – PIN yang

diperggunakan seven segment, baik berupa PIN input maupun PIN

output nya. Berikut merupakan program dari inisialisasi seven

segment dan Fungsi seven segment.

#include <mega16.h>

#include <delay.h>

charangka[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0

x82,0xF8, 0x80,0x90};//bentuk heksa dari 0–9.

unsigned int rat,pul,sat,jumlah; // variabel yang

dipergunakan

//------menampilkan angka ke 7 segment-----

Page 38: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

102

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

void display_7segment()// merupakan fungsi utama dari

7segment

{

PORTB=angka[rat]; // input tampilkan ratusan

PORTD=0B01100000; // output

//delay_ms(3); // delay dipergunakan “3” bukan ketentuan

PORTB=angka[pul]; //input tampilkan puluhan

PORTD=0B10100000;// output

//delay_ms(3);

PORTB=angka[sat]; //input tampilkan satuan

PORTD=0B11000000;

//delay_ms(3);

}

void main(void)

{

DDRA=0xFF;

DDRB=0xFF;

PORTD=0xFF;

DDRD.5=1;

DDRD.6=1;

DDRD.7=1;

while (1)

{

display_7segment();

rat=jumlah/100;

pul=(jumlah%100)/10;

sat=(jumlah%100)%10;

};

}

Page 39: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

103

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Berdasarkan listing program di atas untuk membuat program

seven segment, diharuskan untuk mendeklarasikan variabel yang

dipergunakan. ini akan mempermudah untuk pemanggilan variabel

yang dipergunakan. seven segment menggunakan dua PORT

mikrokontroler untuk dapat beroprasi di antara nya adalah PORTB

dan PORTD. PORTB merupakan masukan dari seven segment

sedangkan PORTD ialah output dari seven segment tersebut.

sedangkan PORTD=0xFF merupakan logika data yang dipergunakan

yaitu low data. sedangkan DDRA=0xFF dan DDRB=0xFF

merupakan alamat yang menjadi arah data akan dikirim.

display_7segment rat, pul dan sat merupakan bentuk pengoprasian

yang hasil nya dapat dipergunakan untuk operasi seven segment.

d) Pembuatan Program Menampilkan Fungsi RTC Ke LCD.

Setelah melakukan inisialisasi fungsi RTC maka selanjutnya

menampilkan fungsi RTC tersebut ke LCD. Ini merupakan program

yang akan menampilkan waktu dan jumlah peserta yang datang ke

LCD. Adapun bentuk program dari RTC ke LCD adalah sebagai

berikut:

#include <mega16.h>

#include <delay.h>

#include <stdio.h>

// I2C Bus functions

Page 40: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

104

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

#asm

.equ __i2c_port=0x15 ;PORTC

.equ __sda_bit=1

.equ __scl_bit=0

#endasm

#include <i2c.h>

// DS1307 Real Time Clock functions

#include <ds1307.h>

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x1B ;PORTC

#endasm

#include <lcd.h>

// Declare your global variables here

unsigned char h,m,s,d,t,y;

char buffer[16];

Listing program di atas, merupakan inisialisasi dari fungsi

RTC ke LCD agar jam dan tanggal dapat muncul pada LCD.

void main(void)// fungsi utama program RTC

{

// I2C Bus initialization// komunikasi bawaan IC.

i2c_init();// inisialisasi komunikasi RTC.

rtc_init(0,0,0);

//rtc_set_time(11,20,15);

//rtc_set_date(7,7,12);

delay_ms(100); // delay waktu, tidak terlalu presisi.

lcd_init(16);//16 merupakan jenis LCD yang dipergunakan.

lcd_clear(); // menghapus tulisan pada LCD.

Page 41: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

105

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

while (1) // perintah untuk mengulang.

{

// Place your code here

rtc_get_date(&d,&t,&y);

rtc_get_time(&h,&m,&s);

sprintf( buffer,"%d/%d/%d",d,t,y);

lcd_gotoxy(0,0);// perintah untuk pindah dari

baris x ke y dan sebalik nya

lcd_puts(buffer);// perintah menapilkan hasil

yang dideklarasikan dengan

variabel buffer.

sprintf( buffer,"%d:%d:%d",h,m,s);

lcd_gotoxy(0,1);

lcd_puts(buffer);

}

};

Dari listing program di atas dipergunakan salah satu operator

unary. Operator unary merupakan operator yang hanya

menggunakan sebuah operand saja atau bandingkan dengan operator

operator yang lainya yang menggunakan dua buah operand.[10]

Adapun bentuk operand yang dipergunakan adalah “&” merupakan

operand yang menghasilkan alamat memori operand atau operator

pointer. ”%d” merupakan kode format untuk fungsi menampilkan

nilai desimal integer.

//rtc_set_time(11,20,15) dan //rtc_set_date(7,7,12); merupakan

setting waktu yang diatur. Time merupakan waktu awal jam diatur,

sedangkan date merupakan tanggal awal diatur. Jika suatu saat jam

Page 42: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

106

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

dan tanggal mengalami keterlambatan atau error, dapat dilakukan

setting ulang dengan menggunakan code vision. Pada saat proses

setting, tanda “//” dihilangkan terlebih dahulu dan kemudian di

compile. Jika sudah tanda “//” akan kembali diaktifkan dan

kemudian di compile. “//” difungsikan untuk meng - non aktifkan

fungsi RTC set agar pada saat alat mulai dinyalakan lagi, program

ini tidak akan dieksekusi oleh mikrokontroler.

e) Program Mengaktifkan Interupsi Untuk Sensor Infra Merah Baik

Pintu Masuk Maupun Pintu Keluar.

Interupsi merupakan sebuah sistem yang disediakan oleh

mikokontroler ATMega16. Interupsi merupakan sebuah kondisi di

mana sebuah CPU berhenti dari program rutin yang sedang

dijalankan untuk melayani perogram khusus atau rutin khusus. Jika

CPU sudah selesai mengerjakan rutin khusus tersebut, maka CPU

akan kembali mengerjakan rutin utama yang terhenti karena adanya

interupsi. Berikut merupakan program interupsi yang dipergunakan

pada alat ini. Adapun interupsi yang dipergunakan untuk program ini

adalah INT0 untuk pintu masuk dan INT1 untuk pintu keluar yang

nantinya akan mempermudah proses penghitungan jumlah peserta

yang datang.

#include <mega16.h>

#include <delay.h>

Page 43: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

107

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

// Declare your global variables here

unsigned char

h,m,s,d,t,y,f_kirim,i,menit,ruangan_penuh;

char buffer[16];

charangka[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0

x82,0xF8,0x80,0x90};

unsigned int rat,pul,sat,jumlah,masuk,keluar;

void main(void)

{

DDRA=0xFF;

DDRB=0xFF;

PORTD=0xFF;

#asm("sei")

}

void display_7segment()

// ------ pintu masuk

interrupt [EXT_INT0] void ext_int0_isr(void)//

program interupasi.

{

GICR=0b10000000;//int0 OFF

//delay_ms(250); //delay anti bounching, bisa

disesuaikan jika menggunakan sensor

yang bagus.

for(i=0;i<20;i++)

{

display_7segment();

}

jumlah++; //jumlah ditambah 1

sprintf( buffer,"jml=%d ",jumlah);

lcd_gotoxy(8,0);

lcd_puts(buffer);

Page 44: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

108

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

GICR=0b11000000;//int0 ON

}

//-------pintu keluar

interrupt[EXT_INT1]void ext_int1_isr(void)

//program interupsi.

{

GICR=0b01000000;//int0 OFF

//delay_ms(250); //delay anti bounching, bisa disesuaikan

for(i=0;i<20;i++)

{

display_7segment();

}

if(jumlah>0)

{

jumlah--; // jumlah dikurangi 1 ini untuk menghindari

jika pada saat kondisi 0, down tertekan.

sehingga mengakibatkan muncul nya nilai

minus ataupun nilai lebih dari 500.

}

GICR=0b11000000;//int0 ON

sprintf( buffer,"jml=%d ",jumlah);

lcd_gotoxy(8,0);

lcd_puts(buffer);

}

GICR=0b11000000; //interupsi ekst 0 & 1 aktif

MCUCR=0x00; //low level

};

}

Pada listing program terdapat #asm("sei") Ini perintah untuk

mengaktifkan sistem interupsi. Kode tersebut adalah kode assembly,

Page 45: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

109

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

ini merupakan sebuah kode untuk membuat program dari

CodeWizard dan mengaktifkan interupsi secara otomatis akan tampil

kode tersebut. Sedangkan GICR=0b11000000 GICR adalah register

untuk mengaktifkan interupsi eksternal. Bit ke 7 jika diisi “1” maka

interupsi eksternal 1 aktif, jika diisi “0” maka tidak aktif. Bit ke 6

jika diisi “1” maka interupsi eksternal 0 aktif, jika diisi “0” maka

tidak aktif. Dan MCUCR=0x00 Ini register untuk menentukan

kondisi sinyal ada interupsi eksternal. Jika isinya “0” maka kondisi

yang dipilih adalah “LOW LEVEL”, artinya begitu ada sinyal LOW

pada PIN interupsi eksternal akan terjadi interupsi.

f) Program Inisialisasi Komunikasi Serial dan Pengiriman SMS.

Program ini merupakan program yang akan mengirimkan SMS

ke seluruh HP receiver yang telah ditentukan. Sebelum membuat

program ini, diharuskan untuk memberikan alamat dari komunikasi

serial. Di mana untuk nilai baud rate yang dipergunakan untuk

komunikasi serial ini adalah 9600. Untuk membuat program kirim

SMS ini menggunakan AT Command. Karena alat ini hanya

difungsikan sebagai pengirim SMS maka bentuk AT Command yang

dipakai adalah AT+CMGS. Ini adalah perintah untuk mengirim

SMS. Adapun struktur untuk pengiriman SMS ini ialah AT+CMGS

(No tujuan SMS akan dikirim) untuk lebih jelas nya dapat dilihat

pada program berikut.

Page 46: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

110

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

#include <mega16.h>

#include <delay.h>

#include <stdio.h>

// I2C Bus functions

#asm

.equ __i2c_port=0x15 ;PORTC

.equ __sda_bit=1

.equ __scl_bit=0

#endasm

#include <i2c.h>

// DS1307 Real Time Clock functi ons

#include <ds1307.h>

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x1B ;PORTC

#endasm

#include <lcd.h>

// Declare your global variables here

Unsigned char h,m,s,d,t,y,f_kirim,i,menit,

ruangan_penuh;

char buffer[16];

charangka[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0

x82,0xF8,0x80,0x90};

unsigned int rat,pul,sat,jumlah,masuk,keluar;

Listing program di atas ialah penginisialisasian dari RTC dan

LCD ini dipergunakan karena pengiriman SMS berpatokan pada

waktu yang tertera pada LCD. Dan LCD juga sebagai indikator SMS

sedang dikirim dan SMS terkirim.

Page 47: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

111

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

//---------fungsi kirim sms

void send_sms()

{

#asm("cli")

delay_ms(2000);

printf("AT+CMGS=085270994452\r\n");

//----nomor HP tujuan : 085270994452, bisa ganti yang lain

//printf("085270994452\r\n");

//----- tunggu 700 ms

delay_ms(1000);

//----- isi sms yang dikirim

printf("REPORT SEMINAR NASIONAL AKATEL");

printf("\r\n");

printf("Jam=%d:%d:%d WIB",h,m,s);

printf("\r\n");

printf("Tanggal=%d-%d-%d ",d,t,y);

printf("\r\n");

printf("Jumlah Peserta=%d Orang",jumlah);

//printf("Tes Kirim SMS");

//----- kode akhiran untuk perintah kirim sms

putchar(26);

printf("\r\n");

delay_ms(1000);

//----- tunggu 1 detik

lcd_clear();

lcd_putsf("Terkirim...");

delay_ms(2000);

#asm("sei");

}

Page 48: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

112

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Listing program di atas ialah program dari AT Command. Di

karenakan alat hanya mengirim SMS maka kode yang dipakai adalah

AT+CMGS. Setelah kode ini diinisialisasi pada program pengiriman

SMS maka dapat dilanjukan dengan meng-input isi SMS yang akan

dikirim ke nomer tujuan yang telah ditentukan. printf("\r\n") adalah

kode yang dipakai untuk memunculkan karakterisrik enter pada hasil

SMS yang akan dikirim. Untuk delay yang dipergunakan tidak

presisi, sehingga dapat diganti.

//----- kode akhiran untuk perintah kirim sms

putchar(26);

printf("\r\n");

delay_ms(1000);

//----- tunggu 1 detik

lcd_clear();

lcd_putsf("Terkirim...");

delay_ms(2000);

#asm("sei");

*/

Listing program di atas ialah program yang dipakai sebagai

indikator SMS terkirim. Indikator ini akan muncul pada LCD,

sehingga pada saat SMS sudah terkirim maka tulisan terkirim pada

LCD akan terhapus dan kembali memunculkan waktu dan jumlah

peserta yang telah datang.

Page 49: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

113

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

void send_sms_warning()

{

#asm("cli")

delay_ms(200);

printf("AT+CMGS=085270994452\r\n");

delay_ms(1000);

printf("WARNING !!!!!!!");

printf("\r\n");

printf("Room is Over Capacity");

putchar(26);

printf("\r\n");

delay_ms(2000);

lcd_clear();

lcd_putsf("SMS terkirim");

delay_ms(2000);

#asm("sei");

Listing program di atas ialah program yang dipergunakan

untuk mengirim SMS yang menandakan ruangan sudah penuh. Pada

program tersebut terdapat #asm("cli") ini adalah tanda yang dipakai

untuk mematikan fungsi integer. Karena pada program pengiriman

SMS fungsi interger tidak dipergunakan. sifat dari tanda tersebut

sementara dan bersifat lokal, hanya pada program tersebut.

}

void main(void)

{

// USART Baud rate: 9600

UCSRA=0x00;

Page 50: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

114

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

UCSRB=0x08;

UCSRC=0x86;

UBRRH=0x00;

UBRRL=0x33;

USART ialah alamat dari komunikasi serial alat ini, untuk

dapat memperoleh alamat ini mudah, dapat menggunakan fasilitas

Run The Codewizardavr Automatic Program Generator yang

tersedia pada Code Vision.

//send_sms();

delay_ms(1000);

lcd_gotoxy(8,0);

lcd_putsf("jml=0");

#asm("sei")

rtc_get_time(&h,&m,&s);

menit=m;

menit=menit+3;

if(menit>=60)

{

menit=menit-60;

}

while (1)

{

// Place your code here

rtc_get_date(&d,&t,&y);

rtc_get_time(&h,&m,&s);

sprintf( buffer,"%d/%d/%d ",d,t,y);

lcd_gotoxy(0,0);

Page 51: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

115

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

lcd_puts(buffer);

sprintf( buffer,"%d:%d:%d ",h,m,s);

lcd_gotoxy(0,1);

lcd_puts(buffer);

rat=jumlah/100;

pul=(jumlah%100)/10;

sat=(jumlah%100)%10;

for(i=0;i<50;i++)

if((jumlah>=500)&&(f_kirim==0)) // program

SMS dikirim jika jumlah pengujung sudah mencapai

500.

{

lcd_clear();

lcd_putsf("send sms");

send_sms();

f_kirim=1;// variabel yang dipergunakan.

delay_ms(2000);

}

if((jumlah>=501)&&(ruangan_penuh==0))//

program SMS dikirim jika jumlah peserta sudah

melebihi dari yang telah ditentukan.

{

lcd_clear();

lcd_putsf("send sms");

send_sms_warning();

ruangan_penuh=1;

delay_ms(2000);

}

if((menit==m)&&(s<=2))// program pengiriman SMS

selama sepuluh menit

sekali.

Page 52: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

116

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

{

lcd_clear();

lcd_putsf("send sms");

send_sms();

s=1;

delay_ms(2000);

menit=menit+3;

if(menit>=60)// program pengiriman SMS selama

sepuluh menit sekali.

{

menit=menit-60;

}

};

}

}

Listing program di atas ialah program kondisi SMS akan

dikirim ke HP receiver, mulai dari kondisi normal yaitu SMS yang

dikirim sepuluh menit sekali, SMS yang dikirim pada saat jumlah

pengunjung sudah mencapai 500 seperti jumlah yang telah

ditentukan pada rencana rancangan sebelumnya dan kondisi terakhir

merupakan kondisi di mana peserta sudah melebihi dari jumlah yang

telah ditentukan yaitu 501. Pada kondisi ini, SMS akan dikirim ke

semua HP panitia yang telah ditentukan dengan mengabaikan asumsi

waktu yang telah di tentukan sebelumnya.

Page 53: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

117

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

4. Melakukan Compile Program pada Code Vision.

Melakukan compile program bertujuan untuk menghasilkan

program dengan ekstensi *.hex. Program dengan ekstensi ini merupakan

program yang akan diunduh ke dalam alat dengan menggunakan software

download mikrokontroler dan menggunakan alat yang disebut dengan

downloder. Berikut merupakan cara yang dapat dilakukan untuk

memperoleh program *.hex.

a) Klik tombol make the project yang terdapat pada toolbar. Jika sudah

dilakukan maka akan muncul jendela baru yang akan menunjukan

jika terdapat kesalahan pada program yang sudah dibuat. Jika pada

jendela baru tersebut tidak terdapat error, maka program dapat

lansung diunduh ke alat. Adapun bentuk dari jendela baru tersebut

adalah sebagai berikut.

Gambar 3.18 Jendela Compile Code Vision.

Page 54: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

118

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

b) Dari jendela tersebut, dapat diketahui jika program masih terjadi

error. Dan error tersebut akan ditampilkan oleh Code Vision.

Dengan meng-klik error tersebut, akan ditunjukan kesalahan –

kesalahan dari program yang telah dibuat.

5. Download Program ke ATMega16

Untuk dapat memasukan program yang telah dibuat diperlukan

sebuah alat yang disebut dengan downloader. Sedangkan untuk

membuat downloader dapat bekerja sebagaimana fungsinya. Pada

pembuatan alat ini, dipergunakan software yaitu eXtreme Burner – AVR.

untuk dapat menggunakan software ini pertama – tama diharuskan untuk

memilih tipe mikrokontroler yang dipergunakan. Di mana pada

pembuatan alat ini dipergunakan mikrokontroler ATMega16. Untuk

dapat melakukan ini, pilih menu chip yang terdapat pada toolbar dan

pilih Mikro16.

Gambar 3.19 Tampilan awal eXtreme Burner – AVR.

Page 55: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

119

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Tool open pada toolbar dipergunakan untuk membuka file yang

akan diunduh. Program yang diunduh ke dalam mikokontroler

merupakan program dengan ekstensi *.hex. Bila program berhasil

dibuka, maka tabel yang berisikan FFFF akan terisi dengan kode-kode

dari program yang telah diunduh. Karena program akan diunduh kedalam

mikokontroler, maka pilih write flash pada menu toolbar untuk mencatan

semua program kedalam mikrokontroler.

Page 56: Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

120

Tugas Akhir BAB III Perancangan Dan Pembuatan Sistem

AKATEL Sandhy Putra Purwokerto D309052

Gambar 3.13 Rangkain Sistem Keseluruhan.