• Tidak ada hasil yang ditemukan

Perancangan dan Pembuatan Jam Digital Dilengkapi dengan Penunjuk Termometer Berbasis Mikrokontroler Atmeg 8535

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan dan Pembuatan Jam Digital Dilengkapi dengan Penunjuk Termometer Berbasis Mikrokontroler Atmeg 8535"

Copied!
82
0
0

Teks penuh

(1)

PERANCANGAN DAN PEMBUATAN JAM DIGITAL

DILENGKAPI DENGAN PENUNJUK TERMOMETER

BERBASIS MIKROKONTROLER ATMEGA8535

SKRIPSI

Diajukan Oleh:

NIM: 070821003

ARDINAL SAKTI HASIBUAN

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

PERNYATAAN

PERANCANGAN DAN PEMBUATAN JAM DIGITAL DILENGKAPI DENGAN

PENUNJUK TERMOMETER BERBASIS MIKROKONTROLER ATMEGA8535

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 01 Desember 2009

(3)

PENGHARGAAN

Syukur Alhamdulillah penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini dengan judul: Peracangan dan Pembuatan Jam Digital Dilengkapi dengan Penunjuk Termometer Berbasis Mikrokontroler Atmeg 8535.

Skripsi ini disusun untuk memenuhi syarat kelulusan untuk memperoleh gelar sarjana sains dari Program Studi Fisika Fakultas MIPA Universitas Sumatera Utara.

Dalam menyelesaikan skripsi ini penulis menyadari bahwa tersusunnya skripsi ini tidak terlepas dari perhatian, bimbingan dan dukungan dari berbagai pihak, sehingga dengan keikhlasan dan kerendahan hati pada kesempatan ini penulis mengucapkan terima kasih kepada:

1. Bapak Drs. Kurnia Brahmana, M.Si selaku dosen pembimbing yang telah bersedia dengan sabar meluangkan waktunya untuk membimbing dan mengarahkan penulis dalam menyelesaikan skripsi ini.

2. Bapak Dr. Marhaposan Situmorang selaku ketua Departemen Fisika FMIPA – USU. 3. Prof. Dr. Eddy Marlianto selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan

Alam Universitas Sumatera Utara.

4. Seluruh dosen dan karyawan Departemen Fisika – Fakultas Matematika dan Ilmu Pengetahuan Alam – Universitas Sumatera Utara yang juga sangat berperan membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung.

(4)

Secara khusus dan tulus dengan penuh rasa cinta penulis menyampaikan rasa hormat dan terima kasih kepada Ayahanda Gusron Hasibuan dan Ibunda Meriati Lubis yang selama ini tiada henti-hentinya memberikan dukungan semangat, perhatian dan selalu mendoakan penulis dalam menyelesaikan studi di Fisika Ekstensi – Departemen Fisika – Fakultas Matematika dan Ilmu Pengetahuan Alam – Universitas Sumatera Utara.

Penulis juga menyadari bahwa Skripsi ini masih belum sempurna dalam materi dan penyajiannya. Untuk itu dengan segala kebesran hati, penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak yang dapat menjadi bahan masukan bagi penulis.

Semoga Skripsi ini dapat menjadi suatu masukan dalam perkembangan dunia pendidikan terutama generasi penerus Fisika Instrumentasi USU.

Medan, Juli 2009 Penulis

(5)

DAFTAR ISI

Daftar Gambar ... vii

BAB 1 – PENDAHULUAN ... 1

1.1. ... La tar Belakang ... 1

1.2. ... T ujuan Penelitian ... 2

1.3. ... M anfaat penelitian ... 2

1.4. ... B atasan Masalah ... 3

1.5. ... Si stematika Penulisan ... 3

BAB 2 – LANDASAN TEORI ... 5

2.1. ... Pe rangkat Keras ... 5

2.1.1. ... Re al-time clock (RTC) DS1307 ... 5

2.1.2. ... K omunikasi serial antar IC (I2C/ TWI) ... 6

2.1.2.1. ... Pr insip komunikasi I2C ... 6

2.1.2.2. ... Pe ngalamatan 7-bit I2C/ TWI ... 7

2.1.2.3. ... D efenisi-defenisi kondisi bus ... 8

2.1.2.4. ... M ode pengoperasian transfer data ... 9

2.1.2.5. ... M ode operasi RTC DS1307 melalui I2C/TWI ... 10

(6)

2.1.2.7. ... C ontrol register ... 12 2.1.3. ... M

ikrokontroler ATMega8535 ... 13 2.1.4. ... M

enentukan lamanya satu detik ... 16 2.1.4.1. ... M

enentukan satu detik menggunakan osilator kristal ... 16 2.1.4.2. ... M

enentukan satu detik pada mikrokntroler ... 18 2.1.5. ... M

ikrokontroler AT89C2051 ... 20 2.1.6. ... IC

4094 ... 22 2.1.7. ...

7-segment ... 23 2.1.8. ... Se

nsor infra merah ... 25 2.1.8.1. ... Si

stem transmisi infra merah ... 26 2.1.8.2. ... Si

(7)

2.1.9. ... Se nsor suhu LM35 ... 30 2.2. ... Pe

rangkat Lunak ... 32 2.2.1. ... Pe

mrograman bahasa C ... 32 2.2.1.1. ... B

aribel bertanda (signed) dan tak bertanda (unsigned) ... 35 2.2.1.5. ... Pe

ngarah preprosesor ... 35 2.2.1.6. ... Pe

rnyataan switch ... 38 2.2.1.10. ... M

emanggil assembler ... 39 2.2.2. ... B

ahasa Assembly MCS-51 ... 39 2.2.3. ... C

ode VisionAVR ... 42 2.2.4. ... So

ftware 8051 Editor, Assembler, Simulator ... 44 2.2.5. ... So

ftware downloader... 45

BAB 3 – PERANCANGAN ALAT ... 46

3.1. ... Di agram blok rangkaian ... 46 3.2. ... Si

stem kerja rangkaian ... 46 3.3. ... Pe

rancangan power supply (PSA) ... 47 3.4. ... R

angkaian mikrokontroler ATMega8535 ... 47 3.5. ... Pe

(8)

3.6. ... Pe rancangan sensor suhu LM35 ... 49 3.7. ... Pe

ngaturan jam dan menit ... 50 3.7.1. ... Pe

ngaturan jam dan menit dengan tombol manual ... 50 3.7.2. ... Pe

ngaturan jam dan menit menggunakan remot ... 51 BAB 4 – PENGUJIAN ALAT ... 52

4.1. ... Pe ngujian rangkaian power supply... 52 4.2. ... Pe

ngujian rangkaian mikrokontroler ATMega8535 ... 52 4.3. ... Pe

ngujian rangkaian display seven-segment ... 53 4.4. ... Pe

ngujian sensor suhu ... 54 4.5. ... Pe

ngujian detik ... 56 BAB 5 – KESIMPULAN DAN SARAN ... 58

5.1. ... K esimpulan ... 58 5.2. ... Sa

ran ... 59 Daftar Pustaka ... 60

(9)

DAFTAR TABEL

Tabel 2.1. Address map DS1307 ... 12

Tabel 2.2. Control register ... 12

Tabel 2.3. Rate select (RS1, RS0) ... 13

Tabel 2.4. Jumlah instruksi NOP yang disisipkan dan frekuensi clock keluaran ... 20

Tabel 2.5. Fungsi masing-masing pin port 3 mikrokontroler AT89S2051 ... 21

Tabel 2.6. Tipe Data ... 34

Tabel 4.1. Konversi angka desimal ke heksadesimal ... 54

Tabel 4.2. Hasil pengukuran suhu ... 55

(10)

DAFTAR GAMBAR

Gambar 2.1. Diagram pin RTC DS1307 ... 6

Gambar 2.2. Prinsip komunikasi serial bus I2C ... 7

Gambar 2.3. Proses transfer data pada I2C... 9

Gambar 2.4. Data write – slave receiver mode ... 10

Gambar 2.5. Data read – slave transmitter mode ... 11

Gambar 2.6. IC Mikrokontroler ATMega8535... 15

Gambar 2.7. Skema penentuan detik, menit dan jam ... 16

Gambar 2.8. Rangkaian skematik untuk menentukan satu detik ... 17

Gambar 2.9. Pembangkitan clock 1 MHz di port 1 pin 0 ... 19

Gambar 2.10. Pembangkitan clock 500 kHz ... 19

Gambar 2.11. Diagram Fungsi Register ... 22

Gambar 2.12. Diagram Pin IC 4094 ... 23

Gambar 2.13. Tampilan seven segmen ... 23

Gambar 2.14. Konfigurasi seven segmen tipe common anoda ... 24

Gambar 2.15. Konfigurasi seven segmen tipe common katoda ... 24

Gambar 2.16. Modulasi sinyal infra merah ... 26

Gambar 2.17. Timing diagram infra merah ... 26

Gambar 2.18. Terminologi pulsa-spasi ... 27

Gambar 2.19. LED infra merah ... 28

Gambar 2.20. Rangkaian pengirim infra merah ... 28

Gambar 2.21. Rangkaian penerima infra merah dengan filter ... 29

