Kompas Digital Berbasis Mikrokontroler Atmega 8535

(1)

“KOMPAS DIGITAL BERBASIS MIKROKONTROLER

ATMEGA 8535”

TUGAS AKHIR

Hamdan Asmi

112411003

PROGRAM STUDI DIPLOMA III METROLOGI DAN INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(2)

KOMPAS DIGITAL BERBASIS MIKROKONTROLER

ATMEGA 8535

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

PERSETUJUAN

Yang bertanda tangan di bawah ini, Dosen Pembimbing Projek Akhir II menyatakan bahwa laporan Tugas Akhir dari:

HAMDAN ASMI NIM:

112411003

Dengan judul:

KOMPAS DIGITAL BERBASIS MIKROKONTROLER

ATMEGA 8535

telah selesai diperiksa dan dinyatakan selesai, serta dapat diajukan dalam pengujian pertanggung jawaban laporan Tugas Akhir.

Diluluskan di Medan, July 2014

Ketua Program Studi Dosen Pembimbing

D3 Metrologi dan Instrumentasi Tugas Akhir

Drs. Diana Alemin Barus M,Sc_

NIP. 19660729 199203 2 002 NIP.19660729 199203 2 002 Drs. Diana Alemin Barus M,Sc


(4)

PERNYATAAN

KOMPAS DIGITAL BERBASIS MIKROKONTROLER

ATMEGA 8535

TUGAS AKHIR

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

Medan, Juli 2014

Hamdan Asmi


(5)

PENGHARGAAN

Alhamdulillahirobbil’alamin,

Segala puji dan syukur bagi Allah Subhanahuwata’ala yang telah melimpahkan barokah, rahmat, hidayah-Nya dan menganugerahkan kemudahan serta kelancaran sehingga penulis dapat menyelesaikan penulisan tugas proyek ini sesuai waktu yang telah ditetapkan. Sholawat dan salam semoga senantiasa tercurahkan kepada Rasulullah

Sallallahu’alaihiwassalam sang pembawa petunjuk dan selalu menjadi inspirasi dan teladan bagi penulis

Tugas Akhir ini disusun untuk melengkapi persyaratan kelulusan semester 5 pada Program Studi D-3 Metrologi dan Instrumentasi Departemen Fisika fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Adapun judul Tugas Akhir ini adalah

KOMPAS DIGITAL BERBASIS MIKROKONTROLER

ATMEGA 8535

Penulis menyadari bahwa tersusunnya Tugas Akhir ini dari Do’a, perhatian, bimbingan, motivasi dan dukungan berbagai pihak, sehingga dengan keikhlasan dan kerendahan hati pada kesempatan ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Kedua orang tua penulis dan serta keluarga yang telah memberikan bantuan moral maupun materil, semangat dan do’a yang begitu besar kepada penulis dan senantiasa memberikan semangat dalam pengerjaan projek akhir II.


(6)

pembimbing yang telah banyak membantu dan mendukung penulis dalam menyelesaikan Tugas Akhir ini.

3. Seluruh Dosen dan Karyawan Program Studi D-3 Metrologi dan Instrumentasi Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Penulis menyadari sepenuhnya bahwa dalam pembuatan Tugas Akhir ini masih jauh dari kesempurnaan, untuk itu penulis mengharapkan kritik dan saran dari pembaca yang bersifat membangun dalam penyempurnaan Tugas Proyek ini.

Semoga laporan ini menjadi ibadah yang baik bagi penulis dan menjadi ilmu yang bermanfaat bagi pembaca.

Amin Yaa Rabbal’alamin

Medan, July 2014 Hormat Kami,


(7)

ABSTRAK

Tugas Akhir ini membahas masalah "Kompas Digital Berbasis Mikrokontroler ATMega 8535". Alat ini berfungsi mengetahui arah mata angin. Dengan menggunakan Mikrokontroler ATMega 8535, sensor kompas hmc5883l battery 9v sebagai power supply, LCD, dan regulator 7805. Mikrokontroler ATMega 8535 mempunyai input yang dapat mengolah magnetic field dari sensor hmc5883l menjadi arah mata angin. Sensor Hmc5883l berfungsi sebagai pendeteksi nilai magnetic field sehingga nanti akan diolah menjadi arah mata angin oleh mikrokontroler ATMega 8535 yang kemudian hasilnya akan ditampilkan melalui LCD.


(8)

ABSTRAK

Tugas Akhir discuss about problem "ATMega Microcontroller Based Digital Compass 8535". This tool is used to know the direction of the wind. By using Microcontroller ATMEGA 8535, hmc5883l compass sensor 9v battery as power

supply, an LCD, and regulator 7805. Microcontroller ATMega 8535 has inputs that can process the magnetic field of sensors hmc5883l into the direction of the wind.

Hmc5883l sensor serves as a detector of magnetic field values that will be processed into the direction of the wind by ATMega 8535 microcontroller which then results will be displayed through the LCD


(9)

DAFTAR ISI

PERSETUJUAN ... ... i

PERNYATAAN ... ... ii

