• Tidak ada hasil yang ditemukan

Pemrograman Thermometer Digital Berbasis Mikrokontroller AVR ATmega8535 Dengan Output Suara Dan Display Digital

N/A
N/A
Protected

Academic year: 2016

Membagikan "Pemrograman Thermometer Digital Berbasis Mikrokontroller AVR ATmega8535 Dengan Output Suara Dan Display Digital"

Copied!
73
0
0

Teks penuh

(1)

PEMROGRAMAN THERMOMETER DIGITAL BERBASIS

MIKROKONTROLER AVR ATMEGA8535 DENGAN OUTPUT

SUARA DAN TAMPILAN DISPLAY DIGITAL

TUGAS AKHIR

SRI KESUMA DEWI

072408006

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

PEMROGRAMAN THERMOMETER DIGITAL BERBASIS

MIKROKONTROLER AVR ATMEGA8535 DENGAN OUTPUT SUARA DAN TAMPILAN DISPLAY DIGITAL

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya

SRI KESUMA DEWI 072408006

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PEMROGRAMAN THERMOMETER DIGITAL BERBASIS MIKROKONTROLER AVR ATMEGA8535 DENGAN OUTPUT SUARA DAN TAMPILAN DISPLAY DIGITAL

Kategori : TUGAS AKHIR

Nama : SRI KESUMA DEWI

Nomor Induk Mahasiswa : 072408006

Program Studi : DIPLOMA FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU

PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Januari 2011

Diketahui/Disetujui oleh

Departemen Fisika FMIPA USU

Ketua, Pembimbing I

Drs. Syahrul Humaidi M. Sc Drs. Luhut Sihombing,

M.Si

NIP. 196505171993031003 NIP

(4)

PERNYATAAN

PEMROGRAMAN THERMOMETER PDIGITAL BERBASIS

MIKROKONTROLER AVR ATMEGA8535 DENGAN OUTPUT SUARA DAN TAMPILAN DISPLAY DIGITAL

TUGAS AKHIR

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

Medan, Januari 2011

(5)

PENGHARGAAN

Alhamdulillahirabbil’alamin, puji dan syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan karunia-Nya kepada penulis sehingga masih diberikan kesehatan dan kesempatan untuk menyelesaikan kajian dalam Tugas Akhir ini selesai pada waktunya.

Dalam kesempatan ini penulis ingin menyampaikan terima kasih yang sebesar-besarnya kepada :

1. Bapak Dr. Sutarman, M.Sc selaku dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

2. Bapak Drs. Luhut Sihombing, selaku dosen pembimbing pada penyelesaian Tugas Akhir ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan kajian dalam Tugas Akhir ini . admnistrasi di Departemen Fisika yang telah memberikan pelayanannya kepada penulis selama masa perkuliahan sampai akhirnya penulis bisa menyelesaikan Tugas Akhir ini.

5. Ayahanda Sutrisno dan ibunda Kudsiyah yang selalu memberikan dukungan moril dan materil serta do’a yang tiada hentinya kepada penulis, serta kakanda Dillah, Yuni, Taufik Adinda Jaya, Mala, Syahrul yang mendo’akan penulis.

6. Kepada keluarga besar UKMI Al-Falak yang senantiasa memberikan motivasi dan do’a yang tiada henti kepada penulis.

Terima kasih kepada sahabat – sahabat seperjuangan Lia, Henny, Nova, Kiki, Yusdiah, Santani, Arni, Resti yang senantiasa memberikan semangat dan do’anya. Juga kepada kak Nana , kak Ira, kak Nurul yang senantiasa mendo’akan penulis. Juga kepada adik – adik UKMI Al-Falak, Minah, Evie, Jannah, Melly, Uli, Nur, Ade, Dwi, Saidah, Titin, Putri, Fitri, Ayu, Nazwa, Lia, Ida serta rekan-rekan lainnya yang tidak dapat disebutkan satu persatu. Semoga Allah SWT memberikan balasan atas do’a, motivasi dan bantuan yang saudari berikan kepada penulis.

(6)

ABSTRAK

Saat ini termometer telah banyak digunakan oleh masyarakat. Pada umumnya termometer dirancang untuk orang yang memiliki kondisi fisik normal terutama dalam kemampuan melihat. Orang cacat khususnya orang buta, akan menemui kesulitan dalam menggunakan termometer yang ada. Berkaitan dengan masalah tersebut, makalah ini menjelaskan tentang perancangan termometer badan untuk mereka yang mengalami keterbatasan dalam melihat. Secara umum termometer badan dengan output suara ini menggunakan sensor LM35, Mikrokontroller ATMega8535, Regulator 7805 dan ISD 2560. Range pengukuran termometer ini adalah suhu 35°C – 41°C.

(7)

AVR MICROCONTROLLER BASED DIGITAL PROGRAMMING ATMEGA8535 WITH VOICE OUTPUT AND DISPLAY DIGITAL DISPLAY

ABSTRACT

Today the thermometer has been widely used by the public. In general, the thermometer is designed for people who have normal physical condition, especially in the ability to see. People with disabilities, especially blind people, will have difficulty in using existing thermometer. In connection with this problem, this paper describes the design of the thermometer body for those who experience limitations in viewing. In general, the thermometer body with this sound output using LM35 sensor, microcontroller ATMega8535, Regulators ISD 7805 and 2560. Measurement range of this thermometer is a temperature of 35 ° C - 41 ° C.

(8)

DAFTAR ISI

1.3 Maksud dan Tujuan Penulisan 2

1.4 Metode Pengumpulan Data 3

1.5 Sistematika Penulisan 4

BAB 2 TINJAUAN TEORITIS 5

(9)

2.2.2.7 Operator Logika 26

BAB 3 RANCANGAN ALAT DAN CARA KERJA RANGKAIAN 35

3.1 Diagram Blok Rangkaian 35

BAB 4 PENGUJIAN DAN ANALISA PROGRAM 46

4.1 Flowchart Program 46

4.2 Pengujian Rangkaian Mikrokontroler ATMega8535 47

4.3 Pengujian Rangkaian Catu daya 48

4.4 Pengujian Rangkaian LM 35 49

4.5 Pengujian Rangkaian ISD2560 49

4.6 Pembahasan Program 50

BAB 5 KESIMPULAN DAN SARAN 60

5.1 Kesimpulan 60

5.2 saran 61

(10)

DAFTAR TABEL

Halaman

Tabel 2.1 Jenis-jenis AVR 6

Tabel 2.2 PORT A 12

Table 2.3 PORT B 13

Table 2.4 PORT C 13

Table 2.5 PORT D 16

Table 2.6 Fungsi Pin-pin Pada Modul M1632 17

Table 2.7 Tipe Data 23

Table 2.8 Operator Logika 25

Table 2.9 Operator Pembanding 25

Table 2.10 Operator Logika 26

Table 2.11 Operator Bitwise 28

Table 2.12 Operator Penugasan 28

Table 2.13 Operator Majemuk 28

Tabel 2.14 Operator Penambahan dan Pengurangan 29