Gambar 2.22. Bentuk dan simbol IC LM35 ... 31

Gambar 2.23. Programmer Setting ... 44

Gambar 2.24. Software 8051 Editor, Assembler, Simulator ... 44

Gambar 2.25. ISP- Flash Programmer ... 45

Gambar 3.1. Diagram blok rancangan jam digital dilengkapi temperatur ... 46

Gambar 3.2. Rangkaian Power Supply (PSA) ... 47

Gambar 3.3. Sistem minimum ATMega8535 ... 48

Gambar 3.4. Rangkaian skematik display seven segment ... 48

Gambar 3.5. Perancangan sensor suhu ... 49

Gambar 3.6. Rangkaian pengaturan jam secara manual... 51

Gambar 3.7. Rangkaian penerima infra merah ... 51

Gambar 4.1. Rangkaian penguat tegangan degan gain = 10... 55

Gambar 4.2. Blok diagram pengujian jam dengan frequensi counter ... 56

(11)

BAB I

PENDAHULUAN

1.1.Latar Belakang

Seiring dengan kemajuan teknologi elektronika yang pesat saat ini sehingga dengan kemajuan tersebut dapat membantu dan mempermudah pekerjaan yang dilakukan oleh manusia menjadi lebih praktis, ekonomis dan efisien. Kemudian harga komponennya yang relatif murah membuat elektronika menjadi sesuatu yang harus dipelajari karena dalam dunia modern sekarang ini hampir seluruh aktivitas dalam kehidupan manusia diliputi oleh perangkat elektronika.

Dalam kehidupan sehari-hari orang sangat butuh dengan alat penunjuk waktu yang disebut dengan jam dimana dengan adanya jam kita tahu waktu saat ini pukul berapa, kita tahu berapa lama melakukan aktivitas dan dengan adanya jam kita dapat mengatur jadwal. Begitu juga dengan alat pengukur suhu yang disebut dengan termometer, dengan alat ini kita dapat mengetahui berapa derajat suhu lingkungan sekitar kita ataupun untuk mengukur suhu suatu benda untuk kepentingan penelitian. Waktu dan suhu adalah besaran standar fisika yang yang masing-masing sudah ditetapkan defenisi dan satuannya dalam standar internasional (SI). Dengan teknologi elektronika jam dan suhu pun dapat dibuat.

Dengan adanya kebutuhan akan alat yang dapat mengetahui waktu dan suhu, penulis mencoba untuk membuat suatu alat dan penelitian Tugas Akhir dengan judul “PERANCANGAN DAN PEMBUATAN JAM DIGITAL DILENGKAPI DENGAN PENUNJUK TERMOMETER BERBASIS MIKROKONTROLER

(12)

1.2.Tujuan Penelitian

Adapun tujuan dilakukannya penelitian ini adalah sebagai berikut:

1. Merancang jam digital yang dilengkapi dengan termometer penunjuk temperatur lingkungan.

2. Memanfaatkan AT Mega8535 sebagai mikrokontroller yang dapat diprogram sesuai kebutuhan. Disini penulis menggunkan mikrokontroller AT Mega8535 sebagai prosesor untuk mengendalikan jam dan menampilkan temperatur lingkungan.

3. Membuat tampilan (display) jam dari led (light emitting dioda) dengan urutan susunan jam, menit dan sekaligus sebagai penampil suhu lingkungan, secara bergantian.

1.3.Manfaat Penelitian

Adapun manfaat yang ingin diperoleh dari pembuatan tugas akhir ini adalah:

1. Menghasilkan produk baru yang berupa barang inovatif dan mempunyai nilai jual.

2. Menjadikan jam digital yang dilengkapi penunjuk termometer yang dapat memonitoring suhu selama 24 jam.

(13)

1.4.Batasan Masalah

Dalam perencanaan penelitian ini terdapat beberapa batasan masalah sebagai berikut:

1. Cara kerja dari jam digital yang menggunakan mikrokontroller AT Mega 8535. 2. RTC (Real Time Clock) yang digunakan adalah DS1307 yang menyimpan

data-data detik, menit, jam, tanggal, bulan, hari dalam seminggu, dan tahun valid hingga 2100. Tetapi disini jam yang dibuat penulis tidak dilengkapi dengan display hari, bulan, dan tahun tetapi hanya jam dan menit saja.

3. Temperatur lingkungan dalam derajat Celcius dan ditampilkan 1 desimal dibelakang koma.

4. Untuk menampilkan angka waktu dan angka suhu digunakan beberapa led yang disusun menyerupai seven segment yang terdiri atas 4 digit yang perinciannya adalah 2 digit untuk jam dan 2 digit untuk menit.

1.5.Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis melihat sistematika pembahasan bagaimana sebenarnya prinsip kerja dari alat ini:

BAB I PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.

BAB II LANDASAN TEORI

(14)

BAB III PERANCANGAN ALAT

Dalam bab ini penulis menyajikan perancangan alat, antara lain diagram blok dari rangkaian, skematik dari masing-masing rangkaian, diagram alir dari program yang akan diisikan ke mikrokontroler.

BAB IV PENGUJIAN ALAT DAN PROGRAM

Dalam bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai rangkaian-rangkaian yang digunakan, penjelasan mengenai program yang diisikan ke mikrokontroler ATMega8535 dan AT89S51.

BAB V KESIMPULAN DAN SARAN

(15)

BAB II

LANDASAN TEORI

2.1.Perangkat Keras

2.1.1.Real-Time Clock (RTC) DS1307

Real-time clock DS1307 adalah IC yang dibuat oleh perusasahaan Dallas

Semiconductor. IC ini memiliki kristal yang dapat mempertahankan frekuensinya dengan baik. Real-time clock DS1307 memiliki fitur sebagai berikut :

1. Real-time clock (RTC) meyimpan data-data detik, menit, jam, tanggal dan bulan dalam seminggu, dan tahun valid hingga 2100.

2. 56-byte, battery-backed, RAM nonvolatile (NV) RAM untuk penyimpanan. 3. Antarmuka serial Two-wire (I2C).

4. Sinyal keluaran gelombang-kotak terprogram (Programmable squarewave). 5. Deteksi otomatis kegagalan-daya (power-fail) dan rangkaian switch.

6. Konsumsi daya kurang dari 500nA menggunakan mode baterei cadangan dengan operasional osilator.

7. Tersedia fitur industri dengan ketahanan suhu: -40°C hingga +85°C. 8. Tersedia dalam kemasan 8-pin DIP atau SOIC.

Sedangkan daftar pin RTC DS1307 adalah sebagai berikut:

1. VCC – Primary Power Supply.

2. X1, X2 – 32.768kHz Crystal Connection. 3. VBAT – +3V Battery Input.

(16)

6. SCL – Serial Clock.

7. SQW/OUT – Square Wave/Output Driver.

Gambar 2.1. Diagram pin RTC DS1307 (Data Sheet IC Real-Time Clock DS1307).

2.1.2.Komunikasi Serial antar IC (I2C/ TWI)

I2C singkatan dari Inter Integrated Circuit, adalah sebuah protokol untuk komunikasi serial antar IC, dan sering disebut juga Two Wire Interface (TWI). Bus yang digunakan untuk komunikasi antara mikrokontroler dan divais periferal seperti memori, sensor temperatur dan I/O expander.

2.1.2.1.Prinsip Komunikasi I2C

Komunikasi dilakukan melalui dua jalur: SDA (serial data) dan SCL (serial clock). Setiap divais I2C memiliki 7-bit alamat yang unik. MSB adalah fix dan ditujukan untuk kategori divais. Sebagai contoh, 1010 biner ditujukan untuk serial EEPROM. Tiga bit berikutnya memungkinkan 8 kombinasi alamat I2C, yang berarti, dimungkinkan 8 divais dengan tipe yang sama, beroperasi pada bus I2C yang sama.

(17)

Selama pengiriman data, saluran data (SDA) harus dalam keadaan stabil ketika saluran clock (SCL) dalam keadaan high. Perubahan kondisi SDA pada saat SCL high akan dianggap sebagai sinyal-sinyal kendali, seperti: sinyal START (HIGH ke LOW) atau sinyal STOP (LOW ke HIGH).

Gambar 2.2. Prinsip komunikasi serial bus I2C (Data Sheet RTC DS1307).

2.1.2.2.Pengalamatan 7-bit I2C/ TWI

Byte pertama setelah sinyal START yang dikirim oleh master adalah alamat slave. Pengalamatan 7-bit memungkinkan 128 divais pada bus yang sama. Alamat I2C dikirim dalam byte pertama. LSB dari byte ini digunakan untuk menunjukkan bila master akan melakukan penulisan (0) atau pembacaan (0) terhadap slave.

(18)

2.1.2.3.Defenisi-defenisi Kondisi Bus

Berikut ini adalah defenisi kondisi bus pada sistem komunikasi serial I2C/ TWI:

1. Bus tidak sibuk (bus not busy): menyatakan pada saat ini bus tidak sibuk yaitu

pada saat jalur clock (SCL) dan jalur data (SDA) dua-duanya dalam keadaan HIGH.

2. Mulai transfer data (start data transfer): ditandai dengan perubahan kondisi