PENGHARGAAN ... ... iii

ABSTRAK ... ... v

DAFTAR ISI ... ... vii

DAFTAR GAMBAR... ... ix

DAFTAR TABEL ... ... x

BAB I PENDAHULUAN 1.1. Latar Belakang ... ... 1

1.2. Rumusan Masalah ... ... 2

1.3. Tujuan Penulisan ... ... 2

1.4. Batasan Masalah ... ... 2

1.5. Sistematika Penulisan . ... 3

BAB II LANDASAN TEORI 2.1. Sensor Kompas hmc5883l ... 4

2.2. Mikrokontroler ATMega 8535 ... 6

2.2.1. Konfigurasi PIN ATMega 8535 ... 10

2.2.2. Peta Memori ATMega 8535 ... 12

2.2.2.1. Program Memory ... 12

2.2.2.2. Data Memory ... 13

2.2.2.3.EEPROM Data memory... 13


(10)

BAB III

PERANCANGAN ALAT DAN PROGRAM

3.1. Diagram Blok dan Cara Kerja Rangkaian ... 15

3.2 Perancangan Rangkaian Catu Daya. ... 16

3.3. Perancangan Rangkaian dengan Mikrokontroller AVR ATMega 8535………... 17

3.4. Perancangan Sistem Modul Kompas ... 18

3.5. Flowchart sistem………... 19

BAB IV PENGUJIAN RANGKAIAN DAN ANALISA PROGRAM 4.1 Pengujian Rangkaian Power Supply ... 21

4.2 Pengujian Rangkaian Mikrokontroler ATMega 8535... ... 21

4.3 Pengujian Resolusi Kompas ... 22

4.4 Interfacing LCD 2x16………... 23

4.5 Analisa Program ... ... 25

BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ... ... 33

5.2. Saran... ... 33

DAFTAR PUSTAKA ... ... 34


(11)

DAFTAR GAMBAR

Gambar 2.1. DT-Sense 3 Axis Compass... 5

Gambar 2.2. Tata Letak DT-Sense 3 Axis Compass ... 7

Gambar 2.3. Blok Diagram ATMega 8535 ... 9

Gambar 2.4. Konfigurasi Pin ATMega 8535 ... 11

Gambar 2.5. Peta Memori Program ... 12

Gambar 2.6. Peta Memori Data ... 13

Gambar 2.7. EEPROM Data Memori ... 13

Gambar 2.8. IC Regulator 7805... 14

Gambar 3.1. Diagram Blok Rangkaian... 15

Gambar 3.2. Rangkaian Catu Daya... 16

Gambar 3.3. Rangkaian Mikrokontroler ATMega 8535... 17

Gambar 3.4. Komunikasi I2C Protocol... 19

Gambar 3.5. Rangkaian Aplikasi Modul Kompas... 19

Gambar 4.1. Listing Program Pada Mikrokontroller... 22

Gambar 4.2. Listing Program Pada LCD... 25

Gambar 4.3. Listing Program Keseluruhan... 32


(12)

DAFTAR TABEL

Tabel 2.1. Konfigurasi Pin DT Sense 3 Axis Compass... 6 Tabel 2.2. Konfigurasi Pin IC Regulator 7805... 14


(13)

ABSTRAK

Tugas Akhir ini membahas masalah "Kompas Digital Berbasis Mikrokontroler ATMega 8535". Alat ini berfungsi mengetahui arah mata angin. Dengan menggunakan Mikrokontroler ATMega 8535, sensor kompas hmc5883l battery 9v sebagai power supply, LCD, dan regulator 7805. Mikrokontroler ATMega 8535 mempunyai input yang dapat mengolah magnetic field dari sensor hmc5883l menjadi arah mata angin. Sensor Hmc5883l berfungsi sebagai pendeteksi nilai magnetic field sehingga nanti akan diolah menjadi arah mata angin oleh mikrokontroler ATMega 8535 yang kemudian hasilnya akan ditampilkan melalui LCD.


(14)

ABSTRAK

Tugas Akhir discuss about problem "ATMega Microcontroller Based Digital Compass 8535". This tool is used to know the direction of the wind. By using Microcontroller ATMEGA 8535, hmc5883l compass sensor 9v battery as power

supply, an LCD, and regulator 7805. Microcontroller ATMega 8535 has inputs that can process the magnetic field of sensors hmc5883l into the direction of the wind.

Hmc5883l sensor serves as a detector of magnetic field values that will be processed into the direction of the wind by ATMega 8535 microcontroller which then results will be displayed through the LCD


(15)

BAB I

PENDAHULUAN

1.1. Latar belakang