(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Arsitektur ATMega8535 8

Gambar 2.2 Pin-pin ATMega8535 11

Gambar 2.3 DDRAM M1632 16

Gambar 2.4 Timing Diagram Pembacaan register Perintah Mode 4 Bit Interface 18 Gambar 2.5 Timing Diagram Penulisan Data ke Register Data Mode 4 Bit

Interface 19

Gambar 2.6 Timing Diagram Pembacaan Data Dari Register data Mode 4 Bit

Interface 20

Gambar 2.7 Software ISP-Flash Downloader 34

Gambar 3.1 Diagram Blok Rangkaian 36

Gambar 3.2 Skematik Minimum Mikrokontroler ATMega8535 37

Gambar 3.3 RAngkaian Catu Daya 39

Gambar 3.4 Rangkaian Display LCD 40

Gambar 3.5 Rangkaian ATMega8535 Dengan ISD2560 42

Gambar 3.6 rangkaian Perekam Suara 43

Gambar 3.7 Sensor LM 35 45

Gambar 4.1 Flowchart Program Termometer Tubuh 47

(12)

ABSTRAK

Saat ini termometer telah banyak digunakan oleh masyarakat. Pada umumnya termometer dirancang untuk orang yang memiliki kondisi fisik normal terutama dalam kemampuan melihat. Orang cacat khususnya orang buta, akan menemui kesulitan dalam menggunakan termometer yang ada. Berkaitan dengan masalah tersebut, makalah ini menjelaskan tentang perancangan termometer badan untuk mereka yang mengalami keterbatasan dalam melihat. Secara umum termometer badan dengan output suara ini menggunakan sensor LM35, Mikrokontroller ATMega8535, Regulator 7805 dan ISD 2560. Range pengukuran termometer ini adalah suhu 35°C – 41°C.

(13)

AVR MICROCONTROLLER BASED DIGITAL PROGRAMMING ATMEGA8535 WITH VOICE OUTPUT AND DISPLAY DIGITAL DISPLAY

ABSTRACT

Today the thermometer has been widely used by the public. In general, the thermometer is designed for people who have normal physical condition, especially in the ability to see. People with disabilities, especially blind people, will have difficulty in using existing thermometer. In connection with this problem, this paper describes the design of the thermometer body for those who experience limitations in viewing. In general, the thermometer body with this sound output using LM35 sensor, microcontroller ATMega8535, Regulators ISD 7805 and 2560. Measurement range of this thermometer is a temperature of 35 ° C - 41 ° C.

(14)

BAB 1

PENDAHULUAN

1.1

Latar Belakang

Perkembangan teknologi yang demikian pesatnya, terutama dibidang elektronika

menyebabkan rangkaian-rangkaian aplikasi elektronika menggantikan peran manusia

sebagai ketelitian dan keakuratan dalam suatu pekerjaan. Salah satunya adalah mulai

tergantinya peranan dalam pengemasanan untuk didapat ketelitian yang akurat

beberapa bahan khususnya yang diangkat pada pembuatan alat dalam tugas proyek ini

yaitu berupa suhu.

Saat ini semua peralatan yang menunjukan indikator terhadap suatu besaran

fisik diproduksi dan ditujukan untuk manusia normal. Ini berarti semua perangkat

(15)

manusia yang memiliki kondisi tubuh tidak normal, misalnya buta, cacat. Berdasar hal

tersebut terpikirkan membuat suatu termometer badan dengan output suara.

Tujuan dari perancangan termometer ini adalah agar orang yang cacat dalam

penglihatan dapat menggunakan termometer ini. Dengan fasilitas output berupa suara,

maka orang buta dapat menggunakan termometer ini.

1.2 Batasan Masalah

Untuk membatasi penulisan dan penyusunan tugas akhir, maka perlu dibuat batasan

penulisan. Adapun pembatasan masalah dalam penulisan dan penyusunan tugas akhir

ini adalah sebagai berikut :

1. Termometer dengan output suara diharapkan dapat memudahkan manusia

dan orang cacat khususnya orang buta untuk mendeteksi suhu tubuhnya.

2. Perancangan dan pembuatan alat termometer ber-output suara yang

mempunyai range 35oC sampai dengan 41oC dan resolusi 0,1oC.

3. Prinsip kerja dari mikrokontroler ATMega8535 sebagi pengontrol

keseluruhan dari operasi alat yang digunakan.

1.3 Maksud dan Tujuan Penulisan

(16)

a. Untuk melengkapi tugas sebagai salah satu syarat menyelesaikan program

pendidikan Diploma III di MIPA USU

b. Sebagai penerapan ilmu yang dipelajari di bangku perkuliahan secara nyata

dan aplikatif

c. Untuk kemudahan bagi orang cacat kebutaan agar dapat mendeteksi suhu

tubuhnya

d. Untuk memanfaatkan mikrikontroller sebagai pemrosesan data pengontrolan

system kerja dari rangkaian-rangkaian yang digunakan

e. Untuk memberikan suatu inovasi baru untuk di industry dari pemanfaatan

elektronika dalam kehidupan sehari-hari.

1.4 Metode Pengumpulan Data

Data-data yang digunakan dalam penulisan tugas akhir ini diperoleh melalui beberapa

metode. Adapun metode yang digunakan penulis dalam pengumpulan data adalah

sebagai berikut :

a. Studi kepustakaan

Penulis mengumpulkan data dan teori yang dibutuhkan dalam penulisan tugas

akhir melalui buku-buku dan referensi lainnya yang berkaitan dengan tugas

akhir ini

b. Lembar data (Datasheet) komponen yang dipakai pada alat

Lembar data (datasheet) merupakan data-data yang dikeluarkan oleh produsen

(17)

lainnya tentang komponen hasil produksi dari produsen komponen elektronika

yang bersangkutan

c. Pengujian Alat

Data diperoleh setelah alat yang dibuat diuji dan diambil kesimpulan kemudian

dilakukan pengujian tersebut

d. Berkonsultasi dengan Dosen pembimbing

Penulis melakukan konsultasi dengan berdiskusi dan secara langsung pada

Dosen pembimbing penulis mengenai segala sesuatu yang berhubungan

dengan penulisan tugas akhir ini

1.5 Sistematika Penulisan

Adapun sistematika penulisan yang digunakan dalam penulisan Tugas Akhir ini

adalah sebagai berikut :

BAB 1 PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, batasan masalah, tujuan

penulisan tugas akhir, metode pengumpulan data untuk penulisan tugas akhir, dan

sistematika penulisan.

BAB 2 TINJAUAN TEORITIS

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk

pembahasan meliputi gambaran umum, prinsip kerja dari alat maupun komponen yang

(18)

BAB 3 RANCANGAN ALAT DAN CARA KERJA RANGKAIAN

Pada bab ini dipaparkan mengenai rangkaian-rangkaian yang digunakan

beserta prinsip kerja rangkaian.

BAB 4 PENGUJIAN DAN ANALISA PROGRAM

Dalam bab ini dibahas tentang cara pengujian rangkaian baik secara per

blok maupun secara keseluruhan.

BAB 5 KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari

pembahasan yang dilakukan dari tugas proyek ini serta saran apakah rangkaian ini

dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain

(19)

BAB 2

TINJAUAN TEORITIS

2.1 Perangkat Keras

Perangkat keras merupakan bentuk fisik dari termometer dengan output suara yang

terdiri dari mikrokontroller ATmega8535, Isd2560, LM 35, Regulator 7805, LCD

Interface, dan LCD Display

2.1.1 Mikrokontroler Jenis AVR ATMega8535

Mikrokontroler merupakan alat pengolah data digital dan analog (fitur ADC pada seri

AVR) dari tegangan maksimum 5 Volt. Keunggulan mikrokontroller di banding

mikroprosessor yaitu lebih murah dan didukung dengan software compiler yang

sangat beragam seperti software yang sangat beragam compiler C/C++, Basic, bahkan

assembler sekalipun sehingga pengguna dapat memilih program yang sesuai dengan

(20)

Pada mikrokontroler AVR membutuhkan sedikit komponen pendukung tidak

seperti mikrokontroller yang sistem pendukungnya terpisah atau terbentuk secara

parsial, seperti RAM, ROM, dan mikroprosessor sendiri.

Keunggulan AVR disbanding dengan mikrokontroller lain, memiliki kecepatan

eksekusi, karena sebagian besar instruksi diproses dalam satu siklus clock, jika

dibandingkan dengan mikrokontroller jenis MCS-51 yang mengeksekusi satu instruksi

dengan 12 siklus clock.

AVR memiliki fitur yang lengkap (ADC internal, EEPROM internal,

Timer/Counter, Watchdog timer, PWM, Port I/O, komunikasi serial, komparator)

sehingga fasilitas ini programmer dan desainer dapat menggunakannya dalam

berbagai aplikasi elektronika seperti robot, automasi industri, peralatan

telekomunikasi dan keperluan lainnya.

Beberapa produsen mikrokontroler mengeluarkan jenis mikrokontroler yang

memiliki fitur-fitur yang sangat beragam jenisnya seperti AVR jenis ATtiny, ATmega

dan AT90. Dari segi jumlah pin dan memori dapat kita lihat perbedaan jenis

mikrokontroller seperti table di bawah ini.

Tabel 2.1 Jenis-jenis AVR

Mikrokontroler Memori

Tipe Jumlah Pin Flash EEPROM SRAM

TinyAVR 8 – 32 1 – 2k 64 – 128 0 – 128

AT90Sxx 20 – 44 1 – 8k 128 – 512 0 – 1k

(21)

Pemograman AVR dengan bahasa C lebih baik dari bahasa pemograman

lainnya. Karena bahasa pemograman independen terhadap hardware C. keunggulan

lainnya penyusunan program besar dapat dilakukan dengan mudah dan program yang

telah jadi dapat digunakan ke jenis AVR lainnya dengan hanya mengubah fungsi –

fungsi port dan registernya.

Beberapa faktor pertimbangan penting untuk memilih mikrokontroler jenis

AVR antara lain:

- Harga mikrokontroller yang lebih murah dibanding mikroprosesor;

- Ukuran memori mikrokontroller yang cukup besar dan untuk menambah

memorinya dapat digunakan memori eksternal;

- Fitur ADC, Timer, PWM, USART, dan fasilitas lainnya yang

memudahkan Designer dalam merancang sistem;

- Kecepatan eksekusi program dimana instruksi dieksekusi dalam 1 clock

sementara mikrokontroller jenis MCS51 atau mengeksekusi instruksi

dalam 12 clock;

- Adanya clock internal sehingga mikrokontroller dapat digunakan tanpa

menggunakan crystal;

Software pendukung yang sangat beragam dan penggunaannya jauh lebih

mudah karena software menyediakan fitur yang memudahkan dalam memprogramnya

seperti Code Vision AVR dan BASCOM AVR yang menyediakan fitur desain LCD

(22)

2.1.2 Mikrokontroler ATMega8535

Mikrokontroller ATmega8535 adalah mikrokontroller 8bit CMOS dengan

menggunakan daya rendah dan menjalankan semua instruksi dalam satu siklus clock.

Mikrokontroller ATmega8535 dikombinasikan dengan 16 buah register. Semua

register terhubung dengan langsung dengan ke Aritmetical Logical Unit, membiarkan

2 register untuk diakses di dalam satu instruksi dieksekusi dalam satu clock.

(23)

2.1.2.1 Spesifikasi ATmega8535

a. High-performance, Low-power AVR® 8-bit Microcontroller

b. Advanced RISC Architecture

– 130 Powerful Instructions – Most Single Clock Cycle Execution

– 32 x 8 General Purpose Working Registers

– Fully Static Operation

– Up to 16 MIPS Throughput at 16 MHz

– On-chip 2-cycle Multiplier

c. Nonvolatile Program and Data Memories

– 8K Bytes of In-System Self-Programmable Flash

Endurance: 10,000 Write/Erase Cycles

– Optional Boot Code Section with Independent Lock Bits

In-System Programming by On-chip Boot Program

True Read-While-Write Operation

– 512 Bytes EEPROM

Endurance: 100,000 Write/Erase Cycles

– 512 Bytes Internal SRAM

– Programming Lock for Software Security

d. Peripheral Features

– Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes

– One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and

Capture Mode

(24)

– Four PWM Channels

– 8-channel, 10-bit ADC

8 Single-ended Channels

7 Differential Channels for TQFP Package Only

2 Differential Channels with Programmable Gain at 1x, 10x, or 200x for

TQFP Package Only

– Byte-oriented Two-wire Serial Interface

– Programmable Serial USART

– Master/Slave SPI Serial Interface

– Programmable Watchdog Timer with Separate On-chip Oscillator

– On-chip Analog Comparator

e. Special Microcontroller Features

– Power-on Reset and Programmable Brown-out Detection

– Internal Calibrated RC Oscillator

– External and Internal Interrupt Sources

– Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down,

Standby and Extended Standby

f. I/O and Packages

– 32 Programmable I/O Lines

– 40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad MLF

g. Operating Voltages

– 2.7 - 5.5V for ATmega8535L

– 4.5 - 5.5V for ATmega8535

h. Speed Grades

(25)

– 0 - 16 MHz for ATmega8535

2.1.2.2 Konfigurasi Pin AVR ATmega8535

Konfigurasi pin-pin Atmega8535 dapat kita lihat pada gambar di bawah ini

Gambar 2.2 Pin-pin ATmega8535

2.1.2.3 Alternatif PORT A

PORT A memiliki fungsi input output dan juga sebagai input analog yang akan

dikonversi menjadi data–data digital (ADC), seperti yang ditunjukkan pada tabel di

(26)

difungsikan sebagai ADC maka hasil pengkonversian analog ke digital akan

menghasilkan data error.

Untuk mengaktifkan fungsi ADC pada PORT A dengan Code Vision AVR

akan dibahas di bab selanjutnya tentang teknik pemrogram C pada ATmega8535

dengan menggunakan software yang telah disebutkan di atas.

Fungsi PORT A dapat kita lihat pada tabel di bawah ini:

Tabel 2. 2 PORT A Port Fungsi Alternatif

PA7 ADC7 ( ADC input channel 7)

PA6 ADC6 ( ADC input channel 6)

PA5 ADC5 ( ADC input channel 5)

PA4 ADC4 ( ADC input channel 4)

PA3 ADC3 ( ADC input channel 3)

PA2 ADC2 ( ADC input channel 2)

PA1 ADC1 ( ADC input channel 1)

PA0 ADC0 ( ADC input channel 0)

2.1.2.4 Alternatif PORT B

(27)

Tabel 2. 3 PORT B PORT Fungsi Alternatif

PB7 SCK(SPI Bus Serial Clock)

PB6 MISO(SPI bus master input/slave output)

PB5 MOSI(SPI Bus Master Output /Slave Input)

PB4 SS (SPI Slave Select Input)

PB3

AIN1(Analog Comparator Negative Input) OCO (TIMER /COUNTER

OUTPUT COMPARATOR MATCH OUTPUT)

PB2

AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2

Input)