SDA dari HIGH ke LOW ketika SCL dalam kondisi HIGH.

3. Stop transfer data (stop data transfer): ditandai dengan perubahan kondisi

SDA dari LOW ke HIGH ketika SCL dalam kondisi HIGH.

4. Data valid: data yang dikirim bit demi bit dianggap valid jika setelah START,

kondisi SDA tidak berubah selama SCL HIGH, baik SDA HIGH maupun SDA LOW tergantung dari bit yang ingin ditransfer. Setiap siklus HIGH SCL baru menandakan pengiriman bit baru. Duty cycle untuk SCL tidak mesti 50%, tetapi frekuensi kemunculannya hanya ada dua macam, yaitu mode standar 100 kHz dan fast mode atau mode cepat 400 kHz. Setelah SCL mengirimkan sinyal HIGH yang kedelapan, arah transfer SDA berubah, sinyal kesembilan pada SDA ini dianggap sebagai acknowledge dari receiver ke transmitter. DS1307 hanya bisa melakukan transfer pada mode standar 100 kHz.

5. Pemberitahuan (Acknowledge): setiap receiver wajib mengirimkan sinyal

acknowledge atau sinyal balasan setiap selesai pengiriman 1-byte (8-bit data).

Master harus memberikan eksta clock atau clock tambahan pada SCL, yaitu

clock kesembilan untuk memberikan kesempatan receiver mengirimkan sinyal

acknowledge ke transmitter berupa keadaan LOW pada SDA selama SCL

(19)

2.1.2.4.Mode Pengoperasian Transfer Data

Mode pengoperasian transfer data berdasarkan kondisi bit R/W, ada dua jenis transfer data yaitu: transfer data dari transmitter master ke receiver slave dan transfer data dari transmitter slave ke receiver master.

A.Transfer Data dari Transmitter Master ke Receiver Slave

Byte pertama yang dikirimkan oleh master adalah alamat slave, setelah itu master

mengirimkan sejumlah byte data. Slave atau receiver mengirimkan sinyal acknowledge setiap kali menerima 1-byte data. Pada tiap byte, bit pertama yang dikirim adalah MSB dan bit yang terakhir adalah LSB.

B.Transfer Data dari Transmitter Slave ke Receiver Master

Meskipun master berperan sebagai receiver, byte pertama dikirimkan oleh master berupa alamat slave. Setelah itu slave meengirimkan bit acknowledge, dilanjutkan dengan pengiriman sejumlah byte dari slave ke master. Master mengirimkan bit acknowledge untuk setiap byte yang diterimanya kecuali byte terakhir. Pada akhir byte,

master mengirimkan sinyal ‘not avknowledge’, setelah itu master mengirimkan sinyal

STOP.

(20)

2.1.2.5.Mode Operasi RTC DS1307 Melalui I2C/TWI

IC RTC DS1307 beroperasi dalam dua mode, yaitu Slave Receiver Mode (Write Mode) dan Slave Transmitter Mode (Read Mode).

A.Slave Receiver Mode (Write Mode):

Mode penerima slave (write mode) dalam pengiriman sinyal memiliki urutan:

1. Setelah sinyal START, master mengirim byte pertama yang terdiri dari 7-bit address IC DS1307, yaitu 1101000 dan 1-bit R/W, yaitu LOW, karena ini

adalah opersai WRITE.

2. Hardware pada DS1307 akan membaca address yang dikirimkan oleh master tersebut, kemudian slave, dalam hal ini IC DS1307 akan bit-acknowledge pada SDA.

3. Setelah itu master akan mengirimkan address tempat data pertama akan diakses. Address ini berbeda dengan 7-bit address tadi, ini adalah address “isi” IC

DS1307, bukan address dari IC DS1307. Address ini akan diimpan dalam register pointer oleh DS1307 yang juga mengirim sinyal acknowledge ke

master.

4. Setelah itu master dapat mengirimkan sejumlah byte ke slave, dimana setiap byte dibalas dengan acknowledge oleh slave. Setiap menerima byte baru isi

register pointer ditambah satu sehingga register ini menunjuk ke alamat

(21)

Gambar 2.4. Data write – slave receiver mode (Data sheet RTC DS1307).

B.Slave Transmitter Mode (Read Mode):

Sama seperti mode write, setelah master memberikan sinyal START, ia mengirimkan byte pertama yang terdiri dari 7-bit dalam IC DS1307, yaitu 1101000, diikuti 1-bit R/W,

yaitu HIGH. Setelah menerima byte pertama ini, slave, dalam hal ini DS1307 akan mengirimkan bit acknowledge pada SDA. Setelah itu slave mulai mengirimkan sejumlah byte ke master. Setiap byte pengiriman dibalas dengan 1-bit acknowledge oleh master. Byte pertama yang dikirikan oleh slave atau DS1307 adalah data yang

alamatnya ditunjuk oleh register pointer pada DS1307. Setiap kali pengiriman byte ke master, secara otomatis isi register pointer ditambah satu. DS1307 akan terus menerus

mengirimkan byte ke master sampai master mengirimkan bit ‘not acknowledge’ diikuti dengan sinyal STOP. (Data sheet RTC DS1307).

Gambar 2.5. Data read – slave transmitter mode (Data sheet RTC DS1307).

2.1.2.6.Peta Alamat (Address Map) RTC DS1307

Pemetaan alamat (address map) pada RTC dimana register-register RTC di tempatkan pada lokasi pengalamatan 00h sampai 07h. sedangkan register-register RAM (Random Access Memory) ditempatkan pada lokasi pengalamatan 08h sampai 3Fh.

(22)

Tabel 2.1. Peta alamat RTC DS1307 (Data sheet RTC DS1307).

2.1.2.7.Register Kontrol (Control Register)

Register kontrol pada RTC DS1307 digunakan untuk mengontrol operasi pada pin SQW/OUT.

Tabel 2.2. Register kontrol (control register) (Data sheet RTC DS1307).

Keterangan bit-bit pada register kontrol:

1. Bit-7: Output Control (OUT) yaitu jika pin SQW/OUT di-disable sehingga tidak mengeluarkan clock, bit-7 ini menentukan level sinyal yang keluar dari pin SQW/OUT. Jika bit-7 ini LOW, maka level pin SQW/OUT ikut LOW dan jika bit-7 ini HIGH, maka level pin SQW/OUT ikut HIGH.

2. Bit-4: Square-wave Enable digunakan untuk enable/ disable keluarnya clock dari pin SQW/OUT. HIGH berarti enable dan LOW berarti disable. Frekuensi sinyal clock yang keluar dari pin SQW/OUT ditentukan oleh kondisi bit-1 dan bit-0.

3. Bits 1, 0: Rate Select (RS1, RS0) untuk menentukan frekuensi yang keluar dari

(23)

Tabel 2.3. Rate select (RS1, RS0) (Data sheet RTC DS1307).

2.1.3.Mikrokontroler ATMega8535

