Kompas Digital Berbasis Mikrokontroler Atmega 8535
“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)