Metrologi merupakan ilmu ukur mengukur secara luas. Subyek pokok metrologi pada dasarnya adalah satuan ukuran, standar ukuran, alat ukur dan metode pengukuran. Kompas adalah salah satu bidang dalam metrologi untuk mengukur arah mata angin. Kompas digunakan sebagai penunjuk arah yang biasanya di gunakan dalam sebuah pesawat, kapal laut, dan lain sebagainya. Jika tidak ada kompas maka akan sangat sulit untuk sebuah pesawat untuk mengetahui posisi, sehingga akan memungkinkan akan terjadi kecelakaan serta terjadi nya kesalahan dalam pendaratan. Kompas juga berguna untuk para pendaki gunung untuk menentukan arah, sehingga dalam prateknya tanpa sadar kita sangat membutuhkan sebuah alat ukur metrologi untuk mengetahui sebuah arah.

Arah mata angin yang dimaksud adalah arah timur, barat, selatan, utara, tenggara, dan lain lain. Tanpa mengetahui arah tersebut tentu saja kita tidak akan bisa mengetahui sebuah posisi atau arah mana yang akan di tuju, misalnya jika kita ingin pergi ke arah barat maka kita tidak akan tau kearah mana tanpa adanya sebuah kompas atau alat penunjuk arah.

Karena hal diatas tersebut lah dasar pengambilan judul Projek Akhir II ini untuk membuat sebuah alat yang dapat mengukur sebuah mata angin yaitu sebuah kompas. Kompas ini akan dibuat secara digital dengan menggunakan mikrokontroller ATMega 8535.


(16)

1.2 Rumusan Masalah

Laporan proyek ini membahas tentang perancangan kompas digital berbasis mikrokontroller ATMega 8535 yang terdiri dari sensor compas hmc5883l, Mikrokontroler ATMega 8535 sebagai pengolah magnetic field menjadi arah mata angin, LCD sebagai tampilannya, battery sebagai power supply, dan regulator 7805.

1.3. Tujuan Penulisan

Penulisan laporan proyek akhir II ini adalah untuk:

1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma Tiga (D-III) Metrologi & Instrumentasi FMIPA Universitas Sumatera Utara.

2. Pengembangan kreatifitas mahasiswa dalam bidang ilmu instrumentasi.

3. Merancang suatu alat pengukuran arah mata angin untuk kemudian ditampilkan pada LCD dengan menggunakan Mikrokontroler ATMega 8535.

4. Mengetahui cara kerja sensor hmc5883l berbasis Mikrokontroler ATMega 8535

1.4. Batasan Masalah

Mengacu pada hal diatas Penulis Merancang kompas digital Memakai Mikrokontroller ATMega 8535, dengan batasan - batasan sebagai berikut :

1. Pembahasan mikrokontroler ATMega 8535.

2. Sensor yang digunakan adalah hmc5883l sebagai mendeteksi nilai magnetic field. 3. Pembahasan hanya meliputi rangkaian Mikrokontroler ATMega 8535,


(17)

.

1.5. Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman, penulis membuat sistematika penulisan bagaimana sebenarnya prinsip kerja dari kompas digital berbasis mikrokontroler ATMega 8535, maka penulis menulis tugas akhir ini dengan urutan sebagai berikut :

BAB I : PENDAHULUAN

Berisi latar belakang permasalahan, batasan masalah, tujuan pembahasan, metodologi pembahasan, sistematika penulisan dan relevansi dari penulisan tugas akhir ini.

BAB II : LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian teori pendukung itu antara lain tentang Mikrokontroler Atmega 8535, sensor hmc5883l, serta cara kerja dari mikrokontroler ATMega 8535 dan komponen pendukung.

BAB III : PERANCANGAN SISTEM

Membahas tentang perencanaan dan pembuatan sistem secara keseluruhan.

BAB IV : PENGUJIAN RANGKAIAN

Berisi tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi alat. dll

BAB V : KESIMPULAN DAN SARAN

Merupakan kesimpulan dari pembahasan pada bab - bab sebelumnya dan kemungkinan pengembangan alat.


(18)

BAB II

LANDASAN TEORI

Landasan teori sangat membantu untuk dapat memahami suatu sistem. Selain dari pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system. Dengan pertimbangan hal - hal tersebut, maka landasan teori merupakan bagian yang harus dipahami untuk pembahasan selanjutnya. Pengetahuan yang mendukung perencanaan dan realisasi alat meliputi mikrokontroler ATMega 8535, sensor kompas hmc5883l, LCD dan komponen pendukung.

2.1. Sensor Kompas hmc5883l

DT-Sense 3 Axis Compass merupakan suatu modul sensor medan magnet yang mengunakan IC hmc5883l. IC hmc5883l merupakan chip yang didesain untuk membaca medan magnet yang cocok untuk aplikasi penunjuk arah dan magnetometry. Contoh aplikasi modul ini antara lain untuk sensor pada smartphone, netbook, sistem navigasi otomatis, serta aplikasi-aplikasi lain yang memerlukan pengukuran medan magnet.

Spesifikasi dari IC hmc5883l adalah sebagai berikut :

1. Memerlukan catu daya 3,3 VDC dengan konsumsi arus yang rendah (hingga 100uA).

2. Memiliki sensor magnet dengan jenis magnetoresistif 3 sumbu.

3. Memiliki jangkauan pembacaan medan magnet sampai dengan ±8 Gauss dengan resolusi 5 miligauss.