Atmel AVR adalah jenis mikrokontroller yang paling sering dipakai dalam bidang elektronika dan instrumentasi. Mikrokontroler AVR ini memiliki arsitektur RISC (Reduce Instruction Set Computing) delapan bit, di mana semua instruksi dikemas dalam kode 16-bit (16 bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock.

Arsitektur mikrokontroler jenis AVR pertama kali dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of Technology yaitu Alf-Egil Bogen dan Vegard Wollan. Mikrokontroler AVR kemudian dikembangkan lebih lanjut oleh Atmel. Seri pertama AVR yang dikeluarkan adalah mikrokontroler 8 bit AT90S8515, dengan konfigurasi pin yang sama dengan mikrokontroler 8051, termasuk address dan data bus yang termultipleksi. Mikrokontroler AVR menggunakan teknologi RISC dimana set instruksinya dikurangi dari segi ukurannya dan kompleksitas mode pengalamatannya.

(24)

dengan mikrokontroler MCS-51 yang instruksinya bervariasi antara 8 bit sampai 32 bit dan dieksekusi selama 1 sampai 4 siklus mesin, dimana 1 siklus mesin membutuhkan 12 periode clock.

Dalam perkembangannya, AVR dibagi menjadi beberapa varian yaitu AT90Sxx, ATMega, AT86RFxx dan ATTiny. Pada dasarnya yang membedakan masing-masing varian adalah kapasitas memori dan beberapa fitur tambahan saja. Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan

catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan sebagai memori progam.

Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu

daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan ini data disebut sebagai memori data.Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah.

(25)

setting pada konfigurasi bit di register BOOTSZ. Jika boot loader diproteksi, maka

program pada application flash section juga sudah aman. (Lingga Wrdhana, 2006).

Gambar 2.6. IC Mikrokontroler ATMega8535 (Data Sheet IC AT90S8535, AT90L8535). Konfigurasi Pin Mikrokontroler AVR ATmega8535:

1. VCC - Merupakan pin yang berfungsi sebagai pin masukan catu daya.

2. GND – Merupakan pin ground.

3. Port A (PA0...PA7) - Merupakan pin I/O dan pin masukan ADC.

4. Port B (PB0 – PB7) – Merupakan akan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI.

5. Port C (PC0 – PC7) – Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komperator analog, input ADC dan Timer Osilator.

6. Port D (PD0 – PD7) – Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komperator analog, interupsi eksternal dan komunikasi serial.

7. RESET – Merupakan pin yang digunakan untuk mereset mikrokontoler.

8. XTAL1 dan XTAL2 – Merupakan pin masukan clock eksternal.

9. AVCC – Merupakan pin masukan tegangan untuk ADC.

(26)

2.1.4.Menentukan lamanya satu detik

Baik jam digital maupun alalog pada prinsipnya sama, yaitu frekuensi getaran. Perbedaanya hanya terletak pada sumber getaran / frekuensinya. Kalau jam analog menggunakan ayunan mekanik dan gear dengan kombinasi tertentu sehingga dia mampu untuk menentukan lamanya 1 detik dan menghitung 1 menit = 60 detik. Skema jam digital sumber frekuensinya dengan detak/ clock ditunjukkan pada gambar 2.7.

Gambar 2.7. Skema penentuan detik, menit dan jam (http://elektroarea.blogspot.com/2009_01_13_archive.html).

Sebuah pembangkit getaran /sumber detak 1 Hz akan dicacah dengan menggunakan MOD 60, artinya 1 Hz = 1 detik, setelah melewati MOD 60, maka 60 detik = 1 menit. Begitu pula dengan jam, 60 menit = 1 jam dan 24 jam = 1 hari (pukul 00 : 00 : 00). (http://elektroarea.blogspot.com/2009_01_13_archive.html).

2.1.4.1.Menentukan satu detik menggunakan osilator kristal

Pembagian suatu sinyal osilator dengan menggunakan frekuensi kristal untuk menghasilkan akurasi (0,01%) waktu 1 detik. Dua buah kounter 12 stage (CD4040) membentuk sebuah kounter biner 24 stage dan bit-bit yang sesuai digerbangkan bersama untuk memperoleh hasil yang diinginkan.

(27)

512) + bit 8 (= 256) + bit 6 (= 64) + bit 4 (= 16). Bit 14 dan 15 adalah stage ke-3 dan ke-4 pada kounter kedua (Q3 – pin 6 dan Q4 – pin 5), bit 0 adalah stage pertama pada kounter pertama (Q1 – pin 9). Untuk menggunakan kristal 100 kHz, masing-masing bit digeser ke kanan sebanyak satu kali menjadi: 65536(bit 16) + 32768(bit 15) + 1024(bit 10) + 512(bit 9) + 128(bit 7) + 32(bit 5) = 100.000. Dan jika menggunakan kristal 1MHz, bit-bit berikut ini akan diperlukan:

Bit 19 – Right counter Q8 – pin 1 Decimal value = 524288

18 Q7 – pin 4 262144

17 Q6 – pin 2 131072

16 Q5 – pin 3 65536

14 Q3 – pin 6 16384

Bit 9 – Left counter Q10 – pin 14 512 6 Q7 – pin 4 64 ---

1.000.000

Pada 1 MHz, resistor 330K pada rangkaian osilator dibutuhkan untuk peredaman yang setara dengan kira-kira 15K. Ketika hitungan terminal tercapai, sebuah pulsa reset 7 uS dibangkitkan oleh inverter Schmitt Trigger yang mengikuti gerbang NAND. Resistor 47K dan kapasitor 470 pF menopang output agar kounter-kounternya menghasilkan reset ke nol. Ini kurang dari satu siklus klok pada 50kHz dan tidak menghasilkan error akan menjadi sama dengan 7 siklus pada 1 MHz yang akan menyebabkan kounter kehilangan 7 mikro sekon waktu dalam setiap detiknya. Ini bukan error yang besar (7 bagian dari 1 juta). Lebar pulsa reset minimum untuk kounter CMOS kira-kira 1.5 mikro sekon, jadi pulsa reset tidak dapat dibuat terlalu singkat.

(28)

2.1.4.2.Menentukan satu detik pada mikrokontroler

Sebuah mikrokontroler mempunyai beberapa port keluaran. Dari port tersebut dapat dikeluarkan isyarat clock dengan frekuensi tertentu. Aras rendah clock dapat dikeluarkan dengan memberikan logika rendah pada keluaran port tersebut; dan aras tinggi clock dapat dikeluarkan dengan memberikan logika tinggi pada keluaran port tersebut. Frekuensi tertinggi clock yang dapat dikeluarkan sebuah port tergantung pada frekuensi clock yang diberikan kepada mikrokontoler tersebut dan pemilihan instruksi yang tepat.

Pembangkit isyarat clock

Pembangkitan isyarat clock dapat dilakukan minimal dengan tiga cara. Pertama, dengan mengeluarkan data logika tinggi diikuti dengan data logika rendah secara periodis. Hal ini dapat dilakukan dengan instruksi pemindahan data seperti MOV. Agar dapat diperoleh frekuensi clock cukup tinggi, maka dipilih instruksi yang mempunyai waktu eksekusi paling kecil yaitu satu siklus. Contoh instruksi tersebut adalah MOV P1, A (Atmel Corp., 1997). Jika suatu mikrokontroler dioperasikan dengan clock 24 MHz, maka dengan instruksi tersebut perubahan logika keluaran port 1 dapat dilakukan setiap 0,5 mikrodetik sekali.

Cara kedua dengan mengeset dan mereset sebuah pin port keluaran. Hal ini dapat dilakukan dengan instruksi SETB <pin_port> dan CLR <pin_port>. Cara kedua ini mempunyai kelebihan tidak terlibatnya data di memori lain. Sedangkan cara ketiga adalah dengan menegasikan logika port keluaran. Dengan menggunakan instruksi CPL <pin_port>, maka logika keluaran di suatu pin pada port keluaran dapat dinegasikan setiap satu siklus sekali atau 0,5 mikrodetik sekali.

Pembangkit clock 1 MHz

(29)

Keluaran pin 0 port 1 diharapkan berbentuk gelombang kotak dengan frekuensi 1 MHz. Namun dengan adanya efek kapasitif pada keluaran port tersebut, bentuk gelombang berbentuk keluaran mungkin tidak kotak, tapi mendekati keluaran gelombang kotak yang telah melalui untai integrator. Untuk mengembalikan bentuk tersebut ke gelombang kotak dapat digunakan gerbang dengan pemicu Schmitt, misalnya gerbang NOT dengan pemicu Schmitt 74LS14 (Tocci dan Widmer, 1998).

Gambar 2.9. Pembangkitan clock 1 MHz di port 1 pin 0

(Teknoin, Volume 13, Nomor 2, Desember 2008, 6-10. ISSN: 0853-8697).

Pembangkit clock kurang dari 1 MHz

Clock dengan frekuensi kurang dari 1 MHz dapat dibentuk dengan menunda pelaksanaan instruksi CPL P1.0 berikutnya. Penundaan dapat dilakukan dengan menyisipkan instruksi untuk tidak mengerjakan apa-apa, yaitu NOP (No operation). Instruksi tersebut membutuhkan waktu eksekusi satu siklus. Penyisipan satu instruksi NOP di antara dua instruksi CPL P1.0 akan menunda eksekusi instruksi CPL P1.0 berikutnya selama satu siklus. Dengan mengoperasikan mikrokontroler ini pada clock 24 MHz, maka instruksi CPL berikutnya akan tertunda satu siklus atau 0,5 mikrodetik, sehingga selang eksekusi dua instruksi CPL adalah 1 μs.

Gambar 2.10. Pembangkitan clock 500 kHz

(30)

Penyisipan satu instruksi NOP akan membentuk clock dengan periode 2 mikrodetik atau berfrekuensi 500 kHz. Penyisipan dua instruksi NOP akan membentuk clock dengan frekuensi 333.333 Hz. Jumlah instruksi NOP yang dapat disisipkan dan frekuensi clock keluaran pada tabel 2.4.

Tabel 2.4. Jumlah instruksi NOP yang disisipkan dan frekuensi clock keluaran (Teknoin, Volume 13, Nomor 2, Desember 2008, 6-10. ISSN: 0853-8697).

NOP yang disisipkan 1 2 3 4 5 6 7 8 9

fclock (kHz) 500 333 250 200 167 143 125 111 100

2.1.5.Mikrokontroler AT89C2051

Mikrokontroler AT89C2051 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis Mikrokontroler ini pada prinsipnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit secara bersamaan.

Pada prinsipnya program pada mikrokontroler dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89C2051 adalah sebagai berikut:

(31)

4. Flash memori 2 Kbyte.

5. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal).

6. Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O.

7. Sebuah port serial dengan kontrol serial full duplex UART.

8. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika.

9. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.

Pin-pin pada Mikrokontroler AT89C2051

Deskripsi pin-pin pada Microcontroller AT89C2051 adalah sebagai berikut:

1. VCC (Pin 20) – Supplai tegangan.

2. GND (Pin 10) – Ground.

3. Port 3 (Pin 2, 3, 6 – pin 9, 11) – Port 3 merupakan 7 bit port I/O dua arah dengan internal pullup. Port 3 mempunyai fungsi pin masing-masing yang ditunjukkan pada

tabel 2.5.

Tabel 2.5. Fungsi masing-masing pin port 3 mikrokontroler AT89S2051. (Data sheet AT89C2051)

Port (pin)

Fungsi

P3.0 (pin 2) RXD (port serial penerima data).

P3.1 (pin 3) TXD (port serial pengirim data).

(32)

P3.3 (pin 7) INT1 (input interupsi ekstrernal 1, aktif low).

P3.4 (pin 8) T0 (eksternal input timer / counter 0).

P3.5 (pin 9) T1 (eksternal input timer / counter 1).

P3.7 (pin 11) RD (Read, aktif low) Sinyal kontrol pembacaan memori data input-output eksternal ke port 0.

4. RST (pin 1) – Reset akan aktif dengan memberikan input high selama 2 siklus. 5. XTAL1 (pin 4) – Input untuk clock internal.

6. XTAL2 (pin 5) – Output dari osilator.

2.1.6.IC 4094

(33)

Gambar 2.11. Diagram fungsi register (Data Sheet IC 4094)

Ada dua serial yang keluar dari IC 4094 yaitu Qs dan Q’s yang disediakan untuk keperluan penyambungan beberapa IC secara serial. Data tersedia pada Qs pada pergeseran sinyal clock dari logika low ke logika high untuk memungkinkan pergeseran dengan kecepatan tinggi dalam keperluan penyambungan beberapa IC secara serial. Output pada Q’s akan bergeser pada saat sinyal clock berubah dari logika high ke logika low. Gambar 2.4 menunjukkan posisi dan penamaan pin untuk IC 4094.

Gambar 2.12. Diagram Pin IC 4094 (Data sheet IC 4094). Keterangan:

(34)

CP = clock input STR = strobe input EO = ouput enable input QS, Q’S = output serial Q0 S/d Q7 = output parallel

2.1.7.Seven Segment

Seven segment merupakan LED yang disusun atas 7 segment yang dipergunakan untuk

menampilkan angka 0 sampai 9 dan sejumlah karakter alfabet.

Gambar 2.13. Tampilan seven segmen (Sulhan Setiawan, 2006)

Seven segment terdiri dari dua konfigurasi, yaitu common anoda dan common

katoda. Pada seven segment tipe common anoda, anoda dari setiap LED dihubungkan

menjadi satu kemudian dihubungkan ke sumber tegangan positif dan katoda dari masing-masing LED berfungsi sebagai input dari seven segment, seperti ditunjukkan pada gambar 2.14.

(35)

Pada seven segment tipe common katoda, katoda dari setiap LED dihubungkan menjadi satu kemudian dihubungkan ke ground dan anoda dari masing-masing LED berfungsi sebagai input dari seven segment.

Gambar 2.15. Konfigurasi seven segmen tipe common katoda (Dwi Sutadi, 2002). Sesuai dengan gambar 2.15, maka untuk menyalakan salah satu segmen, maka anodanya harus diberi tegangan minimal 3 volt atau logika high. Misalnya jika segmen a akan dinyalakan, maka anoda pada segmen a harus diberi tegangan minimal 3 volt

(36)

2.1.8.Sensor Infra Merah

Infra merah (infra red) ialah sinar elektromagnet yang panjang gelombangnya lebih dari pada cahaya nampak yaitu di antara 700 nm dan 1 mm. Sinar infra merah merupakan cahaya yang tidak tampak. Jika dilihat dengan dengan spektroskop cahaya maka radiasi cahaya infra merah akan nampak pada spektrum elektromagnet dengan panjang gelombang di atas panjang gelombang cahaya merah. Dengan panjang gelombang ini maka cahaya infra merah ini akan tidak tampak oleh mata namun radiasi panas yang ditimbulkannya masih terasa/dideteksi. Infra merah dapat dibedakan menjadi tiga daerah yakni:

1. Near Infra Merah………0.75 – 1.5 µm. 2. Mid Infra Merah..………...1.50 – 10 µm. 3. Far Infra Merah……….10 – 100 µm.

Sifat-sifat cahaya infra merah:

1. Tidak tampak manusia.

2. Tidak dapat menembus materi yang tidak tembus pandang. 3. Dapat ditimbulkan oleh komponen yang menghasilkan panas.

(37)

Komunikasi Infra Merah dilakukan dengan menggunakan dioda infra merah sebagai pemancar dan modul penerima infra merah sebagai penerimanya. Untuk jarak yang cukup jauh, kurang lebih tiga sampai lima meter, pancaran data infra merah harus dimodulasikan terlebih dahulu untuk menghindari kerusakkan data akibat noise.

Gambar 2.16. Modulasi sinyal infra merah

(http://www.ittelkom.ac.id/library/index.php?view=category&id=23:Sistem%20Komun ikasi%20Inframerah=com_content&Itemid=15).

Untuk transmisi data yang menggunakan media udara sebagai media perantara biasanya menggunakan frekuensi carrier sekitar 30KHz sampai dengan 40KHz. Infra merah yang dipancarkan melalui udara ini paling efektif jika menggunakan sinyal carrier yang mempunyai frekuensi di atas. Sinyal yang dipancarkan oleh pengirim diterima oleh penerima infra merah dan kemudian di-dekode-kan sebagai sebuah paket data biner. Proses modulasi dilakukan dengan mengubah kondisi logika 0 dan 1 menjadi kondisi ada dan tidak ada sinyal carrier infra merah yang berkisar antara 30KHz sampai 40 KHz. Pada komunikasi data serial, kondisi idle (tidak ada transmisi data) adalah merupakan logika ‘0’, sedangkan pada komunikasi infra merah kondisi idle adalah kondisi tidak adanya sinyal carrier. Hal ini ditujukan agar tidak terjadi pemborosan daya pada saat tidak terjadi transmisi data.

Gambar 2.17. Timing diagram infra merah

(http://www.ittelkom.ac.id/library/index.php?view=category&id=23:Sistem%20Komun ikasi%20Inframerah=com_content&Itemid=15).

(38)

Semua remote kontrol menggunakan transmisi sinyal infra merah yang dimodulasi dengan sinyal carrier dengan frekuensi tertentu yaitu pada frekuensi 30KHz sampai 40KHz. Sinyal yang dipancarkan oleh pengirim diterima oleh penerima infra merah dan kemudian di-decode-kan sebagai sebuah paket data biner. Pada transmisi infra merah terdapat dua terminologi yang sangat penting yaitu : ‘space’ yang menyatakan tidak ada sinyal carrier dan pulse yang menyatakan ada sinyal carrier seperti pada gambar 2.18

Gambar 2.18. Terminologi pulsa-spasi

(http://www.ittelkom.ac.id/library/index.php?view=category&id=23:Sistem%20Komun ikasi%20Inframerah=com_content&Itemid=15)

(39)

Gambar 2.19. LED infra merah

(http://www.ittelkom.ac.id/library/index.php?view=category&id=23:Sistem%20Komun ikasi%20Inframerah=com_content&Itemid=15)

Gambar 2.20. Rangkaian pengirim infra merah

(http://www.ittelkom.ac.id/library/index.php?view=category&id=23:Sistem%20Komun ikasi%20Inframerah=com_content&Itemid=15)

2.1.8.2.Sistem penerima infra merah

(40)

cahaya yang digunakan adalah komponen TSOP4838, dimana pada komponen ini sudah terdapat filter. Jadi detektor ini akan bekerja dengan baik jika terdapat frekuensi 38KHz.

Gambar 2.21. Rangkaian penerima infra merah dengan filter

(http://www.ittelkom.ac.id/library/index.php?view=category&id=23:Sistem%20Komun ikasi%20Inframerah=com_content&Itemid=15)

Fototransistor adalah jenis transistor bipolar yang menggunakan kontak (junction) base-collector untuk menerima atau mendeteksi cahaya dengan gain internal

yang dapat menghasilkan sinyal analog maupun digital. Fototransistor ini akan mengubah energi cahaya menjadi arus listrik dengan sensitivitas yang lebih tinggi dibandingkan fotodioda, tetapi dengan waktu respon yang secara umum akan lebih lambat daripada fotodioda. Hal ini terjadi karena transistor jenis ini mempunyai kaki basis terbuka untuk menangkap sinar, dan elektron yang ditimbulkan oleh foton cahaya pada junction ini di-injeksikan di bagian basis dan diperkuat dibagian kolektornya.

Pada fototransistor, jika kaki basis mendapat sinar maka akan timbul tegangan pada basisnya dan akan menyebabkan transistor berada pada daerah jenuhnya (saturasi), akibatnya tegangan pada kaki kolektor akan sama dengan ground (Vout = 0 V). Sebaliknya jika kaki basis tidak mendapat sinar, tidak cukup tegangan untuk membuat transistor jenuh, akibatnya semua arus akandilewatkan ke keluaran (Vout = Vcc).

(41)

bagian penerimanya. Selain itu agar tidak terganggu oleh sinyal cahaya lain maka sinyal listrik yang dihasilkan oleh sensor infra merah harus difilter pada frekuensi sinyal carrier yaitu pada 30KHz sampai 40KHz. Selanjutnya baik photodioda maupun phototransistor disebut sebagai photodetector. Dalam penerimaan infra merah, sinyal ini merupakan sinyal infra merah yang termodulasi. Pemodulasian sinyal data dengan sinyal carrier dengan frekuensi tertentu akan dapat memperjauh transmisi data sinyal infra merah. Semakin besar area penerimaan maka sudut penerimaannya juga semakin besar. Kelemahan area penerimaan yang semakin besar ini adalah noise yang dihasilkan juga semakin besar pula. Suatu penerima pada sistem komunikasi cahaya harus memenuhi syarat antara lain:

1. Sensitivitas yang tinggi. Karena detektor cahaya digunakan pada suatu panjang gelombang tertentu, maka sensitivitas tertinggi terdapat pada daerah panjang gelombang yang dimaksud.

2. Respon waktu yang cepat, hal ini dimaksudkan agar sistem dapat dioperasikan pada kecepatan tinggi yang akan meningkatkan efisiensi sistem komunikasi. 3. Noise internal yang dibangkitkan detektor harus sekecil mungkin.

(http://www.ittelkom.ac.id/library/index.php?view=category&id=23:Sistem%20 Komunikasi%20Inframerah=com_content&Itemid=15)

2.1.9.Sensor Suhu LM35

IC LM35 dari National Semiconductor adalah sensor suhu yang teliti dan terkemas dalam bentuk Integrated Circuit (IC), dimana output tegangan keluaran sangat linear berpadanan dengan perubahan suhu. Sensor ini berfungsi sebagai pegubah dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10 mV/°C yang berarti bahwa kenaikan suhu 1°C maka akan terjadi kenaikan tegangan sebesar 10 mV.

(42)

penggunaannya sangat mudah, difungsikan sebagai kontrol dari indikator tampilan catu daya terbelah.

Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan ke sensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 µ A hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (self-heating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah yaitu kurang dari 0,5 ºC pada suhu 25 ºC. (Data sheet LM35).

Tegangan output-nya adalah analog dapat langsung dihubungkan dengan salah satu port mikrokontroler yang memiliki kemampuan ADC, misalnya ATmega8535. ADC pada ATmega8535 memiliki resolusi 10-bit, yang dapat memberikan keluaran 2^10 = 1024 nilai diskrit. Bila digunakan catu 5V, resolusi yang dihasilkan adalah 5000mV/1024 = 4.8mV. Karena LM35 memiliki resolusi output 10mV/ºC, maka resolusi termometer yang dibuat dengan ATmega8535 adalah 4.8mV/(10mV/°C) ~ 0.5ºC. Dan untuk hasil yang lebih baik dan mengurangi pengaruh noise, output dari LM35 dapat diperkuat dengan sebuah penguat tegangan. (Sulhan Setiawan, 2006). Beberapa varian LM35:

• LM35, LM35A memiliki jangkauan -55ºC hingga +150ºC. • LM35C, LM35CA memiliki jangkauan -40ºC hingga +110ºC. • LM35D memiliki jangkauan 0ºC hingga +100ºC.

(43)

Adapun keistimewaan dari IC LM 35 adalah :

1. Kalibrasi dalam satuan derajat celcius. 2. Linearitas +10 mV/ º C.

3. Akurasi 0,5 º C pada suhu ruang. 4. Range +2 º C – 150 º C.

5. Dioperasikan pada catu daya 4 V – 30 V. 6. Arus yang mengalir kurang dari 60 µA.

2.2.Perangkat Lunak

2.2.1.Pemrograman Bahasa C

Pencipta bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada sekitar tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk sejumlah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan mengunakan C mudah sekali untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya standarisasi bahasa C yaitu berupa standar ANSI (American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C. (Agus Bejo, 2008).

2.2.1.1.Bentuk Dasar Program C

Sebuah program dalam bahasa C setidaknya harus memiliki sebuah fungsi. Fungsi dasar ini disebut dengan fungsi utama (fungsi main) dan memiliki kerangka program sebagai berikut:

void main (void)

{

(44)

}

Jika kita memiliki beberapa fungsi yang lain maka fungsi utama inilah yang memiliki kedudukan paling tinggi dibandingkan fungsi-fungsi yang lain sehingga setiap kali program dijalankan akan selalu dimulai dari memanggil fungsi utama terlebih dahulu. Fungsi-fungsi yang lain dapat dipanggil setelah fungsi utama dijalankan melalui pernyataan-pernyataan yang berada didalam fungsi utama. Contoh:

// prototype fungsi inisialisasi port

Void inisialisasi_port (char A, char B, char C, char D)

Inisialisasi_port (0xFF, 0xF0, 0x0F, 0x00) ;

}

2.2.1.2.Pengenal

Pengenal (identifier) merupakan sebuah nama yang diisikan oleh pemrogram untuk menunjukkan identitas dari sebuah konstanta, variable, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi aturan berikut:

1. Karakter pertama tidak boleh mengunakan angka.

2. Karakter kedua dapat berupa huruf, angka, atau garis bawah. 3. Tidak boleh menggunakan spasi.

(45)

5. Tidak boleh menggunakan kata-kata yang merupakan sintaks maupun operator dalam pemrograman C, misalnya: void, short, const, if, bit, long, case, do, switch, char, float, for, else, break, int, double, include, while.

2.2.1.3.Tipe Data

Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya. Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.

Tabel 2.6. Tipe Data (Agus Bejo, 2009).

Tipe data Ukuran Jangkauan nilai

Bit 1 bit 0 atau 1

Char 1 byte -128 s/d 127

Unsigned char 1 byte 0 s/d 255

Signed char 1byte -128 s/d 127

(46)

Short int 2 byte -32.768 s/d 32.767

Unsigned int 2 byte 0 s/d 65.535

Signed int 2 byte -32.768 s/d 32.767

Long int 4 byte -2.147.483.648 s/d 2.147.483.647

Unsigned long int 4 byte 0 s/d 4.294.967.295

Signed long int 4 byte -2.147.483.648 s/d 2.147.483.647

Float 4 byte 1.2*10-38 s/d 3.4*10+38

(47)

2.2.1.4.Variabel Bertanda (Signed) dan Tak Bertanda (Unsigned)

Untuk pendeklarasian tipe data yang berupa bilangan bulat yaitu char, int, short dan long dapat ditambahkan signed atau unsigned. Signed digunakan untuk mendefenisikan bahwa data yang disimpan dalam variabel adalah bertanda sedangkan unsigned untuk data yang tidak bertanda. Contoh:

Unsigned char data1;

Signed char data2;

Pada contoh diatas variabel data1 bertipe char (1 byte) dan tidak bertanda (unsigned) sehingga dapat menyimpan data dari 0 sampai 255. Sedangkan variabel data2 bertipe char (1 byte) dan bertanda (signed) sehingga dapat menyimpan data dari -128 sampai 127. Nilai negatif pada bilangan bertanda disimpan dalam bentuk komplemen 2. Misalnya untuk nilai (-1) komplemen 2 nya adalah 0xFF sehingga data 0xFF inilah yang disimpan dalam variabel tersebut. (Agus Bejo 2008).

2.2.1.5.Pengarah Preprosesor

Pengarah preprosesor digunakan untuk mendefenisikan prosesor yng digunakan, dalam hal ini adalah untuk mendefenisikan jenis mikrokontroler yang digunakan. Dengan pengarah preprosesor ini maka pendeklarasian register-register dan penamaanya dilakukan pada file lain yang disisipkan dalam program utama dengan sintaks sebagai berikut:

# include <nama_preprosesor>

Contoh:

(48)

2.2.1.6.Pernyataan

Pernyataan adalah satu buah instruksi lengkap yang berdiri sendiri. Berikut adalah contoh sebuah pernyataan:

PORTC = 0x0F;

Pernyataan PORTC = 0x0F; merupakan sebuah instruksi untuk mengeluarkan data 0x0F ke Port C. (Agus Bejo, 2008).

2.2.1.7.Fungsi Pustaka

Bahasa C memiliki sejumlah fungsi pustaka yang berada pada file-file tertentu dan sengaja disediakan untuk menangani berbagai hal dengan cara memanggil fungsi-fungsi yang telah dideklarasikan dalam file tersebut. Dalam banyak hal, pustaka-pustaka yang tersedia tidak berbentuk kode sumber melainkan dalam bentuk yang telah dikompilasi. Sintaks untuk menggunakan fungsi pustaka ini adalah sebagai berikut:

# include <nama_file_pustaka>

Contoh:

# include <lcd.h>

Beberapa fungsi pustaka yang telah disediakan oleh CodeVisionAVR antara lain adalah:

1. Fungsi Tipe Karakter (ctype.h). 2. Fungsi Standar I/O (stdio.h). 3. Fungsi matematika (math.h). 4. Fungsi String (string.h). 5. Fungsi Konversi BCD (bcd.h).

(49)

7. Fungsi Tunda (delay.h). 8. Fungsi LCD (lcd.h).

9. Fungsi I2C (i2c.h).Fungsi SPI (spi.h).

10.Fungsi Real Time Clock (RTC) (ds 1302.h, ds1307.h). 11.Fungsi Sensor Suhu LM75, DS1621 dll (lm75.h, ds1621.h). 12.Fungsi Sensor Suhu LM75, DS1621 dll (lm75.h, ds1621.h).

2.2.1.8.Pernyataan IF

Pernyataan if digunakan untuk melakukan pengambilan keputusan terhadap dua buah kemungkinan yaitu mengerjakan suatu blok pernyataan atau tidak. Bentuk pernyataan if adalah sebagai berikut:

If (kondisi)

{

// blok pernyataan yang akan dikerjakan

// jika kondisi if terpenuhi

}

Pernyataan if diatas akan mengecek apakah data yang terbaca pada Port A (PINA) nilainya lebih dari 0x80 atau tidak, jika ya maka variabel dataku diisi dengan nilai PINA dan data 0xFF dikeluarkan ke port C.

Apabila dalam blok pernyataan hanya terdapat satu pernyataan saja maka tanda { dan } dapat dihilangkan seperti contoh berikut:

If (PINA>0x80)

(50)

2.2.1.9.Pernyataan Switch

Pernyataan switch digunakan untuk melakukan pengambilan keputusan terhadap banyak kemungkikan. Bentuk pernyataan switch adalah sebagai berikut:

switch (ekspresi)

{

case nilai_1 : pernyataan_1; break;

case nilai_2 : pernyataan_2; break;

case nilai_3 : pernyataan_3; break;

….

Default : pernyataan_default; break;

}

Pada pernyataan switch, masing-masing pernyataan (pernyataan_1 sampai dngan pernyataan_default) dapat berupa satu atau beberapa perintah dan tidak perlu berupa blok pernyataan. Pernyataan_1 akan dikerjakan jika ekspresi bernilai sama dengan nilai_1, pernyataan_2 akan dikerjakan jika ekspresi bernilai sama dengan nilai_2, pernyataan_3 akan dikerjakan jika ekspresi bernilai sama dengan nilai_3, dan seterusnya. Pernyataan_default berssifat opsional, artinya boleh ada boleh tidak. Jika ada maka pernyataan_default akan dikerjakan apabila nilai ekspresi tadak ada yang sama satupun dengan salah satu nilai_1, nilai_2, nilai_3 dan seterusnya.

Setiap akhir dari pernyataan harus diakhiri dengan break, karena ini digunakan untuk keluar dari pernyataan switch. Contoh:

switch (PINA)

{

Case 0xFE : PORTC = 0x00; break;

Case 0xFD : PORTC = 0xFF; break;

(51)

PINA bernilai 0xFD maka data 0xFF akan dikeluarkan ke port C kemudian program keluar dari pernyataan switch. (Agus Bejo, 2008).

2.2.1.10.Memanggil Assembler

Meskipun kita menggunakan bahasa C, kita masih tetap bisa menggunakan sintaks pemrograman assembler. Caranya adalah sebagai berikut:

# asm

; instruksi-instruksi assembler

# endasm

Contoh: # asm

Ldi r0, 100

mov r2, r3

# endasm

2.2.2.Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89C4051 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi, antara lain yaitu:

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung. Contoh pengisian nilai secara langsung:

MOV R0, #20h

(52)

Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.Contoh pengisian nilai secara tidak langsung:

MOV 20h, #80h

...

...

MOV R0, 20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0). Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai

register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh: MOV R0, #80h

Loop: ...

...

DJNZ R0, Loop

...

R0 = 1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh: ...

ACALL TUNDA

...

TUNDA:

...

(53)

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh:

ACALL TUNDA

...

TUNDA:

...

RET

5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh: Loop:

...

...

JMP Loop

6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh:

Loop:

JB P1.0, Loop

...

7. Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,

Loop:

JNB P1.0, Loop

...

(54)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0, #20h, Loop

...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya.

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh:

MOV R0, #20h R0 = 20h

...

DEC R0 R0 = R0 – 1

...

10.Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1

...

2.2.3.CodeVisionAVR

(55)

dibandingkan dengan kompiler-kompiler yang lain karena beberapa kelebihan yang dimiliki oleh CodeVisionAVR antara lain:

1. Menggunakan IDE (Integrated Development Environment).

2. Fasilitas yang disediakan lengkap (mengedit program, mengkompile program, mendownload program) serta tampilannya terlihat menarik dan mudah dimengerti. Kita dapat mengatur settingan editor sedemikian rupa sehingga membantu memudahkan kita dalam penulisan program.

3. Mampu membangkitkan kode program secara otomatis dengan menggunakan fasilitas CodeWizardAVR.

4. Memiliki fasilitas untuk mendownload program langsung dari CodeVisionAVR dengan menggunakan hardware khusus seperti Atmel STK500, Kanda System STK200+/300 dan beberapa hardware lain yang telah didefenisikan oleh CodeVisionAVR.

5. Memiliki fasilitas debugger sehingga dapat menggunakan software compiler lain untuk mengecek kode assembler nya, contohnya AVRStudio.

6. Memiliki terminal komunikasi serial yang terintegrasi dalam CodeVisionAVR sehingga dapat digunakan untuk membantu pengecekan program yang telah dibuat khususnya yang menggunakan fasililtas komunikasi serial UART.

CodeVision chip programmer

Salah satu kelebihan dari CodeVisionAVR adalah tersedianya fasilitas untuk mendownload program ke mikrokontroler yang telah terintegrasi sehingga demikian CodeVisionAVR ini selain dapat berfungsi sebagai software kompiler juga dapat berfungsi sebagai software programmer/ downloader. Jadi kita dapat melakukan proses download program yang telah dikompile dengan menggunakan software CodeVisionAVR juga.

(56)

Gambar 2.23. Programmer Setting

(http://s600.photobucket.com/albums/tt82/electroboter/?).

2.2.4. Software 8051 Editor, Assembler, Simulator

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator.

Gambar 2.24. Software 8051 Editor, Assembler, Simulator

Setelah program selesai ditulis, kemudian di-save dan kemudian di-assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika

(57)

Software 8051 IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroler.

2.2.5.Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet.

Gambar 2.25. ISP- Flash Programmer

.

(58)

BAB III

PERANCANGAN ALAT

3.1.Diagram Blok Rangkaian

Gambar 3.1. Diagram blok rancangan jam digital dilengkapi temperatur.

3.2.Sistem Kerja Rangkaian

Tegangan yang masuk ke rangkaian PSA akan mengaktifkan rangkaian Mikrokontroller dan display seven segmen. Tegangan yang dihasilkan sensor suhu LM35 akan diproses di mikrokontroler ATMega8535 untuk ditampilkan di display seven segment. kemudian data yang disimpan dalam Real Time Clock (RTC) berupa data jam dan menit juga ditampilkan di display seven segment. Jadi jam dan suhu di tampilkan bergantian dalam sebuah display seven segment 4 digit secara periodik.

PSA Sensor suhu

Mikrokontroller AT Mega8535

(59)

3.3.Perancangan Power Supply (PSA)

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat dengan keluaran 5 volt digunakan untuk mensupply tegangan ke rangkaian display dan rangkaian mikrokontroler. Rangkaian power supply ditunjukkan pada gambar 3.2 berikut ini:

Gambar 3.2. Rangkaian Power Supply (Sulhan Setiawan, 2006).

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda menjadi 12 volt DC, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED1 sebagai indikator apabila PSA dinyalakan, sedangkan LED2 sebagai indikator untuk 5 Volt dan 12 Volt. Transistor PNP TIP 2955 disini berfungsi untuk mensupply arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah. (Sulhan Setiawan, 2006).

3.4.Rangkaian Mikrokontroller ATMega8535

(60)

mikroprosesor dan memori program (ROM) serta memori serbaguna (RAM), bahkan ada fasilitas ADC, PLL, EEPROM dalam satu kemasan. Mikrokontroler ATMega8535 mempunyai 40 pin dengan catu daya tunggal 5 volt. Ke-40 pin dalam keluarga mikrokontroler ATMega8535 ditunjukkan oleh gambar 3.3.

Gambar 3.3. Sistem minimum ATMega8535 (Agus Bejo, 2008)

3.5.Perancangan Display Seven Segment

Rangkaian display seven segment ini berfungsi untuk menampilkan data jam, menit dan detik. Rangkaian display seven segment ditunjukkan pada gambar 3.4.

(61)

Ke port A.0 ATMega8535 5 V

Pada rangkaian display ini semua led disusun membentuk seven segmen menggunakan common katoda, dimana semua katoda led dihubungkan.Setiap segmen akan menyala jika/ diberi logika high.

Display ini menggunakan 4 buah seven segment yang dihubungkan ke IC HCF

4094BE yang merupakan IC serial to paralel. IC ini akan merubah 8 bit data serial yang masuk menjadi keluaran 8 bit data paralel. Rangkaian ini dihubungkan dengan PC.7, PC.6, PC.5 ATmega8535. PC.7 digunakan sebagai port pengiriman data serial, PC.6 sebagai sinyal clock untuk pengiriman data serial, PC.5 sebagai output enable pada IC HCF4094BE. Pada rangkaian display ini digunakan Transistor PNP TIP31C yang berfungsi sebagai saklar agar display disupply langsung dari PSA, karena arus dari output 4094 tidak cukup untuk mensupply LED yang banyak.

3.6.Perancangan Sensor Suhu LM35

IC LM 35 sebagai sensor suhu yang teliti dan terkemas dalam bentuk Integrated Circuit (IC), dimana output tegangan keluaran sangat linear berpadanan dengan perubahan suhu. IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang.

Pada pembuatan alat ini kita menggunakan sensor LM35 sebagai data masukan ke mikrokontroller ATMega8535 pada port A.0 yaitu pada kaki 40.

(62)

3.7.Pengaturan jam dan menit

Pengaturan jam dan menit dapat dilakukan dengan men-setting tombol jam dan menit pada keypad. Tetapi untuk memudahkan lagi, maka dibuat rangkaian untuk setting jam menggunakan remot. Hal ini sangat membantu karena apabila jam ditempatkan pada daerah yang sulit terjangkau maka tidak repot lagi untu men-setting-nya.

3.7.1.Pengaturan jam dan menit dengan tombol manual

Dengan adanya dua buah tombol, program jam digital dapat ditambah untuk melakukan seting jam maupun menit. Misalnya tombol S1 digunakan untuk menambah jam dan

tombol S2 untuk menambah menit. Langkah untuk menambah jam dan menit pada dasarnya sama. Perbedaannya terletak pada variabel yang diubah, dan angka tertinggi untuk variabel tersebut.

Perintah pertama yang dilakukan adalah melompat jika S1 tidak ditekan. Tidak ditekan akan menghasilkan nilai 1, yang berarti bit diset. Agar proses melompat jika bit di-set maka perintah yang digunakan adalah jb. Jika ternyata tombol ditekan, artinya port bernilai 0 atau bit tidak di-set, maka proses lompatan tidak terjadi. Dengan demikian perintah yang dijalankan berikutnya adalah perintah dibawahnya.

(63)

Gambar 3.6. Rangkaian pengaturan jam secara manual (Sulhan Setiawan, 2006).

3.7.2.Pengaturan jam dan menit menggunakan remot

Pada dasarnya rangkaian pengaturan jam dan menit dengan menggunakan tombol manual sama saja dengan pengaturan jam dan menit menggunakan remot, bedanya hanya pada penambahkan pemancar infra merah pada tombol manual.

Sedangkan untuk penerimanya disini digunakan penerima TSOP yang kemudian datanya menjadi masukan ke port 3.0 (RXD) mikrokontoler AT89C2051P.

Gambar 3.7. Rangkaian penerima infra merah

(64)

BAB IV

PENGUJIAN ALAT

4.1.Pengujian Rangkaian Power Supply (PSA)

Pengujian pada bagian rangkaian power supply ini dapat dilakukan dengan mengukur tegangan keluaran dari rangkaian ini dengan menggu nakan volt meter digital. Pada power supply ini terdapat dua keluaran. Dari hasil pengujian diperoleh tegangan keluaran pertama sebesar + 5,1 volt. Tegangan ini dipergunakan untuk mensupply tegangan ke seluruh rangkaian. Mikrokontroler ATMega8535 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt, sehingga tegangan 5,1 volt ini cukup untuk mensupply tegangan ke mikrokontroler ATMega8535.

4.2.Pengujian Rangkaian Mikrokontroler ATMega8535

Untuk mengetahui apakah rangkaian mikrokontroller ATMega8535 telah bekerja dengan baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroler ATMega8535. Programnya adalah:

#include <mega8535.h>

Void main()

{

DDRA=0xff

PORTD=0x10

(65)

Penjelasan dari program adalah: #include <mega8535.h>

//menyertakan file library untuk chip ATmega8535. DDRD=0xff

//Port D, dijadikan sebagai output. PORTD=0x10

/*

Mengeluarkan output ke Port D dengan nilai 0x10 (10 Heksa) atau 0b01000000. Berarti logika dari Port D saat program dijalankan:

1. Port D.0  low (0) 2. Port D.1  low (0) 3. Port D.2  low (0) 4. Port D.3  low (0) 5. Port D.4  low (0) 6. Port D.5  low (0) 7. Port D.6  high (1) 8. Port D.7  low (0)

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke PD.7. Jika program tersebut diisikan ke mikrokontroller ATMega8535, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroller ATMega8535 telah bekerja dengan baik.

4.3.Pengujian Rangkaian Display Seven Segment

(66)

segmen akan menyala jika diberi logika 1 dan sebaliknya segmen akan mati jika diberi logika 0.

Pengujian pada display seven-segment yang diadakan di Laboratorium Mikrokontroler FMIPA USU diperoleh data yang harus dikirimkan ke port serial untuk menampilkan angka desimal ditunjukkan pada tabel 4.1.

Tabel 4.1. Konversi angka desimal ke heksadesimal

Angka

Desimal

Data yang dikirim

( Hexadesimal )

1 0xF3H

2 0x22H

3 0x 97H

4 0xA7H

5 0x 66H

6 0xE5H

(67)

8 0xA2h

9 0xF7H

0 0xE7H

4.4.Pengujian Sensor Suhu

Pengujian dilakukan dengan membandingkan hasil pengukuran sensor suhu LM35 dan termometer yang dilaksanakan di depan Laboratorium Mikrokontroller FMIPA USU pada tanggal 10 November 2009. Keluaran dari LM35 spesifikasinya adalah menghasilkan tegangan 0.01V setiap kenaikan suhu 1°C, yang mana nilai suhu seratus kali lebih besar dari pada tegangan yang dihasilkan LM35. Untuk mengatasi ini digunakan op-amp untuk menguatkan tegangan menjadi seratus kali lebih besar. Gain dari amplifier dapat di-set menjadi 100 kali dengan memilih resistor yang sesuai pada rangkaian penguat seperti yang ditunjukkan oleh gambar 4.1.

Gambar 4.1. Rangkaian penguat tegangan degan gain = 100

(68)

Tabel 4.2. Waktu dan pengukuran suhu dengan sensor LM35 dan termometer air raksa tanggal 10 November 2009.

Pukul (WIB)

Pengukuran suhu (°C)

Termometer air raksa Sensor suhu LM35

08.00 26 27

09.00 26 28

10.00 27 28

11.00 29 29

12.00 30 30

13.00 31 32

14.00 32 32

15.00 31 31

(69)

17.00 29 30

18.00 28 29

Rata-rata = 29 Rata-rata = 29,545

Tabel 4.2 menunjukkan pengukuran suhu dengan menggunakan sensor suhu LM35 bila dibandingkan dengan termometer air raksa hasilnya mendekati.

4.5.Pengujian detik

Pengujian detik pada alat ini dihitung menggunakan alat yang dinamakan frekuensi kounter dimana output jam dihubungkan dengan frekuensi kounter tersebut untuk menghitung jumlah detik selama seminggu (tujuh hari) yang secara teori adalah 604.800 detik. Dan sebagai pembanding digunakan frekuensi generator dan jam digital buatan pabrik dari berbagai merk dengan pengujian yang sama.

Gambar 4.2. Blok diagram pengujian jam dengan frequensi counter.

Tabel 4.3. Pengukuran frekuensi kounter terhadap waktu diadakan pada April 2009 sampai dengan Agustus 2009.

Minggu Hasil pengukuran frekuensi kounter selama seminggu (dalam detik) pada: Frequensi

Generator

Frequensi Counter

Gambar

Tabel 2.5. Fungsi masing-masing pin port 3 mikrokontroler AT89S2051. (Data sheet
Gambar 2.11. Diagram fungsi register (Data Sheet IC 4094)
Gambar 2.14. Konfigurasi seven segmen tipe common anoda (Dwi sutadi, 2002).
Gambar 2.15. Konfigurasi seven segmen tipe common katoda (Dwi Sutadi, 2002).
+7

Referensi

Dokumen terkait

Telah dibuat alat ukur daya listrik berupa power meter digital berbasis mikrokontroller AVR ATmega 8535 dengan menggunakan perangkat keras berupa sensor arus ACS 712 5Ampere,

suatu ruangan secara otomatis dengan menggunakan sensor infra merah berbasis..

Sensor cahaya photodiode dan sensor suhu LM35 dapat dimanfaatkan untuk membuat sistem peringatan dini kebakaran dengan output SMS dan alarm.

Dimana terdapat sebuah keypad sebagai input an password untuk pintu, LDR ( Light Dependent resistor ) sebagai sensor cahaya pada jendela, sensor pir sebagai

Sistem Keamanan Ruangan Menggunakan Sensor Passive Infra Red (PIR) Dilengkapi Kontrol Penerangan Pada Ruangan Berbasis Mikrokontroler Atmega8535 dan Realtime clock

Cahaya infra merah yang terdapat pada optocoupler tidak perlu lensa untuk memfokuskan cahaya karena dalam satu chip mempunyai jarak yang dekat dengan penerimanya.. Pada

Perbedaan nilai tegangan yang dihasilkan antara jarak 4 cm dengan 10 cm ini disebabkan faktor sumber cahaya infra merah yang dipancarkan pada objek apabila pada

Bagian pemancar atau transmitter dibangun dari sebuah led infra merah untuk mendapatkan ketahanan yang lebih baik dari pada menggunakan led biasa. Sensor ini