PB1 T1 (Timer/Counter External Counter Input)

PB0

T0T1 (Timer/Counter) External Counter Input XCX

(USART EXTERNAL CLOCK INPUT/OUTPUT)

2.1.2.5 Alternatif PORT C

Fungsi PORT C dapat dilihat pada tabel di bawah ini:

Tabel 2. 4 Fungsi PORT C PORTC FUNGSI KHUSUS

PC7 TOSC2(TIMER OSCILATOR PIN2)

(28)

PC5 TDI(JTAG TEST DATA IN)

PC4 TDO(JTAG TEST DATA OUT)

PC3 TMS(JTAG TEST MODE SELECT)

PC2 TCK(JTAG TEST CLOCK)

PC1 SDA(TWO WIRE SERIAL BUS DATA IN/OUT LINE)

PC0 SCL(TWO WIRE SERIAL BUS CLOCK LINE)

2.1.2.6 Alternatif PORTD

Fungsi PORT D dapat dilihat pada tabel di bawah ini:

Tabel 2. 5 Fungsi PORT D PIN FUNGSI KHUSUS

7 OC2 (TIMER COUNTER2 COMPARE MATCH OUTPUT

6 ICP (TIMER/COUNTER1 INPUT COMPARE CAPTURE PIN)

5 OC1A (TIMER/COUNTER1 OUTPUT COMPARE A MATCH OUT)

4 OC1B (TIMER/COUNTER OUTPUT COMPARE B MATCH OUTPUT)

3 INT1 (EXTERNAL INTERRUPT 1 INPUT)

2 INT0 (EXTERNAL INTERRUPT 0 INPUT)

1 TXD (USART OUTPUT PIN)

0 RXD (USART INPUT PIN)

2.1.3 Modul LCD (Liquid Crystal Display)

M1632 adalah merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi

(29)

untuk mengendalikan LCD. Mikrokontroler HD44780 buatan Hitachi yang berfungsi

sebagai pengendali LCD ini mempunyai CGROM (Character Generator Read Only

Memory), CGRAM (Character Generator Random Access Memory) dan DDRAM

(Display Data Random Access Memory).

Modul LCD ini memiliki 16 kaki untuk berkomunikasi dengan sistem

mikrokontroler yang terdiri atas 3 kaki kontrol, 8 kaki data dan 5 kaki suplai tegangan.

Fungsi dari 16 kaki dari LCD M1632 ditampilkan pada Tabel III.7. LCD M1632 ada

dalam 2 jenis yaitu LCD M1632 refubrish dan LCD M1632 Hitachi. Perbedaan

keduanya adalah pada penggunaan pin nomor 1 dan 2, jika pada LCD M1632

refubrish pin nomor 1 diberikan tegangan 5 volt dan nomor 2 diberikan tegangan 0

volt, maka pada LCD M1632 Hitachi penggunaan kedua pin tersebut adalah

kebalikannya.

2.1.3.1 DDRAM

DDRAM adalah merupakan memori tempat karakter yang ditampilkan berada.

Contoh, untuk

karakter ‘A’ atau 41H yang ditulis pada alamat 00, maka karakter tersebut akan tampil

pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut ditulis di

alamat 40, maka karakter tersebut akan tampil pada baris kedua kolom pertama dari

(30)

Gambar 2.3 DDRAM M1632

2.1.3.2 CGRAM

CGRAM adalah merupakan memori untuk menggambarkan pola sebuah karakter di

mana bentuk dari karakter dapat diubah-ubah sesuai keinginan. Namun memori ini

akan hilang saat power supply tidak aktif, sehingga pola karakter akan hilang.

2.1.3.3 CGROM

CGROM adalah merupakan memori untuk menggambarkan pola sebuah karakter di

mana pola tersebut sudah ditentukan secara permanen dari HD44780 sehingga

pengguna tidak dapat mengubah lagi. Namun karena ROM bersifat permanen, maka

pola karakter tersebut tidak akan hilang walaupun power supply tidak aktif Pada

gambar 2, tampak terlihat pola-pola karakter yang tersimpan dalam lokasi-lokasi

tertentu dalam CGROM. Pada saat HD44780 akan menampilkan data 41H yang

tersimpan pada DDRAM, maka HD44780 akan mengambil data di alamat 41H (0100

(31)

Tabel 2.6 Fungsi pin-pin pada modul M1632

perintah, 1 = register data

5 R/W 1 = read, 0 = write

15 Anoda (Kabel coklat untuk LCD Hitachi) Tegangan positif backlight 16 Katoda (Kabel merah untuk LCD Hitachi) Tegangan negative backlight

2.1.3.4 Akses Ke Register

HD44780, mempunyai dua buah Register yang aksesnya diatur dengan menggunakan

kaki RS. Pada saat RS berlogika 0, maka register yang diakses adalah Register

Perintah dan pada saat RS berlogika 1, maka register yang diakses adalah Register

Data

a. Register Perintah

Register ini adalah register di mana perintah-perintah dari mikrokontroler ke

HD44780 pada saat proses penulisan data atau tempat status dari HD44780 dapat

dibaca pada saat pembacaan data.

(32)

Penulisan data ke Register Perintah dilakukan dengan tujuan mengatur tampilan LCD,

inisialisasi dan mengatur Address Counter maupun Address Data. Gambar 5

menunjukkan proses penulisan data ke register perintah dengan menggunakan mode 4

bit interface. Kondisi RS berlogika 0 menunjukkan akses data ke Register Perintah.

RW berlogika 0 yang menunjukkan proses penulisan data akan dilakukan. Nibble

tinggi (bit 7 sampai bit 4) terlebih dahulu dikirimkan dengan diawali pulsa logika 1

pada E Clock. Kemudian Nibble rendah (bit 3 sampai bit 0) dikirimkan dengan

diawali pulsa logika 1 pada E Clock lagi. Untuk mode 8 bit interface, proses penulisan

dapat langsung dilakukan secara 8 bit (bit 7 … bit 0) dan

diawali sebuah pulsa logika 1 pada E Clock.

Gambar 2.4 Timing Diagram Pembacaan Register Perintah Mode 4 bit Interface

c. Register Data

Register ini adalah register di mana mikrokontroler dapat menuliskan atau membaca

data ke atau dari DDRAM. Penulisan data pada register ini akan menempatkan data

(33)

d. Penulisan Data ke Register Data

Penulisan data pada Register Data dilakukan untuk mengirimkan data yang akan

ditampilkan pada LCD. Proses diawali dengan adanya logika 1 pada RS yang

menunjukkan akses ke Register Data, kondisi R/W diatur pada logika 0 yang

menunjukkan proses penulisan data. Data 4 bit nibble tinggi (bit 7 hingga bit 4)

dikirim dengan diawali pulsa logika 1 pada sinyal E Clock dan kemudian diikuti 4 bit

nibble rendah (bit 3 hingga bit 0) yang juga diawali pulsa logika 1 pada sinyal E

Clock.

Gambar 2.5 Timing Diagram Penulisan Data ke Register Data Mode 4 bit Interface

e. Pembacaan Data dari Register Data

Pembacaan data dari Register Data dilakukan untuk membaca kembali data yang

tampil pada

LCD. Proses dilakukan dengan mengatur RS pada logika 1 yang menunjukkan adanya

(34)

adanya proses pembacaan data. Data 4 bit nibble tinggi (bit 7 hingga bit 4) dibaca

dengan diawali adanya pulsa logika 1 pada E Clock dan dilanjutkan dengan data 4 bit

nibble rendah (bit 3 hingga bit 0) yang juga diawali dengan pulsa logika 1 pada E

Clock.

Gambar 2.6

Timing Diagram Pembacaan Data dari Register Data Mode 4 bit Interface

2.2 Perangkat Lunak

Perangkat lunak merupakan pemrograman yang meliputi bahasa pemrograman

Cdengan compiler Code VisionAVR untuk mikrokontroler ATMega8535 dan Eagle

untuk gambar skematik dari rangkaian.

2.2.1 Program Memori

Kapasitas memori flash (ROM) ATMega8535 adalah 8kB. Memori Rom digunakan

sebagai tempat kode – kode program berada, kata Flash menunjukan jenis ROM yang

(35)

Untuk keamanan program, memori program flash dibagi ke dalam dua bagian,

penyimpan variabel Tempat khusus di SRAM yang senantiasa ditunjuk register SP

disebut stack. Stack berfungsi untuk menyimpan nilai yang dipush.

2.2.1.2 EEPROM

ATmega8535 memiliki memori data EEPROM sebesar 512 Byte. Dia

dibangun sebagai wilayah dan jarak memori, yang mana dapat diprogram dan dibaca.

EEPROM dapat diprogram, dibaca dan dihapus sebanyak 100.000 kali.

Data yang tersimpan di EEPROM akan tetap tersimpan walaupun

mikrokontroller ATmega16 tidak diberi catu daya.

2.2.2 Dasar Pemrograman Atmega8535 dengan Bahasa C 2.2.2.1 Pendahuluan

Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada antara

bahasa tingkat rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi

(bahasa yang berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi

mempunyai kompatibilitas antara platform. Karena itu, amat mudah untuk membuat

program pada berbagai mesin. Berbeda halnya dengan menggunakan bahasa mesin,

sebab setiap perintahnya sangat bergantung pada jenis mesin.

Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada

tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam

bentuk blok. Tujuannya untuk memudahkan dalam pembuatan dan pengembangan

program. Program yang ditulis dengan bahasa C mudah sekali dipindahkan dari satu

jenis program ke bahasa program lain. Hal ini karena adanya standarisasi bahasa C

yaitu berupa standar ANSI (American National Standar Institut) yang dijadikan acuan

(36)

2.2.2.2 Pengenal pada bahasa C

Pengenal merupakan sebuah nama yang didefinisikan oleh program untuk

menunjukkan sebuah konstanta, variabel, fungsi, label, atau tipe data khusus.

Pemberian pengenal pada program harus memenuhi syarat-syarat di bawah ini:

- Karakter pertama tidak menggunakan angka;

- Karakter kedua berupa huruf, angka, garis bawah,;

- Tidak menggunakan spasi;

- Bersifat case sensitive, yaitu huruf kapital dan huruf kecil dianggap

berbeda;

- Tidak boleh menggunakan kata-kata yang merupakan sintaks atau operator

dari bahasa C.

Contoh menggunakan pengenal yang diperbolehkan:

Nama _nama Nama2

Nama_pengenal

Contoh penggunaan pengenal yang tidak diperbolehkan:

2nama Nama+2 Nama pengenal

2.2.2.3 Tipe data

Pemberian signed dan unsigned pada tipe data menyebabkan jangkauan dari

tipe berubah. Pada unsigned menyebabkan tipe data akan selalu bernilai positif

sedangkan signed menyebabkan nilai tipe data bernilai negatif dan memungkinkan

(37)

Perbedaan nilai tipe data dapat kita lihat pada tabel di bawah ini:

Tabel 2. 7 Tipe Data

Pemodifikasi Tipe Persamaan Jangkauan Nilai

Signed char Char -128 s/d 127

Signed int Int -32.768 s/d 32.767

Signed short int Short, signed short -32.768 s/d 32.767

Signed long int Long, long int, signed long

-2.147.483.648 s/d 2.147.483.647

Unsigned char Tidak ada 0 s/d 255

Unsigned int Unsigned 0 s/d 65.535

Unsigned short int Unsigned short 0 s/d 65.535

Unsigned long int Unsigned long 0 s/d 4.294.967.295

Contoh program yang menunjukkan pengaruh signed dan unsigned pada hasil

(38)

Program di atas akan memberikan data di PORT B = 10 (desimal) sedangkan

PORTC = -10 (desimal) karena PORT mikrokontroller tidak dapat mengeluarkan nilai

negatif maka PORTB dan PORTC akan memiliki keluaran 0x0A tapi pada

kenyataannya PORTC lebih banyak memakan memori karena tanda negatif tersebut

disimpan dalam memori.

Pada program di atas terdapat tulisan //set PORT B sebagai output yang

berguna sebagai komentar yang mana komentar ini tidak mempengaruhi hasil dari

program. Ada dua cara penulisan komentar pada pemrograman bahasa C, yaitu

dengan mengawali komentar dengan tanda “ // “ (untuk komentar yang hanya satu

baris) dan mengawali komentar dengan tanda “ /* “ dan mengakhiri komentar dengan

tanda “ */ “.

Header digunakan untuk menginstruksikan kompailer untuk menyisipkan file

lain. Di dalam file header ini tersimpan deklarasi, fungsi, variable, dan jenis

mikrokontroller yang kita gunakan (pada software Code Vision AVR). File-file yang

berakhiran .h disebut file header.

File header yang digunakan untuk mendefinisikan jenis mikrokontroller yang

digunakan berfungsi sebagai pengarah yang mana pendeklarasian register-register

yang terdapat program difungsikan untuk jenis mikrokontroller apa yang digunakan

(pada software Code Vision AVR ).

Contoh:

#include <mega32.h>

#include<delay.h>

(39)

2.2.2.5 Operator aritmatika

Operator aritmatika digunakan untuk melakukan proses perhitungan

matematika. Fungsi-fungsi matematika yang terdapat pada bahasa C dapat dilihat pada

tabel di bawah ini:

Tabel 2. 8 Operator Aritmatika

Operator Keterangan

+ Operator untuk penjumlahan

- Operator untuk pengurangan

* Operator untuk perkalian

/ Operator untuk pembagian

% Operator untuk sisa bagi

Contoh penggunaan operator aritmatika dapat dilihat di bawah ini:

#include < mega32.h>

DDRC 0XFF; // PORTC digunakan sebagai output while (1)

Operator pembanding digunakan untuk membandingkan 2 data atau lebih.

Hasil operator akan di jalankan jika pernyataan benar dan tidak dijalankan jika salah.

Operator pembanding dapat kita lihat pada tabel di bawah ini:

Tabel 2. 9 Operator Pembanding

Operator Contoh Keterangan

= = x = = y Benar jika kedua data bernilai sama

(40)

> x > y Bernilai benar jika nilai x lebih besar dari pada y

< x < y Bernilai jika x lebih kecil dari y

>= x >= y Bernilai jika x lebih besar atau sama dengan y

<= x <= y Bernilai benar jika x lebih kecil atau sama dengan y

2.2.2.7 Operator Logika

Operator logika digunakan untuk membentuk logika dari dua pernyataan atau

lebih. Operator logika dapat dilihat pada tabel di bawah ini:

Tabel 2. 10 Operator Logika

(41)

Penjelasan program:

Apabila PINA.0 atau PINA.1 diberi input logika 1 maka PORTC akan

mengeluarkan logika 0xff kemudian logika 0x00 secara bergantian dengan selang

waktu 0,5 s. dan apabila bukan PINA.1 atau PINA.0 diberi logika 1 maka PORTC

akan mengeluarkan logika 0x00.

2.2.2.8 Operator Bitwise

Operator logika ini bekerja pada level bit. Perbedaan operator bitwise dengan

operator logika adalah pada operator logika akan menghasilkan pernyataan benar atau

salah sedangkan pada operator bitwise akan menghasilkan data biner. Operator

bitwise dapat dilihat pada tabel di bawah ini:

Tabel 2. 11 Operator Bitwise

Operator Keterangan

& Operasi AND level bit

| Operasi OR level bit

^ Operasi XOR level bit

~ Operator NOT level bit

>> Operator geser kanan

<< Operator geser kiri

Contoh program:

(42)

Penjelasan program:

a = 0x12 = 0001 0010 b = 0x32 = 0011 0000 --- a & b = 0x10 = 0001 0000

2.2.2.9 Operator Penugasan dan Operator Majemuk

Operator ini digunakan untuk memberikan nilai atau manipulasi data sebuah

variabel. Operator penguasa dapat kita lihat pada tabel di bawah ini:

Tabel 2. 12 Operator Penugasan

Operator Keterangan

= Memberikan nilai variabel += Menambahkan nilai variabel

- = Mengurangi nilai variabel *= Mengalikan nilai variabel

/= Membagi nilai variable %= Memperoleh sisa bagi

Contoh:

a += 2 ; artinya nilai variabel a berubah menjadi a = a + 2

b *= 4; artinya nilai variabel b berubah menjadi b = b * 4

selain operator penugasan di atas juga ada operator penugasan yang berkaitan

dengan operator bitwise seperti pada tabel di bawah ini:

Tabel 2. 13 Operator Majemuk

Operator Contoh Arti

(43)

2.2.2.10 Operator Penambahan dan Pengurangan

Operator ini digunakan untuk menaikkan atau menurunkan nilai suatu variabel

dengan selisih 11. Operator ini dapat dilihat pada tabel di bawah ini:

Tabel 2. 14 Operator Penambahan dan Pengurangan

Operator Keterangan

++ Penambahan 1 pada variable

-- Pengurangan

Maka operator a++ akan mengubah variabel a dari satu menjadi 2, sedangkan

operator B— akan mengubah variabel b dari 2 menjadi 1.

2.2.2.11 Pernyataan If dan If Bersarang

Pernyataan if digunakan untuk pengambilan keputusan terhadap 2 atau lebih

pernyataan dengan menghasilkan pernyataan benar atau salah. Jika pernyataan benar

maka akan di jalankan instruksi pada bloknya, sedangkan jika pernyataan tidak benar

maka instruksi yang pada blok lain yang dijalankan (sesuai dengan arah programnya).

Bentuk pernyataan IF adalah sebagai berikut:

(44)

{

Pernyataan ini sering disebut nested if atau if bersarang. Salah satu bentuknya adalah sebagai berikut:

0xff, jika yang pernyataan yang lain maka PORTC akan mengeluarkan logika 0x00.

2.2.2.12 Pernyataan Switch

Pernyataan switch digunakan untuk melakukan pengambilan keputusan

terhadap banyak kemungkinana. Bentuk pernyataan switch adalah sebagai berikut:

Switch (ekspresi)

{

case nilai_1 : pernyataa_1;break;

(45)

case niai_3 : pernyataan_3;break; …

Defaut : pernyataan_default;break;

}

Pada pernyataan switch,masing-masing pernyataan (pernyataan_1 sampai

dengan 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 bersifat opsional, artinya boeh dikerjakan apabila nilai

ekspresi tidak 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 keuar dari pernyataan swich.

Contoh :

Switch (PINA)

{

case 0xFE : PORT=0x00;break; case 0xFD : PORT=0xFF;break; }

Pernyataan while digunakan untuk mengurangi sebuah pernyataan atau blok

kenyataan secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk

pernyataan while adalah sebagai berikut :

while (kondisi)

{

(46)

Jika pernyataan yang akan diulang hanya berupa sebuah pernyataan saja maka

tanda { dan } bias dihilangkan.

Contoh :

ulang. Setiap kali pengulangan nilai a akan bertambah 1 dan setelah nilai a mencapai

10 maka pengulangan selesai.

2.2.2.14 Pernyataan Do..While

Pernyataan do…while hamper sama dengan pernyataan while, yaitu

pernyataan yang digunakan untuk menguangi sebuah pernyataan atau blok pernyataan

secara terus menerus selama kondisi tertentu masih terpenuhi.

Bentuk pernyataan while adalah sebagai berikut :

do {

// sebuah pernyataan atau b;ok pernyataan } while (kondisi).

Yang membedakan antara pernyataan while dengan do..while adalah bahwa

pada pernyataan while pengetesan kondisi dilakukan terlebih dahulu, jika kondisi

terpenuhi maka barulah blok pernyataan dikerjakan. Sebaliknya pada pernyataan

do…while blok pernyataan dikerjakan terebih dahulu setelah itu baru diakukan

pengetesan kondisi, jika kondisi terpenuhi maka dilakukan pengulangan pernyataan

atau blok pernyataan lagi. Sehingga dengan demikian pada pernyataaan do..while blok

pernyataan pasti akan dikerjakan minimal satu kali sedangkan pada pernyataan while,

(47)

2.2.2.14 Pernyataan For

Pernyataan for juga digunakan untuk melakukan pengulangan sebuah

pernyataan atau blok pernyataan, tetapi berapa kali jumah pengulangannya dapat

ditentukan secara lebih spesifik.

Bentuk pernyataan for adalah sebagai berikut :

for (nilai_awal ; kondisi ; perubahan) {

// sebuah pernyataan atau blok pernyataan }

Nilai_awal adaah nilai inisial awal sebuah variabel yang didefenisikan terlebih

dahulu untuk menentukan nilai variabel pertama kali sebelum pengulangan.

Kondisi merupakan pernyataan pengetesan untuk mengontrol pengulangan,

jika pernyataan kondisi terpenuhi (benar) maka blok pernyataan akan diulang terus

sampai pernyataan kondisi tidak terpenuhi (salah).

Perubahan adalah pernyataan yang digunakan untuk melakukan perubahan

nilai variabel baik naik maupun turun setiap kali pengulangan dilakukan.

Contoh :

akan terus dikeluarkan ke PORT C.

(48)

2.2.3 Software Downloader

Untuk mengirinkan bilangan-bilangan heksadesimal ini ke mikrokontroler

digunakan software ISP-Flash Programmer 3.7 yang dapat di download di

internet. Tampilannya seperti gambar di bawah ini :

Gambar 2.7 ISP – Flash Programmer 3.7

Cara menggunakannya adalah dengan meng-klik Open File untuk

mengambil file heksadesimal dari hasil kompilasi Code VisionAVR,

(49)

BAB 3

RANCANGAN ALAT DAN CARA KERJA RANGKAIAN

3.1. Diagram Blok Rangkaian

Gambar 3.1 Diagram Blok Rangkaian

AC LINE

AC LINE

POWER SUPPLY

MC ATMEGA

8535

ISD

2560 IC LM35

EXTERNAL POWER SUPPLY

L

C

D

(50)

Penjelasan diagram blok di atas adalah sebagai berikut :

1. Power Supply berfungsi sebagai sumber tegangan dari seluruh system agar

system dapat bekerja.

2. Mikrokontroler ATMega8535 merupakan pusat kendali dari seluruh rangkaian.

Dimana mikrokontroller akan mengolah data dari sensor LM 35 dan

mengontrol IC ISD2560 berupa suara yang diinginkan.

3. ISD2560 yakni komponen yang dapat merekam dan memutar kembali pesan

yang direkam dengan durasi waktu 60 detik.

4. LCD M1632 sebagai penampil data output

5. Speaker sebagai keluaran audio

3.2 Rangkaian Sistem Minimum Mikrokontroler ATMega8535

Rangkaian ini berfungsi untuk mengendalikan seluruh sistem. Kompoen utama dari

rangkaian ini adalah IC mikrokontroller ATmega8535. Pada IC inilah semua program

diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.

(51)

Gambar 3.2 Skematik Sistem Minimum Mikrokontroler ATM8535

Mikrokontroller ini memiliki 32 port I/O, yaitu port A, port B, port C dan port D. Pin

33 sampai 40 adalah Port A yang merupakan port ADC, dimana port ini dapat

menerima data analog. Pin 1 sampai 8 adalah port B. Pin 22 sampai 29 adalah port C.

Dan Pin 14 sampai 21 adalah port D. Pin 10 dihubungkan ke sumber tegangan 5 volt.

Dan pin 11 dihubungkan ke ground. Rangkaian mikrokontroller ini menggunakan

komponen kristal sebagai sumber clock-nya. Nilai kristal ini akan mempengaruhi

kecepatan mikrokontroller dalam mengeksekusi suatu perintah tertentu.

Pada pin 9 dihubungkan dengan sebuah kapasitor dan sebuah resistor yang

dihubungkan ke ground. Kedua komponen ini berfungsi agar program pada

mikrokontroller dijalankan beberapa saat setelah power aktif. Lamanya waktu antara

aktifnya power pada IC mikrokontroller dan aktifnya program adalah sebesar

(52)

Pin 12 dan 13 dihubungkan ke XTAL 8 MHz dan dua buah kapasitor 22 pF.

XTAL ini akan mempengaruhi kecepatan mikrokontroler ATMega8535 dalam

mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif

rendah). Pulsa transisi dari tinggi ke rendah akan me-reset mikrokontroler ini.

Untuk men-download file hexadesimmal ke mikrokontroler, Mosi, Miso, Sck,

Reset, Vcc, dan Gnd dari kaki mikrokontroler dihubungkan ke RJ45. RJ45 sebagai

konektor yang akan dihubungkan ke iSP Programmer. Dari ISP Programmer inilah

dihubungkan ke computer melalui port pararel.

Kaki Mosi, Miso,Sck,Reset, Vcc, an Gnd pada mikrokontroler terletak pada

kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi keterlibatan pemasangan jalur ke ISP

Programmer, maka pemrograman mikrokontroler tidak dapat dilakukan karena

mikrokontroler tidak akan bisa merespon.

3.3 Rangkaian Catu Daya

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada.

Rangkaian Catu daya (Power Supply Adaptor) yang dibuat terdiri dari dua keluaran,

yaitu 5 volt dan 12 volt. Keluaran 5 volt digunakan untuk mensupplay tegangan ke

(53)

digunakan untuk mensuplay tegangan ke rangkaian rangkaian relay. Rangkaian catu

daya ditunjukkan pada gambar 3.3 berikut ini :

Gambar 3.3 Rangkaian Catu Daya

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 jembatan dioda, selanjutnya 12 volt DC akan

diratakan oleh kapasitor 3300 µF. Regulator tegangan 5 volt (7805) digunakan agar

keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan

masukannya. LED hanya sebagai indikator apabila Catu daya dinyalakan. Tegangan

12 volt DC langsung diambil dari keluaran jembatan dioda penyearah gelombang

(54)

3.4 Rangkaian Display LCD

Rangkaian display LCD ini berfungsi untuk menampilkan status relay (ON atau

OFF). Rangkaian display LCD ditunjukkan pada gambar 3.5 berikut ini:

Gambar 3. 4 Rangkaian Display LCD

LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks

yang kita tuliskan ke LCD adalah disimpan didalam memory ini, dan LCD secara

berturutan membaca memory ini untuk menampilkan teks ke LCD itu sendiri.

Pada peta memori tersebut, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d

4F ) adalah display yang tampak. Sebagaimanan yang anda lihat, jumlahnya sebanyak

16 karakter per-baris dengan dua baris. Angka pada setiap kotak adalah alamat

memori yang bersesuaian dengan posisi dari layar. Demikianlah karakter pertama di

sudut kiri atas adalah menempati alamah 00h. Posisi karakter berikutnya adalah

alamat 01h dan seterusnya. Akan tetapi, karakter pertama dari baris 2 sebagaimana

yang ditunjukkan pada peta memori adalah pada alamat 40h. Dimikianlah kita perlu

(55)

baris dan kolom tertentu. Instruksi Set Posisi Kursor adalah 80h. Untuk ini kita perlu

menambahkan alamat lokasi dimana kita berharap untuk menempatkan kursor.

Sebagai contoh, kita ingin menampilkan kata ”World” pada baris ke dua pada posisi

kolom ke sepuluh. Sesuai peta memori, posisi karakter pada kolom 11 dari baris ke

dua, mempunyai alamat 4Ah, sehingga sebelum kita tulis kata ”World” pada LCD,

kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah

80h ditambah dengan alamat 80h+4Ah =0Cah. Sehingga dengan mengirim perintah

Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11 dari

DDRAM.

Set Alamat Memori DDRAM

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 1 A A A A A A A

Catatan:

A : Alamat RAM yang akan dipilih

Sehingga alamat RAM LCD adalah 000 0000 S/D 111 1111 b atau 00 s/d 7Fh

3.5 ATMega8535 dan ISD2560

(56)

Gambar 3.5 Rangkaian ATMega8535 dengan ISD2560

Gambar diatas merupakan hubungan mikrokontroler AT89S51 dengan IC ISD

25120. Mikrokontroler berfungsi memanggil alamat dari kata yang telah direkam

melalui port 3. Port 2.0 dihubungkan ke PD (Power Down) pin 24 dan port 2.1

dihubungkan ke CE (Chip Enable) pin 25. Dan P /R (play/rec) pin 27 pada posisi P

dengan cara menghubungkan P /R ke Vcc. Untuk memerintah mengeluarkan satu

(57)

alamat kata ‘satu’), kemudian CE dan PD beri lojik ‘0’ selama 3 detik dan kemudian

berlojik ‘1’ lagi untuk menghentikan suara. Maka satu kata akan dikeluarkan pada

speaker. Jika CE dan PD berlojik ‘0’ terus memerus maka kata yang tersimpan pada

alamat berikutnya akan ikut dimainkan.

3.6 Rangkaian ISD25120

Sebagai output suara ini, digunakan sebuah IC suara yaitu ISD2560 dengan waktu

lama penyimpanan selama 60 detik. Dari IC suara tersebut dapat didengar suara yang

telah direkam. IC suara ISD2560 dapat merekam suara selama 60 detik dan dapat

direkam sampai 100.000 kali. IC ISD2560 dioperasikan dalam mode address bit

artinya setiap kata yang direkam memiliki alamat sendiri.

(58)

Dari gambar rangkaian tersebut dapat digunakan dua cara untuk memasukkan

suara yang akan direkam pada IC ISD2560. Cara yang pertama, suara dimasukkan ke

ISD2560 dari hasil merekam dengan software yang terdapat pada komputer. Dari

output audio pada komputer kemudian dihubungkan ke ISD2560 melalui pin ANA IN

untuk kutub positif (+) audio dan pin Ground untuk kutub (-) audio. Cara yang kedua,

yaitu langsung memasukkan suara dengan bantuan mic kondensor melalui header

MIC yang terhubung dengan pin MIC (kaki17) dan MICREF (kaki18) pada ISD2560.

Pada saat melakukan perekaman suara ke ISD2560 perlu diperhatikan

langkah-langkah sebagai berikut :

1. Tentukan alamat suara terlebih dahulu, merupakan tempat untuk menyimpan

suara hasil rekaman dengan mengatur dip switch, pada pin 1 sampai pin 8. Pin

9 dan pin 10 dihubungkan dengan ground karena digunakan mode

pengalamatan sedangkan pin 1 sampai pin 8 digunakan sebagai bit-bit alamat

pada IC suara.

2. Tekan switch1 dan switch2 secara bersamaan dan tahan pada saat merekam.

Switch1 ditekan agar pin CE terhubung ke ground (LOW) sehingga dapat

mengaktifkan proses perekaman, sementara switch2 ditekan agar pin P\R

terhubung ke ground (LOW) juga sehingga akan dilakukan proses merekam

(jika pin P\R diset HIGH maka akan menjadi proses putar ulang).

3. Berikan masukan berupa suara yang telah diedit melalui software pengolah

suara, dari output audio komputer melalui pin ANA IN dan ground, selain itu

juga bisa menggunakan rangkaian MIC yang telah terhubung ke pin 17 dan pin

18 pada IC suara.

(59)

Untuk mengetahui hasil suara yang telah direkam, yaitu dengan menentukan alamat

suara yang ingin didengar suaranya kemudian tekan switch1 sehingga pin CE menjadi

LOW dan proses putar ulang akan dimulai (dalam hal ini pin P\R pada kondisi

HIGH). Setelah proses putar ulang selesai, maka otomatis suara akan berhenti. Untuk

melakukan reset, pada pin PD diatur pada kondisi HIGH.

3.7 Perancangan Sensor Suhu LM 35

Sensor suhu yang digunakan dalam termometer ini adalah LM35 yang mempunyai

output dalam skala derajat celcius. Pada saat suhu 0°C, output sensor LM35

mengeluarkan tegangan 0 volt. Setiap kenaikan 1°C, output sensor LM35 akan naik

sebesar 10 mVolt. Sensor LM35 membutuhkan power supply sebesar 5 volt.

(60)

BAB 4

PENGUJIAN DAN ANALISA PROGRAM

4.1 Flowchart Program

Gambar 4.1 Flowchart Program Termometer Badan

Start

Tekan tombol start

Prosesing menunggu 1 menit

35 = data ≤ 41

End

Output suara suhu

Suhu anda 35 s/d

41 derajat celcius

Tampil LCD (suhu tidak terbaca)

Tampilan LCD

35 > data < 41 Baca data

(61)

Keterangan Flowcart :

- Start, mulai

- Tekan tombol reset pada rangkaian untuk memulai pengukuran suhu

- Proses data dari sensor Lm 35 selama 60 detik

- Setelah 60 detik data akan masuk dan dibaca oleh mikrokontroler

ATMega8535

- Jika data suhu sesuai dengan range 35°C - 45°C maka suhu akan keluar

melaui speaker dan bila tidak maka data tidak terbaca

- Tampilan suhu di LCD

4. 2. Pengujian Rangkaian Mikrokontroler ATMega8535

Untuk mengetahui apakah rangkaian mikrokontroler ATMega8535 telah bekerja

dengan baik, maka dilakukan pengujian. Pengujian ini dilakukan dengan memberikan

program sederhana pada mikrokontroler ATMega8535.

Pada pengujian minimum system ini dilakukan percobaan yang sifatnya

sederhana tapi dapat menunjukkan bekerja tidaknya minimum system tersebut.

Percobaan tersebut adalah menghidupkan beberapa buah LED secara bergantian.

Percobaan ini dilakukan pada I/O port (Port A). Jika program tersebut dijalankan,

maka LED akan hidup dan mati secara bergantian.

Selain percobaan I/O port (Port A) juga dilakukan percobaan terhadap LCD.

(62)

LCD ini dilakukan dengan cara menampilkan beberapa karakter pada LCD. Jika

program di atas dijalankan maka di layar LCD akan tampil ‘MY PROJECT’ pada

koordinat x = 4 dan y = 0. Hal ini menunjukkan bahwa minimum system dan LCD

dapat berjalan dengan baik.

4.3 Pengujian Rangkaian Catu Daya

Pengujian pada bagian rangkaian catu daya ini dapat dilakukan dengan mengukur

tegangan keluaran dari rangkaian ini dengan menggunakan voltmeter analog. Seperti

diketahui bahwa untuk keperluan pensinyalan data digital diperlukan sumber tegangan

yang memiliki level “TTL”, yaitu logika HIGH = +5V, serta logika LOW = 0V,

sehngga keluaran sari system sensor suhu yang akan diumpankan ke port pararel

haruslah memiliki level tegangan TTL

Rangkaian catu daya terlihat pada BAB III gambar 3.3 menunjukkan bahwa

untuk dapat menghasilkan tegangan TTL yang stabil terhadap pembebanan maka

harus diberikan suatu rangkaian regulator (IC Regulatot 7805) yang dapat

memberikan tegangan keluaran yang relative stabil terhadap pembebanan. Jika

tegangan catu daya pada kodisi maksimum beban, masih dalam jangkauan logika

(63)

4.4 Pengujian Rangkaian LM 35

Pengujian ini dilakukan untuk menguji waktu respon dari sensor LM35 dan termometer

air raksa. Pengujian ini dilakukan dengan melakukan pengukuran waktu yang diperlukan

oleh sensor LM35 dan termometer air raksa mencapai pengukuran suhu tubuh sekitar

36°C dari suhu awal sekitar 27°C. dalam percobaan ini, pengukuran dilakukan sebanyak

tiga kali untuk mendapatkan data kumulatif sehingga didapat waktu rata-rata yang

dibutuhkan oleh sensor dan termometer air raksa untuk mendapatkan suhu tubuh normal

yang tepat. Setiap kali pengukuran, suhu pada sensor dikembalikan pada suhu ruangan.

Tabel 4.4.1 Hasil Pengujian LM35 dengan Termometer Air Raksa

Suhu Termometer

Analog (°C)

Tegangan Keluaran

LM35 (mV)

Konversi Tegangan ke

suhu oleh LM35 (°C)

30 294 29,4

35 346 34,6

40 393 39,3

45 441 44,1

4.5 Pengujian Rangkaian ISD2560

Pengujian rangkaian ISD2560 dilakukan secara software.pengujian ini dilakukan untuk

(64)

tampilan LCD. Pengujian ini dilakukan dengan memutar kembali dengan baik tanpa ada

kesalahan. Namun kadang kalanya data tidak terbaca. Untuk itu perlu adanya perekaman

kembali.

4.6 Pembahasan Program

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

CodeWizardAVR V2.04.4a Advanced Automatic Program Generator

© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

AVR Core Clock frequency: 4.000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 128

*****************************************************/

#include <mega8535.h> // MENGGUNAKAN IC ATMEGA8535

#include <delay.h> // MENDEKLARASIKAN FUNGSI delay_ms dan delay_us (fungsi waktu)

#include <stdio.h> // MENDEKLARASIKAN FUNSI sprintf (pengolah data) #define alamat PORTD // alamat = PORTD

#define pr PORTB.0 // pr = PORTB.0 digunakan untuk memfungsikan isd2560 sebagai play at record suara

(65)

#define key PINB.6 // key = PINB.6 digunakan untuk tombol mulai program

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x15 ;PORTC // interface lcd dihubungkan ke PORTC #endasm

#include <lcd.h> // Mendeklarasikan fungsi-fungsi LCD

#define ADC_VREF_TYPE 0x00 // tegangan vreff di pin ATMega8535 digunakan sebagai refrensi ADC

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) // read_adc(0) {

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion ADCSRA|=0x40;

// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10; return ADCW; }

// Declare your global variables here

//================= subrutin untuk mengaktifkan isd2560==================

void ic_aktif(void) {

ce = 0; // ic aktif(membuat kondisi pin ce dalam kondisi low) delay_ms(250);

ce = 1; // isd2560 tidak diaktifkan pr = 1; // isd2560 bermode play

PORTD = 0XFF; // semua PORTD Bernilai high

(66)

DDRB.0 = 1; // Aktifkan PORTB.O sebagai output DDRB.1 = 1; // Aktifkan PORTB.1 sebagai output

PORTB.6 = 1; // PORTB.6 Digunakn sebagai internal fullup DDRB.6 = 0; // PINB.6 digunakan sebagai input

// ADC initialization

ADMUX=ADC_VREF_TYPE & 0xff; // ADC Clock frequency: 1000.000 kHz ADCSRA=0x82; // ADC Voltage Reference: AREF pin

SFIOR&=0xEF; // ADC High Speed Mode: Off

// LCD module initialization

lcd_init(16); // lcd yang digunakan adalah lcd 16x2 lcd_gotoxy(0,0); // posisi karakter yang akan ditampilkan lcd_putsf("tekan mulai");// menampilakan "tekan mulai" di LCD

while (1)

(67)

suhu = (adc0 * 5000)/1023; // mengolah data digital 10bit menjadi nilai-nilai suhu ( suhu = 1mVolt/C)

lcd_gotoxy(0,0); //

lcd_putsf("thermo.. suara");// menampilkan di LCD kata-kata yang ada di dalam kurung

if ( suhu < 350 ) //jika suhu lebih kecil dari 35 derajat {

lcd_gotoxy(0,1); //tampilkan lcd

(68)
(69)
(70)
(71)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dari hasil pengujian dan penganalisaan yang telah dilakukan terhadap alat yang dibuat

untuk tugas akhir ini maka dapat diambil beberapa kesimpulan bahwa :

1. Thermometer yang telah didesain memiliki output berupa audio (pesan suara)

dan tampilan pada LCD dengan range suhu 35°C - 41°C dan akurasi (±0,3°C).

2. Dari hasil pengujian waktu respon termometer badan yang didesain sebesar 60

detik serta memiliki error 0,11%.

3. Pemrograman AVR Atmega8535 dengan bahasa C lebih baik dari bahasa

pemrograman lainnya

4. IC suara ISD2560 dapat merekam suara selama 60 detik dan dapat direkam

sampai 100.000 kali, dan dioperasikan dalam mode address bit artinya setiap

(72)

5.2 Saran

1. Diharapkan untuk pembuatan alat selanjutnya untuk mengatasi output suara

yang kadang kala terputus-putus, maka pada waktu pemutaran kembali suara

yang telah direkam seharusnya memanfaatkan sinyal EOM (End Of Message)

dari IC ISD2560 yang menunjukkan proses memutar kembali suara yang telah

direkam telah selesai.

2. Diharapkan agar pembuatan alat selanjutnya dapat menambah range

pengukuran suhunya antara 27°C - 45°C.

3. Penulis berharap, kedepannya perancangan alat ini dapat member manfaat

yang lebih besar untuk dunia perancangan elektronika dalam

(73)

DAFTAR PUSTAKA

Agus Bejo. 2008. C & AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroller

ATMega 8535. Yogyakarta : Graha Ilmu.

Andi, Nalwan Paulus. 2004. Panduan Praktis Penggunaan dan Antarmuka Modul

LCD M1632. Jakarta : PT. Elex Media Koputindo.

Budiharto, Widodo. 2005. Panduan Lengkap Belajar Mikrokontroler Perancangan

Sistem dan Aplikasi Mikrokontroler. Jakarta : PT. Elex Media Komputindo.

Lingga Wardhana.2006. Belajar Sendiri Mikrokontroler AVR Seri ATMega8535

Simulasi, Hardware, dan Aplikasi. Yogyakarta : Andi.

Owen Bishop. 2004. Dasar-Dasar Elektronika. Jakarta : Gramedia.

http://.delta-electronic.com

Gambar

Tabel 2.1 Jenis-jenis AVR
Gambar 2.1 Arsitektur ATmega8535
Gambar 2.2 Pin-pin ATmega8535
Tabel 2. 2 PORT A
+7

Referensi

Dokumen terkait

Pada paper ini dideskripsikan perancangan kompas digital yang dilengkapi output suara, sehingga para penyandang tuna netra pun dapat menggunakannya. Kompas digital pada penelitian

TqERMOMDTER DICITAL DENCAN OUTPUT SUAiA.. BERRASTS

Perancangan alat termometer digital dengan output suara ini menggunakan sensor suhu IC LM35 yang komponennya mudah didapat dengan harga terjangkau sebagai

Media Pengenalan Huruf Hijaiyah untuk Taman Kanak - Kanak dengan Output Suara dan Tanda Baca Berbasis Mikrokontroler ATmega16 ini, terdiri dari unit sistem minimum

Adapun judul yang diambil dalam penulisan Laporan Akhir ini adalah “ Sistem Parkir Elektronik Otomatis Dengan Output Suara Berbasis Mikrokontroler ATmega8535 (Sub Bahasan :

Tugas Akhir ini berjudul “PERANCANGAN ALAT THERMOMETER BERBASIS MIKROKONTROLER ATMEGA32 DENGAN OUTPUT SUARA”, meskipun dalam proses penulisan banyak menemui hambatan

menyusun laporan Proyek Akhir dengan judul “ Timbangan Berat Badan Digital Dengan Output Suara Berbasis Mikrokontroler ATMega8535 ” dengan baik.. Sholawat serta

Dalam hal ini sebagai sistem deteksi arah atau kompas digital yang memiliki beberapa output yaitu output text display dan output suara yaitu output yang memberikan