4. Memiliki akurasi kompas hingga 1º sampai 2º.

5. Kecepatan keluaran maksimal data hingga 160 Hz (Single Measurement Mode).

6. Kecepatan keluaran maksimal data 0,75 Hz s.d. 75 Hz (Continuous Measurement Mode).


(19)

8. Memiliki dimensi modul yang kecil dan ringkas sehingga mudah ditempatkan pada berbagai aplikasi

.

Gambar 2. 1 DT-Sense 3 Axis Compass


(20)

Tabel 2.1 Konfigurasi Pin DT-Sense 3 Axis Compass

(sumber:

Pin Nama Fungsi

1 DRDY Output Data Ready Interrupt

2 NC - Tidak terhubung

3 NC - Tidak terhubung

4 NC - Tidak terhubung

5 SDA Input/ Output I2C Serial Data (SDA)

6 SCL Input I2C Serial Clock (SCL)

7 Ground - Titik referensi ground

8 V33 Input Tegangan 3,3 VDC

IC hmc5883l ini menerapkan teknologi AMR (Anisotropic Magnetoresistive). Teknologi AMR memiliki kelebihan dibanding teknologi sensor magnetik lainnya. Sensor yang bersifat anisotropik (memiliki karakteristik berbeda pada arah yang berbeda) ini merupakan sensor berarah (directional) yang memiliki presisi dan sensitivitas tinggi, serta menghasilkan keluaran yang linear dari perubahan sudut orientasi terhadap sumbu-sumbunya.

Sensor - sensor solid-state ini dikonstruksi dengan perpotongan sumbu (cross-axis) yang sangat presisi untuk mendeteksi arah dan besaran medan magnet bumi pada skala beberapa mili-gauss hingga 8 gauss. Sensor magnetik ini diakui sebagai sensor low – field

dengan sensitivitas terbaik dan dapat diandalkan oleh kalangan industri.

Breakout board sensor kompas elektronika ini dirancang secara kokoh dan efisien untuk meminimalisasi ukuran modul (berukuran hanya 14 x 13 x 3 mm), menggunakan komponen elektronika SMD (surface mounted device) untuk menghemat ruang dan menekan konsumsi listrik.

2.2. Mikrokontroler ATMega 8535


(21)

terlebih dahulu yang namanya mikroprosesor. Mikrokontroler memiliki beberapa keunggulan antara lain ialah :

1. Tersedianya I/O

I/O dalam mikrokontroler sudah tersedia sehingga tidak dibutuhkan IC tambahan untuk menangani I/O tersebut. IC I/O yang dimaksud adalah PPI 8255. 2. Memori Internal

Memori merupakan media untuk menyimpan program dan data sehingga mutlak harus ada. Mikrokontroller memiliki memori internal sendiri sehingga tidak memerlukan IC memori eksternal. Dengan kelebihan - kelebihan di atas, ditambah dengan harganya yang relatif murah sehingga banyak penggemar elektronika yang kemudian beralih ke mikrokontroler.

Mikrokontroler merupakan komputer di dalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut “pengendali kecil“ dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen - komponen pendukung seperti IC TTL dan CMOS dapat direduksi / diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Dengan menggunakan mikrokontroler ini maka:

1. Sistem elektronik akan menjadi lebih ringkas.

2. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi.

3. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang sama. Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran input dan output (I/O). dengan


(22)

karena mikrokontroler sudah mengandung beberapa bagian yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital (ADC), dan sebagainya hanya menggunakan System minimum yang tidak rumit atau kompleks.

Mikrokontroler adalah otak dari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak komputer. Namun mikrokontroler memiliki nilai tambah karena didalamnya sudah terdapat memori dan sistem input/output dalam suatu kemasan IC. Mikrokontroler AVR (Alf and Vegard’s RISC processor) standar memiliki arsitektur 8-bit, dimana semua instruksi dikemas dalam kode 16- bit dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Berbeda dengan instruksi MCS-51 yang membutuhkan 12 siklus clock karena memiliki arsitektur CISC (seperti komputer).

Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT89RFxx. Pada dasarnya yang membedakan masing - masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega 8535. Selain mudah didapatkan dan lebih murah ATMega 8535 juga memiliki fasilitas yang lengkap. Untuk tipe AVR ada 3 jenis yaitu ATTiny, AVR klasik, dan ATMega. Perbedaannya hanya pada fasilitas dan I/O yang tersedia serta fasilitas lain seperti ADC, EEPROM, dan lain sebagainya. Salah satu contohnya adalah ATMega 8535. Memiliki teknologi RISC dengan kecepatan maksimal 16 MHz membuat ATMega 8535 lebih cepat bila dibandingkan dengan varian MCS51. Dengan fasilitas yang lengkap tersebut menjadikan ATMega 8535 sebagai mikrokontroler


(23)

Gambar 2. 3 Blok Diagram ATMega8535

(sumber :http://yusrizalandeslubs.wordpress.com/dasar-elektronika/)

Dari gambar tersebut dapat dilihat bahwa ATMega 8535 memiliki bagian sebagai berikut :

1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, Port D. 2. ADC 10 bit sebanyak 8 saluran.

3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register.

5. Watchdog Timer dengan osilator internal. 6. SRAM sebesar 512 byte.

7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal.


(24)

9. Port antarmuka SPI.

10.EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 11.Antarmuka komparator analog..

12.Port USART untuk komunikasi serial.

Kapabiltas detail dari ATMega 8535 adalah sebagai berikut :

1. Sistem mikroprosesor 8 bit bebrbasis RISC dengan kecepatan maksimal 16 MHz.

2. Kapabiltas memori flash 8 Kb, SRAM sebesar 512 byte, dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte.

3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.

4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat penggunaan daya listrik.

2.2.1. Konfigurasi PIN ATMega8535

Mikrokontroler ATMega8535 mempunyai jumlah pin sebanyak 40 buah, dimana 32 pin digunakan untuk keperluan port I/O yang dapat menjadi pin input/output sesuai konfigurasi. Pada 32 pin tersebut terbagi atas 4 bagian (port), yang masing-masingnya terdiri atas 8 pin. Pin-pin lainnya digunakan untuk keperluan rangkaian osilator, supply tegangan, reset, serta tegangan referensi untuk ADC. Untuk lebih jelasnya, konfigurasi pin ATMega8535 dapat dilihat pada gambar 2.4.


(25)

Berikut ini adalah susunan pin-pin dari ATMega8535;

• VCC merupakan pin yang berfungsi sebagai pin masukkan catu daya • GND merupakan pin ground

• Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC

• Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, Komparator Analog, dan SPI

• Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, Komparator Analog, dan Timer Oscilator

• Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Komparator Analog, Interupsi Iksternal dan komunikasi serial USART

• Reset merupakan pin yang digunakan untuk mereset mikrokontroler

• XTAL1 dan XTAL2 merupakan pin masukkan clock eksternal (osilator menggunakan kristal, biasanya dengan frekuensi 11,0592 MHz).

Gambar 2. 4 Konfigurasi Pin ATMega8535


(26)

2.2.2. Peta Memori ATMega 8535

ATMega 8535 memiliki dua jenis memori yaitu Program Memory dan Data Memory ditambah satu fitur tambahan yaitu EEPROM Memory untuk penyimpan data.

2.2.2.1. Program Memory

ATMEGA 8535 memiliki On-Chip In-System Reprogrammable Flash Memory

untuk menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua bagian, yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section

digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertama kali diaktifkan.

Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalakan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat deprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada Application Flash Section juga sudah aman.


(27)

2.2.2.2. Data Memory

Gambar berikut menunjukkan peta memori SRAM pada ATMega 8535. Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk Register File dan I/O Memory sementara 512 lokasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register.

Gambar 2. 6 Peta Memori Data

2.2.2.3. EEPROM Data Memory

ATMega 8535 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Loaksinya terpisah dengan system address register, data register dan control register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF.


(28)

2.3 IC Regulator 7805

IC Regulator 7805 adalah regulator tegangan sirkuit terpadu dari 78xx seri linier IC regulator tegangan tetap. Sumber tegangan di sirkuit mungkin memiliki fluktuasi dan tidak akan memberikan output tegangan tetap. Tegangan regulator IC mempertahankan tegangan output pada nilai konstan. 78xx menunjukkan tegangan output tetap. Ic regulator 7805 menyediakan 5V power supply yang diatur. Kapasitor nilai yang sesuai dapat dihubungkan pada input dan output pin tergantung pada tingkat tegangan masing-masing.

Gambar 2.8 IC Regulator 7805

Tabel 2.2 Konfigurasi Pin IC Regulator 7805 Pin

No

Function Name

1 Input voltage (5V-18V) Input

2 Ground (0V) Ground


(29)

BAB III

PERANCANGAN ALAT DAN PROGRAM

3.1. Diagram Blok dan Cara Kerja Rangkaian

Berikut ini adalah diagram blok dari rangkaian yang dibuat:

Gambar 3.1. Diagram Blok Rangkaian

a. Power supply berfungsi sebagai sumber tegangan dari seluruh sistem agar sistem dapat bekerja

A

T

M

E

G

A

8

5

3

5

LCD

SENSOR COMPAS


(30)

mikrokontroller akan mengecek sinyal yang dikirimkan oleh sensor, kemudian memprosesnya dan mengirimkan perintah ke ISD2560

c. Sensor kompas berfungsi untuk mendeteksi arah mata angin d. lcd berfungsi sebagai indikator keluaran dalam bentuk tampilan

3.2 Perancangan Rangkaian Catu Daya

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian Catu daya (Power Supply Adaptor) ini terdiri dari satu keluaran, yaitu 5 volt. Keluaran 5 volt digunakan untuk mensupplay tegangan ke rangkaian mikrokontroller AVR Atmega 8535, rangkaian IDS2560, sensor ultrasonik dan compas. Rangkaian catu daya ditunjukkan pada gambar 3.2 berikut ini :

Gambar 3.2 Rangkaian Catu Daya

Baterai merupakan sumber tegangan DC. Kemudian tegangan akan disearahkan dengan menggunakan jembatan dioda, selanjutnya akan diratakan oleh kapasitor 220 µF. Regulator tegangan 5 volt (7805) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indicator apabila Catu daya dinyalakan. Tegangan 5 volt DC langsung diambil dari keluaran


(31)

3.3. Perancangan Rangkaian dengan Mikrokontroller AVR ATMega 8535

Gambar 3.3. Rangkaian dengan Mikrokontrolller AVR ATMega 8535

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.

Pin 12 dan 13 dihubungkan ke XTAL 8 MHz dan dua buah kapasitor 22pF. XTAL ini akan mempengaruhi kecepatan mikrokontroller AVR Atmega 8535 dalam mengaksekusi setiap perintah dalam program. Pada pin 9 dihubungkan dengan sebuah


(32)

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 perkalian antara kapasitor dan resistor tersebut.

3.4. Perancangan Sistem Modul Kompas

Modul CMPS03 disini berfungsi sebagai sensor magnet, untuk supply hanya memerlukan tegangan sebesar 5 Vdc dengan konsumsi arus 15mA. Pada CMPS03, arah mata angin dibagi dalam bentuk derajat yaitu : Utara (0o), Timur (90o), Selatan (180o) dan Barat (270o). Berikut adalah skema rangkaian aplikasi CMPS03.

Pin 1 sebagai input tegangan sebesar 5V. Pin 2 digunakan untuk kominikasi clock. (scl) Pin 3 digunakan untuk komunikasi data. (sda) Pin 4 digunakan untuk Komunikasi PWM.

Pin 6 digunakan untuk kalibrasi digital kompas. Pin ini juga memiliki resistor pullup on board dan dapat dibiarkan tidak terhubung setelah proses kalibrasi.

Pin 9 dihubungkan ke ground.

Pin 2 dan 3 adalah jalur komunikasi I2C dan dapat digunakan untuk membaca data arah (bearing). Jika jalur I2C tidak digunakan, maka pin ini harus di pull up (ke +5V) melalui resistor yang nilainya sekitar 47K, nilai resistor tidak kritikal. I2C communication protocol dimulai dengan mengirimkan start bit, address modul digital compass dengan read/write low (0xC0), kemudian nomor register yang akan dibaca. Selanjutnya diikuti dengan start bit lagi, address modul digital compass dengan read/write high (0xC1). Selanjutnya anda bisa membaca satu atau dua register (8 bit atau 16 bit). Untuk register 16 bit, yang pertama kali dibaca adalah high byte. CMPS03 memiliki 16 register.


(33)

Gambar 3.4. Komunikasi I2C Protocol

Gambar 3.5. Rangkaian Aplikasi Modul Kompas 3.5. Flowchart sistem

Flowchart pada sistem rangkaian alat adalah sebagai berikut:

START

INISIALIASASI PORT

Baca modul kompas


(34)

Untuk penjelasan Flowchartnya sebagai berikut :

Pertama, mikrokontroller akan menginisialisasi port program yang dibutuhkan, seperti library untuk lcd dan I2C, setelah itu mikrokontroller akan mulai memberi perintah kepada modul kompas untuk membaca arah yang hasilnya akan di kirim balik ke mikrokontroller. Data yang diterima oleh mikrokontroller kemudian akan diolah dan ditampilkan di lcd dan begitu seterusnya


(35)

BAB IV

PENGUJIAN RANGKAIAN DAN ANALISA PROGRAM

4.1. Pengujian Rangkaian Power Supply

Pengujian rangkaian power supply ini bertujuan untuk mengetahui tegangan yang dikeluarkan oleh rangkaian tersebut, dengan mengukur tegangan keluaran dari power supply menggunakan multimeter digital. Setelah dilakukan pengukuran maka diperoleh besarnya tegangan keluaran sebesar 5 volt. Dengan begitu dapat dipastikan apakah terjadi kesalahan terhadap rangkaian atau tidak. Jika diukur, hasil dari keluaran tegangan tidak murni sebesar +9 Volt dan +12 Volt, tetapi +8.97 Volt dan +12.03 Volt. Hasil tersebut dikarenakan beberapa faktor, diantaranya kualitas dari tiap-tiap komponen yang digunakan nilainya tidak murni. Selain itu, tegangan jala-jala listrik yang digunakan tidak stabil.

4.2. Pengujian Rangkaian Mikrokontroler ATMega 8535

Pengujian pada rangkaian mikrokontroler ATMega 8535 ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian power supply sebagai sumber tegangan. Kaki 10 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 11 dihubungkan dengan ground. Kemudian tegangan pada kaki 10 diukur dengan menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 10 sebesar 4,9 volt. Langkah selanjutnya adalah memberikan program sederhana pada mikrokontroler ATMega 8535, program yang diberikan adalah sebagai berikut:

#include <mega8535.h> #include <delay.h> #include <stdio.h> while (1)

{

// Place your code here PORTA=0xFF;


(36)

{

delay_us(100); PORTA=0x00; DDRA=0x00; }

Gambar 4.1. Listing Program Pada Mikrokontroller

4.3. Pengujian Resolusi Kompas

Pengujian resolusi kompas ini dilakukan untuk mengetahui kepresisian arah dari kompas dibandingkan dengan arah arah dari kompas analog. Lihat blok diagram dan alat pengujian pada tabel berikut:


(37)

Tabel 4.1. Pengujian Arah Kompas

Tampak dari tabel bahwa data pada pengujian dalam ruangan memliki deviasi lebih kecil dari pengujian luar ruangan. data ini karena sensor medan magnet dalam ini bersifat magnetoresisive yaitu resistansi tergantung pada sifat kemagnetan bahan. Sehingga benda-benda yang terdapat di dalam ruangan (dalam hal ini laboratorium) akan mempengaruhi sensitifitas sensor medan magnet di dalamnya. Apalagi di ruang laboratorium yang kemungkinan besar terpengaruh dengan medan listrik yang mampu menimbulkan medan magnet. Terlihat pada tabel 4.1 di atas bahwa error untuk pengujian di dalam ruangan lebih besar. Dari pengujian ini dapat diketahui bahwa sensor medan magnet yang digunakan pada kompas digital bersifat magnetoresisive yang sangat sensitif sekali dengan medan magnet. Sehingga dalam penggunaannya harus dijauhkan dari benda - benda yang menimbulkan medan magnet, seperti kabel bertegangan tinggi, benda - benda dari bahan besi.

4.4. Interfacing LCD 2x16

Bagian ini hanya terdiri dari sebuah LCD dot matriks 2 x 16 karakter yang berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD dihubungkan


(38)

untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD. Display karakter pada LCD diatur oleh pin EN, RS dan RW: Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set ( high ) pada dua jalur kontrol yang lain RS dan RW. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ( 0 )

Berdasarkan keterangan di atas maka kita sudah dapat membuat progam untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai berikut:

#include <mega8535.h> #include <stdio.h> #include <delay.h>

// Alphanumeric LCD Module functions #include <alcd.h>

// Declare your global variables here

void main(void) {

// Declare your local variables here

PORTA=0xff; DDRA=0x0F;

PORTB = 0X03; DDRB = 0X8F; //


(39)

// LCD module initialization lcd_init(16);

lcd_gotoxy(0,0); lcd_putsf("fisika");

Program di atas akan menampilkan kata “fisika” di baris pertama pada display LCD 2x16..

Gambar 4.2. Listing Program Pada LCD

4.5. Analisa Program

Program Secara Keseluruhan

#include <mega16a.h> //inisialisasi untuk menggunakan mikrokontroller atmega #include <alcd.h> //library untuk lcd

// I2C Bus functions

#include <i2c.h> //fungsi library komunikasi i2c #include <stdio.h>


(40)

// Declare your global variables here signed int x,y,z;

char buf[32];

/* fungsi untuk menulis alamat awal modul compas*/

void writeRegisterValueByte(unsigned char I2Caddress,unsigned char address,unsigned char value) {

i2c_start(); i2c_write(I2Caddress); i2c_write(address); i2c_write(value); i2c_stop(); }

/*fungsi untuk membaca modul compas*/ void readcompas(void) {

i2c_start(); //fungsi membaca nilai sumbu x

i2c_write(0x3C); i2c_write(0x03); i2c_stop();

i2c_start(); i2c_write(0x3D); x = i2c_read(1); x = x << 8; x |= i2c_read(0); i2c_stop();

i2c_start(); //fungsi membaca nilai sumbu y i2c_write(0x3C);


(41)

i2c_start(); i2c_write(0x3D); z = i2c_read(1); z = z << 8; z |= i2c_read(0); i2c_stop();

i2c_start(); //fungsi membaca nilai sumbu z i2c_write(0x3C);

i2c_write(0x07); i2c_stop();

i2c_start(); i2c_write(0x3D); y = i2c_read(1); y = y << 8; y |= i2c_read(0); i2c_stop(); }

/*fungsi utama*/ void main(void) {

// Declare your local variables here

/*inisialisasi port a, port b, port c, port d*. // Input/Output Ports initialization

// Port A initialization

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

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


(42)

// Port B initialization

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

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

DDRB=0x00;

// Port C initialization

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

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

DDRC=0x00;

// Port D initialization

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

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

DDRD=0x00;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock


(43)

// Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

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


(44)

// INT2: Off MCUCR=0x00; MCUCSR=0x00;

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

// USART initialization // USART disabled UCSRB=0x00;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;

SFIOR=0x00;

// ADC initialization // ADC disabled ADCSRA=0x00;

// SPI initialization // SPI disabled SPCR=0x00;

// TWI initialization // TWI disabled TWCR=0x00;

// I2C Bus initialization // I2C Port: PORTB


(45)

// Bit Rate: 50 kHz

// Note: I2C settings are specified in the

// Project|Configure|C Compiler|Libraries|I2C menu. i2c_init(); delay_ms(100); lcd_init(16); delay_ms(100); lcd_gotoxy(0,0); lcd_putsf("hamdan"); lcd_gotoxy(0,1); lcd_putsf("compass digital");

writeRegisterValueByte(0x3C,0x02,0x00); //fungsi memulai komunikasi mikro dengan modul

//compas

delay_ms(1500); while (1)

{

// Place your code here lcd_clear();

readcompas(); //memanggil fungsi membaca modul compas untuk mendapatkan nilai sumbu

//x,y,z

sprintf(buf,"x=%d y=%d",x,y); //menampilkan nilai sumbu x dan sumbu y lcd_gotoxy(0,0); //(kolom,baris)

lcd_puts(buf);

/* fungsi arah mata angin*/

if(x>=200 &(y>=200&&y<=200)){lcd_clear();lcd_gotoxy(7,1);lcd_putsf("utara");} if((x<=150&&x>=300)&(y>=250)){lcd_clear();lcd_gotoxy(7,1);lcd_putsf("timur");} if(x<=-350 &(y<=200&&y>=200)){lcd_clear();lcd_gotoxy(7,1);lcd_putsf("selatan");} if((x>=300&&x<=150)&(y<=250)){lcd_clear();lcd_gotoxy(7,1);lcd_putsf("barat");} delay_ms(500);


(46)

(47)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Setelah dilakukan pengujian hasil perancangan kompas digital memakai hmc5883l berbasis mikrokontroler ATMega 8535, dapat diambil beberapa kesimpulan:

1. Penggunaan mikrokontroler dengan ADC internal dapat menyederhanakan rangkaian yang di rancang.

2. Sensor hmc5883l cukup baik dalam mengukur arah mata angin.

3. Perpaduan mikrokontroler ATMega 8535 dengan sensor hmc5883l membuat rangkaian lebih sederhana, karena ADC sudah terintegrasi langsung di dalam mikrokontroler ATMega 8535.

4. Tampilan LCD membuat alat ini lebih menarik dan teks terbaca cukup jelas.

5.2. Saran

Beberapa tambahan yang diperlukan dalam meningkatkan kemampuan alat ini adalah: 1. Supaya rangkaian yang digunakan tidak terganggu, sebaiknya alat ini dikemas

dalam bentuk yang lebih aman dan terlindungi, sehingga penggunaannya lebih efektif

2. Dengan beberapa pengembangan dan penyempurnaan sistem dari alat ini akan dapat lebih baik lagi hasilnya.


(48)

Daftar Pustaka

Heryanto, M.Ary dan Wisnu Adi.2008.Pemrograman Untuk Mikrokontroler ATMEGA 8535.Yogyakarta: ANDI.

Lingga, W. 2006. Belajar sendiri Pemrograman AVR ATMega8535. Yogyakarta: Andi Offset.

Malvino, A. P. 1992. Prinsip-prinsip Elektronika. Jakarta: Erlangga.

Suhata.2005.Aplikasi Mikrokontroler Sebagai Pengendali Peralatan Elektronika. Jakarta: Elex Media Komputindo

www. toko-elektronika.com


(49)

(50)

LAMPIRAN A


(51)

(1)

(2)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Setelah dilakukan pengujian hasil perancangan kompas digital memakai hmc5883l berbasis mikrokontroler ATMega 8535, dapat diambil beberapa kesimpulan:

1. Penggunaan mikrokontroler dengan ADC internal dapat menyederhanakan rangkaian yang di rancang.

2. Sensor hmc5883l cukup baik dalam mengukur arah mata angin.

3. Perpaduan mikrokontroler ATMega 8535 dengan sensor hmc5883l membuat rangkaian lebih sederhana, karena ADC sudah terintegrasi langsung di dalam mikrokontroler ATMega 8535.

4. Tampilan LCD membuat alat ini lebih menarik dan teks terbaca cukup jelas.

5.2. Saran

Beberapa tambahan yang diperlukan dalam meningkatkan kemampuan alat ini adalah: 1. Supaya rangkaian yang digunakan tidak terganggu, sebaiknya alat ini dikemas

dalam bentuk yang lebih aman dan terlindungi, sehingga penggunaannya lebih efektif

2. Dengan beberapa pengembangan dan penyempurnaan sistem dari alat ini akan dapat lebih baik lagi hasilnya.


(3)

Daftar Pustaka

Heryanto, M.Ary dan Wisnu Adi.2008.Pemrograman Untuk Mikrokontroler ATMEGA 8535.Yogyakarta: ANDI.

Lingga, W. 2006. Belajar sendiri Pemrograman AVR ATMega8535. Yogyakarta: Andi Offset.

Malvino, A. P. 1992. Prinsip-prinsip Elektronika. Jakarta: Erlangga.

Suhata.2005.Aplikasi Mikrokontroler Sebagai Pengendali Peralatan Elektronika. Jakarta: Elex Media Komputindo

www. toko-elektronika.com


(4)

(5)

LAMPIRAN A


(6)