BERBASISMIKROKONTROLER ATMEGA328
SKRIPSI
EBTA WISUDA DJAYA SITORUS 140801017
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2019
PERANCANGAN DAN PEMBUATAN KOMPAS DIGITAL DENGAN OUTPUT SUARA SEBAGAI ALAT BANTU JALAN
BERBASIS MIKROKONTROLER ATMEGA328
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
EBTA WISUDA DJAYA SITORUS 140801017
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN
2019
ii
PERNYATAAN
PERANCANGAN DAN PEMBUATAN KOMPAS DIGITAL DENGAN OUTPUT SUARA SEBAGAI ALAT BANTU JALAN
BERBASIS MIKROKONTROLER ATMEGA328
SKRIPSI
Saya mengaku bahwa skripsi ini adalah hasil karya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,
Ebta Wisuda Djaya Sitorus 140801017
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yesus Kristus, atas segala berkat dan kasihNya kepada penulis sehingga dapat menyelesaikan penelitian dan skripsi ini dengan baik dengan waktu yang direncanakan., dengan judul : “PERANCANGAN DAN PEMBUATAN KOMPAS DIGITAL DENGAN OUTPUT SUARA SEBAGAI ALAT BANTU JALAN BERBASIS MIKROKONTROLER ATMEGA328”.
Terimakasih buat kedua orangtua Penulis Bapak Morlan Sitorus,S.Pd dan Ibu Marusaha Tambun,S.Pd yang sangat Penulis cintai dan sayangi. Terimakasih banyak atas kasih sayang, pengorbanan, kesabaran, doa, dan motivasi yang diberikan kepada penulis sehingga penulis dapat menyelesaikan penelitian ini.
Penulis juga mengucapkan banyak terimakasih kepada:
1. Bapak Dr. Bisman Perangin-angin M.Eng.Sc yang telah meluangkan waktu untuk membimbing, mengarahkan dan memberikan kepercayaan kepada penulis dalam melaksanakan penelitian hingga penyelesaian penulisan skripsi ini.
2. Bapak Dr. Perdinan Sinuhaji, MS, sebagai Ketua Departemen Fisika FMIPA USU., seluruh dosen, staf dan pegawai Departemen Fisika FMIPA USU yang telah membantu dan membimbing dalam menyelesaikan skripsi ini.
3. Saudara Fery Armando Sitorus, Ika Fitriana Sitorus, Ricky Rikardo Sitorus, dan Nur Eka Oktoria Sitorus sebagai saudara penulis yang selalu memberikan dukungan, motivasi dan doa kepada penulis.
4. Teman Seperjuangan Irma Surya Siregar, Jacky Gunawan Manurung, Tiarlin Nadapdap sebagai teman yang selalu menerima keluhan penulis dalam melakukan penelitian serta memberikan dorongan berupa motivasi dan masukkan kepada penulis.
5. Teman seperjuangan Andika Suranta Sinuraya,S.Si sebagai Teman satu kamar yang selalu memotivasi dan memberi masukkan serta dukungan yang membuat penulis semakin terdorong melakukan penelitian.
iv
6. Reggy Zurcher,S.Si, Tri Gunaria,S.Si, dan Teman Fisika 2014 yang telah memberikn dorongan berupa motivasi dan masukkan yang dapat membatu penulis menyelesikan Penelitian ini.
7. Adik adik Fisika 2017, Fisika 2016, Fisika 2015 yang selalu mendukung dan memberi semangat kepada penulis.
8. Adlan, Anggi, Artha, Balkis, Citoh, Eka, Fauziah, Indah, Jeremy, Lusi, Nurul, Yesi, dan Yuni sebagai teman-teman KKN PPM Tematik 2017 Nagori Silampuyang Kabupaten Simalungun yang siap menerima keluhan penulis dalam melaksanakan penelitian dan selalu memberi dorongan dan motivasi kepada penulis.
9. Abangda Agave Perdana Sitorus, Abangda Darwin Sitorus, Abangda Raymod Aaron Sitorus,S.Th dan Appara Sariman Sutrisno Sitorus,S.I.Kom sebagai Saudara yang selalu ada dan siap membantu penulis serta memberikan dukungan berupa motivasi dan masukkan serta berperan dalam terlaksananya penelitian ini.
10. Ito Serefina Br. Sitorus, Ito Adina Br. Sitorus dan Ito Tari Br. Sitorus sebagai Ito atau saudara perempuan saya yang selalu peduli dan selalu memberikan semangat kepada penulis.
11. Punguan Naposo Sitorus Sekota Medan dan Sekitarnya (NASIDA) yang selalu menampung keluhan dan kendala penulis serta memberikan masukkan yang dapat membangkitkan semangat penulis melakukan penelitian.
PERANCANGAN DAN PEMBUATAN KOMPAS DIGITAL
DENGAN OUTPUT SUARA SEBAGAI ALAT BANTU JALAN BERBASIS MIKROKONTROLER ATMEGA328
ABSTRAK
Telah dirancang dan dibuat Kompas Digital Dengan Output Suara Sebagai Arah Bantu Jalan Berbasis Mikrokontroler Atmega328. Pusat kontrol dari sistem ini adalah mikrokontroler Atmega328. Alat ini terdiri dari sensor HMC 5883 yang telah dirancang untuk mendeteksi dan menetukan arah mata angin. Dimana sensor HMC 5883 dalam bentuk persegi. ISD 1760 sebagai perekam dan pemain suara yang direkam dan akan di tampikan pada sebuah tampilan berupa LCD. Dimana LCD untuk menampilkan data hasil pada display berupa mata angin dan nilai derajat pada mata angin. Cara kerja sistem adalah kompas mendeteksi mata angin dan diproses melalui mikrokontroler.
Setelah diproses pada mikrokontroler maka mikrokontroler akan memberikan sebuah data yang dikirim melalui ISD 1760 yang berupa suara dan derajat pada mata angin yang telah direkam terlebih dahulu. Data tersebut akan ditampilkan melalui layar LCD dan melalui speaker.
Kata Kunci: Sensor HMC 5883, Atmega328, ISD 1760.
vi
PERANCANGAN DAN PEMBUATAN KOMPAS DIGITAL
DENGAN OUTPUT SUARA SEBAGAI ALAT BANTU JALAN BERBASIS MIKROKONTROLER ATMEGA328
ABSTRAK
It has been designed and made Digital Compass with Sound Output as a Direction to Help Roads Based on the Atmega328 Microcontroller. The control center of this system is the Atmega328 microcontroller. This device consists of an HMC 5883 sensor that has been designed to detect and determine the direction of the wind. Where is the HMC 5883 sensor in square shape. ISD 1760 as a recorder and sound player that is recorded and will be displayed on an LCD display. Where the LCD is to display the results data on the display in the form of a windshield and the value of the degree in the wind. The way the system works is that the compass detects the wind and is processed through the microcontroller. After being processed on the microcontroller, the microcontroller will provide a data sent through ISD 1760 in the form of sound and degree to the wind that has been recorded first. The data will be displayed through the LCD screen and through the speaker.
Keywords: Sensor HMC 5883, Atmega328, ISD 1760.
DAFTAR ISI
Halaman
PERSETUJUAN i
PERNYATAAN ii
PENGHARGAAN iii
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL ix
DAFTAR LAMPIRAN x
DAFTAR SINGKATAN xi
BAB I PENDAHULUAN
1.1. Latar belakang 1
1.2. Rumusan Masalah 2
1.3. Batasan Masalah 2
1.4. Tujuan Penelitian 2
1.5. Manfaat Penelitian 3
1.6. Sistematika Penulisan 3
BAB II TINJAUAN PUSTAKA
2.1 Pengenalan mikrokontroler 5
2.2 Mikrokontroler ATMega328 7
2.2.1 Fitur Mikrokontroler ATMega 328 9
2.2.2 Konfigurasi Pin ATMega 328 10
2.3 Kapasitor 13
2.4 Resistor 13
2.5 Speaker 14
2.5.1 Prinsip Kerja Speaker 15
2.6 Dioda 16
2.7 Transistor 16
27.1 Jenis-jenis Transistor 17
2.8 Liquid Crystal Display (LCD) 19
2.8.1 LCD 1632 21
2.8.2 Prinsip Kerja LCD 22
2.8.3 Fiture LCD 16x2 23
2.8.4 Spesifikasi Kaki LCD 23
2.9 Kompas Digital HMC 5883 24
viii
2.10 Pengenalan Pemrograman C 25
2.10.1 Tipe Data 26
2.10.2 Konstanta dan Variabel 27
2.10.3 Pengarah Preprosesor 27
2.10.4 Pernyataan 28
2.10.5 Blok Pernyataan 28
2.10.6 Fungsi Pustaka 28
2.10.7 Pernyataan if 29
2.10.8 Pernyataan if. Else 29
BAB III METODE PENELITIAN
3.1. Diagram Blok 31
3.1.1 Penjelasan Fungsi Tiap Blok 31
3.1.2 Penjelasan Diagram Blok 32
3.2 Sensor HMC 5883 32
3.3 Display LCD 32
3.4 Mikrokontroler ATMega328 33
3.5 ISD 1760 34
3.5.1 Cara Kerja ISD 35
3.6 Prinsip Kerja Alat 36
3.7 Rangkaian 38
3.8 Diagram Alir (Flowchart) 38
BAB IV PENGUJIAN DAN ANALISA
4.1 Pengujian LCD (Liquid Crystal Display) 39
4.2 Pengujian Pada Sensor HMC 5883 39
4.3 Pengujian Kompas Digital Dalam dan Luar Ruangan 39
4.4 Pengujian Skala Pada Kompas Digital 41
4.5 Perbandingan antara kompas Digital dengan Kompas HP 41
4.6 Pengujian Sistem secara Keseluruhan 42
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan 43
5.2. Saran 44
DAFTAR PUSTAKA
LAMPIRAN
DAFTAR TABEL
No. Judul Halaman
1. Konfigurasi Pin Atmega328 Port B 11
2. Konfigurasi Pin Atmega328 Port C 12
3. Konfigurasi Pin Atmega328 Port D 13
4. Tipe Data Dalam Bahasa C 26
5. Hasil pengukuran sensor HMC 5883 39
6. Hasil Pengukuran Kompas Dalam dan Luar Ruangan 40
7. Hasil Pengukuran Skala pada kompas 41
8. Perbandingan Skala Kompas Digital dan Kompas Handphone 41 9. Perbandingan Sudut Antara Konvensional dengan Kompas Digital 42
x
DAFTAR LAMPIRAN
Lampiran 1. Program Lengkap Lampiran 2. Perhitungan
Lampiran 3. Rangkaian Lengkap Lampiran 4. Gambar Alat
Lampiran 5. Gambar Peengujian Alat
DAFTAR SINGKATAN
CIS = Complex intruction Set Computer CPU = Central Processing Unit
CRT = Chatoda Ray Tube
EEPROM = Electrically Erasable Programmable Read Only Memory GPS = Global Positioning System
LCD = Liquid Cyristal Display RAM = Random Access Memory
RISC = Reduce Intruction Set Computer ROM = Read Only Memory
SRAM = Static Random Access Memory
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Kompas adalah sebagai alat penunjuk arah. Kompas biasnya digunakan pada pesawat dan kapal laut. Pramuka dan para penjelajah alam juga berpedoman pada kompas dan peta untuk merintis jalan baru. Kompas sederhana tersusun atas jarum baja magnet yang melekat pada kartu kompas, lempemgan plastik berbentuk cakram dengan tanda tanda mata angin. cakram yang merupakan petumjuk arah dibagi menjadi sama besar menjadi 3600 pada sederhananya menjadi delapa mata angin. kompas menunukkan arah berdasarkan medan magnet bumi. Kutub utara magnet bumi berada di dekat kutub utara bumi. Sedangkan kutub selatan magnet bumi berada di dekat kutub selatan.
Cakram akan berhenti berputar apabila arah jarumnya telah sesuai dengan arah medan magnet bumi. Kompas magnet ini tidak akan tidak akan bekerja dengan baik bila didekatkan pada benda bermagnet atau medan magnet karena medan magnet bumi yang mempengaruhinya akan rusak oleh benda-benda asing itu. Pada jenis kompas sederhana arah mata angin hanya dibagi delapan mata angin. arah utara bertepatan dengan 00 atau 3600, timur laut 450, tenggara 1350, selatan 1800, barat daya 2250, barat 2700, dan barat laut 3150.
Kompas sederhana atau kompas analog sangat banyak memiliki ketidak pastian karena adanya pengaruh pada benda asing seperti benda bermagnet. Dan kompas sederhana juga tidak semua manusia bisa menggunakannya. Karena manusia tidak semuanya mempunyai fisik yang sempurna. Manusia adalah ciptaan Tuhan yang paling sempurna. Akan tetapi tidak semua manusia yang memiliki fisik yang sempurna. Banyak kecacatan fisik yang dimiliki manusia, salah satunya adalah buta atau tidak dapat melihat. Orang yang buta disebut tunanetra. Tunanetra sulit untuk berjalan kemana hendak ia melangkah, akibat kecacatan pada matanya. Sehingga penulis berinovasi
Hal ini yang menjadi latar belakang dilakukannya penelitian yang bejudul
“PERANCANGAN DAN PEMBUATAN KOMPAS DIGITAL DENGAN OUTPUT SUARA SEBAGAI ALAT BANTU ARAH JALAN BERBASIS MIKROKONTROLER ATMEGA328”. Penelitian yang akan dilakukan ini diharapkan menghasilkan suatu output berupa kompas digital dengan keluaran suara untuk membantunya tunanetra sebagai pemandu arah jalan. Suara yang didengar akan diperoleh dari speaker melalui sensor HMC 5883. Selanjutnya hasil penelitian ini akan dimanfaatkan atau dipergunakan oleh tunanetra.
1.2 Rumusan Masalah
Berdasarkan uraian latar belakang masalah sebelumnya, maka penulis merumuskan beberapa hal yang menjadi masalah dalam penelitian ini. Diantaranya:
1. Bagaimana merancang alat untuk mendeteksi arah kompas dengan sensor HMC5883
2. Bagaimana merancang rangkaian kontrol untuk membaca sensor, mengkalibrasi dan menampilkan ke display LCD
3. Bagaimana membuat alat dapat memberikan output suara
1.3 Batasan Masalah
Untuk mendapatkan suatu hasil penelitian dari permasalahan yang ditentukan, maka perlu ada pembatasan masalah penelitian :
1. Rancangan menggunakan kontroler ATMega328 sebagai pengendali suara.
2. Menggunajan sensor HMC 5883
3. Output sistem ditampilkan pada displayLCD dan Ssuara
4. Rancangan menggunakan sebuah interface untuk membaca sensor HMC 5883 5. Tidak menghitung kuat medan magnet pada sensor HMC 5883
1.4 Tujuan Penelitian
1. Merancang alat pendeteksi arah kompas
2. Merancang rangkaian kontrol untuk membaca sensor dengan menggunakan kontroler ATMega328
3
3. Membuat sistem dapat mengeluarkan output suara dengan menggunakan ISD 1760
1.5 Manfaat Penelitian
1. Manfaat dari alat yang telah dibuat adalah untuk memberikan penunjuk arah jalan
2. Dapat melakukan perjalanan secara baik dan mudah untuk di pergunakan bagi pengguna kompas
1.6 Sistematika Penulisan
Untuk memberi gambaran dalam mempermudah serta memahami tentang sistematika kinerja dari alat PERANCANGAN DAN PEMBUATAN KOMPAS DIGITAL DENGAN OUTPUT SUARA SEBAGAI ALAT BANTU ARAH TUNANETRA BERBASIS MIKROKONTROLER ATMEGA328, maka penulis menulis proposal dengan sistematika penulisan sebagai berikut:
BAB 1 : PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.
BAB 2 : TINJAUAN PUSTAKA
Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian teori pendukung itu antara lain tentang sensor HMC 5883, ISD 1760 , mikrokontroler ATMega328, dan lain-lain.
BAB 3 : PERANCANGAN ALAT
Pada bab ini akan dibahas perancangan dari alat , yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian dan diagram alir.
BAB 4 : HASIL DAN ANALISIS
Pada bab ini berisikan tentang pengujian alat dan juga analisa data yang diperoleh dari pengujian alat yang dibuat.
BAB 5 : KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari penelitian ini serta saran yang berkaitan dengan seluruh proses perancangan dan pembuatan tugas akhir ini.
DAFTAR PUSTAKA
BAB 2
TINJAUAN PUSTAKA
Dalam Bab ini penulis akan membahas tentang komponen-komponen yang digunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan menyimpang dari topik utama laporan ini, maka setiap komponen hanya dibahas sesuai fungsinya pada masing- masing unit.
2.1 Pengenalan Mikrokontroler
Sebuah komputer mikro memiliki tiga komponen utama: unit pengolah pusat (CPU=central processing unit), memori dan sistem input/output (I/O) untuk dihubungkan dengan perangkat luar. CPU, yang mengatur sistem kerja komputer mikro, dibangun oleh sebuah mikroprosesor. Memori terdiri atas EEPROM untuk menyimpan program dan RAM untuk menyimpan data. Sistem I/O bisa dihubungkan dengan perangkat luar misalnya sebuah keyboard dan sebuah monitor, bergantung pada aplikasinya. Apabila CPU, memori dan sistem I/O dibuat dalam sebuah chip semikonduktor, maka inilah yang dinamakan mikrokontroler.
Mikrokontroler merupakan sebuah prosesor yang digunakan untuk
kepentingan kontrol. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemenelemen dasar yang sama. Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi–instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programer. Program ini mengisntruksikan komputer untuk melakukan tugas yang lebih kompleks yang di inginkan oleh programmer. Beberapa fitur yang umumnya ada di dalam mikrokontroler adalah sebagai berikut:
1. ROM (Read Only Memory)
ROM berfungsi untuk tempat penyimpanan variable. Memori ini bersifat volatile yang berarti akan kehilangan semua datanya jika tidak memdapat catu daya.
2. RAM (Random Access Memory)
RAM digunakan oleh mikrokontroler untuk tempat penyimapan program yang akan diberikan oleh user
3. Register
Merupakan tempat penyimpanan nilai – nilai yang akan digunakan dalam proses yang telah disediakan oleh mikrokontroler.
4. (SFR) Special Function Register
Merupakan register khusus yang berfungsi untuk mengatur jalanya mikrokontroler. Register ini terletak pada RAM.
5. Input dan Output Pin
Pin input adalah bagian yang berfungsi sebagai penerima signal dari luar, pin ini dapat dihubungkan ke berbagai media inputan seperti keypad, sensor, dan sebagainya. Pin output adalah bagian yang berfungsi untuk mengeluarkan signal dari hasil proses algoritma mikrokontroler.
6. Interupt
Interupt adalah bagian mikrokontroler yang berfungsi sebagai bagian yang dapat melakukan interupsi, sehinga ketika program utama sedang berjalan, program utama tersebut dapat di interupsi dan menjalankan program instrupsi terlebih dahulu.
Beberapa interupt pada umumnya adalah sebagai berikut : 1. Interupt eksternal
Interupt akan terjadi bila ada inputan dari pin interupt.
2. Interupt timer
Interupt akan terjadi bila waktu tertentu telah tercapai.
3. Interupt serial
Interupt yang terjadi ketika ada penerimaan data dari komunikasi serial.
Rata-rata mikrokontroler memiliki instruksi manipulasi bit, akses ke I/O secara langsung dan mudah, dan proses interupt yang cepat dan efisien. Dengan kata lain mikrokontroler adalah “Solusi satu Chip” yang secara drastis mengurangi jumlah
komponen dan biaya disain (harga relatif murah).
7
2.2 Mikrokontroler ATMega328
ATmega328 merupakan mikrokontroler keluarga AVR 8-bit buatan ATMEL, Beberapa tipe mikrokontroler yang sama dengan ATMega328 ini antara lain ATMega8535, ATMega16, ATMega32, ATmega8, yang membedakan antara mikrokontroler antara lain adalah, ukuran memori, banyaknya GPIO (pin input/output), periferal (USART, timer, counter, dll).
ATMega328 adalah kit elektronik atau papan rangkaian elektronik open source yang didalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino bersifat open source, tidak hanya softwarenya arduino yang bersifat opensource melainkan hardware arduino pun bersifat open source. Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi arduino merupakan kombinasi dari hardware, bahasa pemrograman dan Integrated Development Environment (IDE) yang canggih.
IDE adalah sebuah software yang sangat berperan untuk menulis program, meng- compile menjadi kode biner dan meng-upload ke dalam memori mikrokontroler.
mikrokontroler adalah sebuah sistem microprocessor dimana didalamnya sudah terdapat CPU, ROM, RAM, I/0, clock dan peralatan internal lainnya yang sudah terhubung dan terorganisasi dengan baik oleh pabrik pembuatannya dan dikemas dalam satu chip yang siap pakai, sehingga dapat langsung memprogram isi ROM sesuai dengan aturan penggunaan oleh pabrik pembuatannya. Mikrokontroler ada pada perangkat elektronik sehari-hari. Misalnya handphone, MP3 player, DVD, televisi, AC, dll.
Mikrokontroler juga dipakai untuk keperluan mengendalikan robot, baik robot mainan, maupun robot industri. Komponen utama arduino adalah mikrokontroler, maka arduino juga dapat diprogram menggunakan komputer sesuai kebutuhan.
Mikrokontroler AVR (Alf and Vegard’s Risc processor) memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16 bit (16-bitsword) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. Mikrokontroler AVR berteknologi RISC (Reduced Instruction SetComputing). Secara umum, AVR dikelompokkan menjadi 4 kelas, yaitukeluarga ATtiny, keluarga AT90Sxx, keluarga ATMega dan keluarga AT86RFxx.
Dalam pembuatan alat ini digunakan mikrokontroler sebagai pengontrol dan penanaman programnya. Mikrokontroler ATMega328 adalah sebuah IC mikrokontroler yang diproduksi oleh Atmel. Mikrokontroler ini memiliki clock dan kerjanya tinggi sehingga mampu bekerja dengan baik dan cepat, sangat memadai untuk berinteraksi dengan LCD, menunjang penggunaan bahasa pemrograman tingkat tinggi (contohnya bahasa C), buffer untuk komunikasi data, dan stack. Mikrokontroler Atmega32 berfungsi sebagai pusat pengolahan data dan pengendali bagi perangkat lain seperti relay, solenoid, modul GSM, LCD, dll.
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).Dapat dilihat bahwa ATMega328 memiliki spesifikasi bagian sebagai berikut:
a. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, Port D.
b. ADC 10 bit sebanyak 8 saluran.
c. Tiga buah Timer/Counter dengan kemampuan pembandingan.
d. CPU yang terdiri atas 32 buah register.
e. Watchdog Timer dengan osilator internal.
f. SRAM sebesar 1024 byte.
g. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
h. Unit interupsi internal dan eksternal.
i. Port antarmuka SPI.
j. EEPROM sebesar 1024 byte yang dapat diprogram saat operasi.
k. Antarmuka komparator analog.
l. Port USART untuk komunikasi serial.
9
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 ATMega32. Selain mudah didapatkan dan lebih murah, ATMega32 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. Memiliki teknologi RISC dengan kecepatan maksimal 16 MHz membuat ATMega328 lebih cepat bila dibandingkan dengan varian MCS51. Dengan fasilitas yang lengkap tersebut menjadikan ATMega328 sebagai mikrokontroler yang powerfull.
2.2.1
Fitur Mikrokontroler ATmega328ATMega328 adalah salah satu mikrokontroler keluaran dari ATMEL yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang mana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer) (Ardianto Heri, 2013). Mikrokontroler ini memiliki beberapa fitur antara lain:
Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanen karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan. Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
Memiliki pin I/O digital sebanyak 23 pin 6 diantaranya PWM (Pulse Width Modulation) output. 32 x 8-bit register serba guna. Dengan clock 16 MHz kecepatan mencapai 16 MIPS. 32 KB Flash memory. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.
Gambar 2.1 Bentuk fisik ATmega 328
2.2.2
Konfigurasi Pin ATMega328ATMega328 merupakan mikrokontroler keluarga AVR 8 bit. Beberapa tipe mikrokontroler yang sama dengan ATMega8 ini antara lain ATMega8535, ATMega16, ATMega32, ATmega328, yang membedakan antara mikrokontroler antara lain adalah, ukuran memori, banyaknya GPIO (pin input/output), peripherial (USART, timer, counter, dll). Dari segi ukuran fisik, ATMega328 memiliki ukuran fisik lebih kecil dibandingkan dengan beberapa mikrokontroler diatas. Namun untuk segi memori dan periperial lainnya ATMega328 tidak kalah dengan yang lainnya karena ukuran memori dan periperialnya relatif sama dengan ATMega8535, ATMega32, hanya saja jumlah GPIO lebih sedikit dibandingkan mikrokontroler diatas.
ATMega328 memiliki 3 buah PORT utama yaitu PORTB, PORTC, dan PORTD dengan total pin input/output sebanyak 23 pin. PORT tersebut dapat difungsikan sebagai input/output digital atau difungsikan sebagai periperal lainnya.
1. Port B
Port B merupakan jalur data 8 bit yang dapat difungsikan sebagai input/output.
Selain itu PORTB juga dapat memiliki fungsi alternatif seperti di bawah ini.
a. ICP1 (PB0), berfungsi sebagai Timer Counter 1 input capture pin.
b. OC1A (PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai keluaran PWM (Pulse Width Modulation).
c. MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur komunikasi SPI.
d. Selain itu pin ini juga berfungsi sebagai jalur pemograman serial (ISP).
11
e. TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan sebagai sumber clock external untuk timer.
f. XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama mikrokontroler.
Tabel 2.1 Konfigurasi Pin ATMega Port B
2. Port C
Port C merupakan jalur data 7 bit yang dapat difungsikan sebagai input/output digital. Fungsi alternatif PORTC antara lain sebagai berikut.
a. ADC6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar 10 bit. ADC dapat kita gunakan untuk mengubah input yang berupa tegangan analog menjadi data digital
b. I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada PORTC. I2C digunakan untuk komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C seperti sensor kompas, accelerometer nunchuck.
Tabel 2.2 Konfigurasi Pin ATMega Port C 3. Port D
Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga dapat difungsikan sebagai input/output. Sama seperti Port B dan Port C, Port D juga memiliki fungsi alternatif dibawah ini.
a. USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial.
b. Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan pada saat program berjalan kemudian terjadi interupsi hardware/software maka program utama akan berhenti dan akan menjalankan program interupsi.
13
c. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan external clock.
d. T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0.
e. AIN0 dan AIN1 keduanya merupakan masukan input untuk analog comparator.
Tabel 2.3 Konfigurasi Pin ATMega Port D 2.3 Kapasitor
Kapasitor adalah komponen elektronika yang dapat menyimpan muatan listrik.
Struktur sebuah kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu bahan dielektrik. Bahan-bahan dielektrik yang umum dikenal misalnya udara vakum, keramik, gelas dan lain-lain. Jika kedua ujung plat metal diberi tegangan listrik, maka muatan-muatan positif akan mengumpul pada salah satu kaki elektroda metalnya dan pada saat yang sama muatan-muatan negatif terkumpul pada ujung metal yang satu lagi.
Muatan positif tidak dapat mengalir menuju ujung kutup negatif dan sebaliknya muatan negatif tidak bisa menuju ke ujung kutup positif karena terpisah oleh bahan elektrik yang non-konduktif. Muatan elektrik ini “tersimpan” selama tidak ada konduktif pada ujung- ujung kakinya.
2.4 Resistor
Resistor komponen pasif elektronika yang berfungsi untuk membatasi arus listrik yang mengalir. Berdasarkan kelasnya resistor dibagi menjadi 2 yaitu : Fixed Resistor dan Variable Resistor Dan umumnya terbuat dari carbon film atau metal film, tetapi tidak menutup kemungkinan untuk dibuat dari material yang lain. Pada dasarnya semua bahan memiliki sifat resistif namun beberapa bahan tembaga perak emas dan bahan metal umumnya memiliki resistansi yang sangat kecil. Bahan–bahan tersebut menghantar arus listrik dengan baik, sehingga dinamakan konduktor. Kebalikan dari bahan yang konduktif, bahan material seperti karet, gelas, karbon memiliki resistansi yang lebih besar menahan aliran elektron dan disebut sebagai insulator.
2.5 Speaker
Speaker adalah komponen elektronika yang terdiri dari kumparan, membran dan magnet sebagai bagian yang saling terkait. Tanpa adanya membran, sebuah speaker tidak akan mengeluarkan suara, demikian sebaliknya. Bagian-bagian speaker tersebut saling terkait dan saling melengkapi satu sama lain. Fungsi speaker ini adalah mengubah gelombang listrik menjadi getaran suara. Proses pengubahan gelombang listrik / elektromagnet menjadi gelombang suara terjadi karena adanya aliran listrik arus AC audio dari penguat audio kedalam kumparan yang menghasilkan gaya magnet sehingga akan menggerakkan membran, Kuat lemahnya arus listrik yang diterima, akan mempengaruhi getaran pada membran, bergetarnya membran ini menghasilkan gelombang bunyi yang dapat kita dengar.
Gambar 2.2 Speaker
15
Speaker adalah Transduser yang dapat mengubah sinyal listrik menjadi frekuensi Audio (sinyal suara) yang dapat didengar oleh telinga manusia dengan cara mengetarkan komponen membran pada Speaker tersebut sehingga terjadilah
gelombang suara. Timbulnya suara dikarenakan adanya fluktuasi tekanan udara yang disebabkan oleh gerakan atau getaran suatu obyek tertentu. Ketika Obyek tersebut bergerak atau bergetar, Obyek tersebut akan mengirimkan Energi Kinetik untuk partikel udara disekitarnya. Hal ini dapat di-anologi-kan seperti terjadinya gelombang pada air.
Sedangkan yang dimaksud dengan Frekuensi adalah jumlah getaran yang terjadi dalam kurun waktu satu detik. Frekuensi dipengaruhi oleh kecepatan getaran pada obyek yang menimbulkan suara, semakin cepat getarannya makin tinggi pula frekuensinya.
2.5.1 Prinsip Kerja Speaker
Speaker terdiri dari beberapa komponen utama yaitu Cone, Suspension, Magnet Permanen, Voice Coil dan juga Kerangka Speaker. Dalam rangka menterjemahkan sinyal listrik menjadi suara yang dapat didengar, Speaker memiliki komponen Elektromagnetik yang terdiri dari Kumparan yang disebut
dengan Voice Coil untuk membangkitkan medan magnet dan berinteraksi dengan Magnet Permanen sehingga menggerakan Cone Speaker maju dan mundur. Voice Coil adalah bagian yang bergerak sedangkan Magnet Permanen adalah bagian
Speaker yang tetap pada posisinya. Sinyal listrik yang melewati Voice Coil akan menyebabkan arah medan magnet berubah secara cepat sehingga terjadi getaran yang maju dan mundur pada Cone Speaker. Pada prinsipnya, semakin besarnya Cone semakin besar pula permukaan yang dapat menggerakan udara sehingga suara yang dihasilkan Speaker juga akan semakin besar. Suspension yang terdapat dalam Speaker berfungsi untuk menarik Cone ke posisi semulanya setelah bergerak maju dan mundur.
Suspension juga berfungsi sebagai pemegang Cone dan Voice Coil. Kekakuan (rigidity), komposisi dan desain Suspension sangat mempengaruhi kualitas suara Speaker itu sendiri. Berdasarkan Frekuensi yang dihasilkan, Speaker dapat dibagi menjadi :
1. Speaker Tweeter, yaitu speaker yang menghasilkan Frekuensi Tinggi (sekitar 2kHz ± 20kHz)
2. Speaker Mid-range, yaitu speaker yang menghasilkan Frekuensi Menengah
(sekitar 300Hz ± 5kHz)
3. Speaker Woofer, yaitu speaker yang menghasilkan Frekuensi Rendah (sekitar 40Hz ± 1kHz)
4. Speaker Sub-woofer, yaitu speaker yang menghasilkan Frekuensi sangat rendah yaitu sekitar 20Hz ± 200Hz.
5. Speaker Full Range, yaitu speaker yang dapat menghasilkan Frekuensi Rendah hingga Frekuensi Tinggi.
2.6 Dioda
Dioda dan trasistor adalah semikonduktor. Semikonduktor menghantar arus listrik. Sifat daya hantarannya (Conductivity) ialah antar bahan konduktor dan bahan isolator (bukan bahan penghantar). Dioda dibuat dari dua jenis bahan bahan semikondukror, bahan P (bahan positif) dan bahan N adaalah bahan negatif. Bahan P dinamakan anoda dan bahan N dinamakan Katoda.
Gambar 2.3 Dioda
Dioda hanya menghantar arus listrik apabila anoda positif terhadap katoda.
Untuk arus listrik sebuah dioda bekerja sebagai katup (valve,ventiel). Ada dua kelompok yang penting yakni dioda germanium dan silikon. Bahan P untuk germanium pada umumnya ingium, bahan N untuk silikon pada umumnya antimonium. Tegangan jatuh pada dioda germanium besarnya kira-kira 0,3V. Tegangan jatuh pada dioda silikon kira- kira 0,7V.
Gambar 2.4 Dioda
17
2.7 Transistor
Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan, modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam kran listrik, di mana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya.
Pada umumnya, transistor memiliki 3 terminal, yaitu Basis (B), Emitor (E) dan Kolektor (C). Tegangan yang di satu terminalnya misalnya Emitor dapat dipakai untuk mengatur arus dan tegangan yang lebih besar daripada arus input Basis, yaitu pada keluaran tegangan dan arus output Kolektor.
Transistor merupakan komponen yang sangat penting dalam dunia elektronik modern.
Dalam rangkaian analog, transistor digunakan dalam amplifier (penguat). Rangkaian analog melingkupi pengeras suara, sumber listrik stabil (stabilisator) dan penguat sinyal radio. Dalam rangkaian-rangkaian digital, transistor digunakan sebagai saklar berkecepatan tinggi. Beberapa transistor juga dapat dirangkai sedemikian rupa sehingga berfungsi sebagai logic gate, memori dan fungsi rangkaian-rangkaian lainnya
2.7.1 Jenis jenis transistor
Menurut polaritasnya jenis jenis transistor dapat dibagi dua yaitu transistor PNP atau Positif-Negatif-Positif dan transistor NPN atau Negatif-Positif-Negatif. Dibawah ini terdapat penjelasan masing masing jenis transistor.
- Transistor NPN atau Negatif-Positif-Negatif
Jenis transistor yang pertama ialah transistor NPN atau Negatif-Positif-Negatif. Jenis transistor NPN memiliki arah arus dari kolektor menuju emitor. Arah arus tersebut memiliki perbedaan dengan arah arus pada transistor PNP. NPN membutuhkan sebuah sumber arus positif yang terdapat dalam komponen dasar atau basis. Transistor ini memiliki cara kerja yaitu tegangan listrik yang mengalir dari kaki basis akan mengalami titik salutrasi. Setelah itu arus akan mengalir dari kolektor menuju emitor dengan jumlah
logika 1. Namun apabila jumlah arus yang dialirkan berkurang maka arus listrik pada kolektor dan emitor juga berkurang sampai ketitik cutoff. Proses penurunan pada basis dan kolektor bekerja lebih cepat 200 kali dibandingkan proses peguatan arusnya.
- Transistor PNP atau Positif-Negatif-Positif
Selanjutnya terdapat jenis transistor PNP atau Positif-Negatif-Positif. Pada transistor ini cara kerjanya berbanding terbalik dengan transistor NPN. Dalam PNP terdapat jumlah logika 0 sehingga menunjukkan off. Pada transistor ini akan mengambil muatan negatif pada kaki basisnya kemudian dialirkan dari emitor menuju kolektor. Jenis transistor PNP sudah jarang digunakan karena sudah sulit juga ditemukan dipasaran.
Menurut tipenya jenis jenis transistor dapat dibagi tiga yaitu transistor Field Effect Transistor atau FET, transistor Metal Oxide Semiconductor FET atau MOSFET, dan transistor Uni Junktion Transistor atau UJT. Berikut penjelasan mengenai jenis jenis transistor :
- Transistor Uni Junktion Transistor atau UJT
Jenis transistor menurut tipenya yang pertama ialah transistor Uni Junktion Transistor atau UJT. UJT merupakan jenis transistor yang memiliki kaki emitor satu dan basis dua.
Transistor ini berfungsi untuk switch pada elektrolis. Transistor Uni Junktion Transistor atau UJT dapat dibagi menjadi dua yaitu UJT Kanal P dan UJT Kanal N.
- Transistor Field Effect Transistor atau FET
Gambar 2.5 Transistor Field Effect Transistor atau FET
Selanjutnya terdapat jenis transistor Field Effect Transistor atau FET. FET banyak sekali digunakan dalam sebuah rangkaian listrik. FET memiliki beberapa kelebihan dibandingkan jenis transistor lain yaitu memiliki tingkat desah yang rendah dan jumlah penguatannya besar. Karena keunggulan tersebut maka jenis transistor ini hanya
19
digunakan dalam alat alat tertentu saja. Transistor Field Effect Transistor atau FET dapat dibagi menjadi FET Kanal P dan FET Kanal N.
- Transistor Metal Oxide Semiconductor FET atau MOSFET
Gambar 2.6 Transistor Metal Oxide Semiconductor FET atau MOSFET
Jenis transistor menurut tipenya yang terakhir ialah transistor Metal Oxide Semiconductor FET atau MOSFET. MOSFET merupakan jenis transistor FET yang memiliki jumlah Drain satu, satu atau lebih Gate dan satu Source. Jenis transistor ini memang memiliki input impedance tinggi. Jenis ini memiliki harga yang mahal sehingga penggunaannya hanya pada alat yang benar benar membutuhkan saja. Perangkaian MOSFET harus lebih hati hati karena komponen ini sensitif dengn elektrostatik. Untuk soldernya menggunakan solder khusus MOSFET dan jenis kemasannya berupa timah.
Transistor Metal Oxide Semiconductor FET atau MOSFET dapat dibagi menjadi MOSFET Kanal P dan MOSFET Kanal N.
2.8 Liquid Cyristal Display (LCD)
LCD merupakan salah satu perangkat penampil yang sekarang ini mulai banyak digunakan. Penampil LCD mulai dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan manusia sebagai penampil gambar/text baik monokrom (hitam dan putih), maupun yang berwarna.
Teknologi LCD memberikan keuntungan dibandingkan dengan teknologi CRT, kaena pada dasarnya, CRT adalah tabung triode yang digunakan sebelum transistor ditemukan.
Beberapa keuntungan LCD dibandingkan dengan CRT adalah konsumsi daya yang relative kecil, lebih ringan, tampilan yang lebih bagus, dan ketika berlama-lama di depan
monitor, monitor CRT lebih cepat memberikan kejenuhan pada mata dibandingkan dengan LCD.
Gambar 2.7 LCD 2x16 cm
LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan dua dimensi piksel yang dibagi dalam baris dan kolom. Dengan demikian, setiap pertemuan baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda trasparan. Dalam keadaan normal, cairan yang digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar dan pola elektroda yang terdapat pad sisi dalam lempeng kaca bagian depan.
Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa microampere), sehingga alat atau sistem menjadi portable karena dapat menggunakan catu daya yang kecil. Keunggulan lainnya adalah tampilan yang diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari. Di bawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu (berupa LED) harus dipasang dibelakang layar tampilan.
LCD yang digunakan adalah jenis LCD yang menampilkan data dengan 2 baris tampilan pada display. Keuntungan dari LCD ini adalah :
1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk membuat program tampilan.
21
2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data dan 3 bit control.
3. Ukuran modul yang proporsional.
4. Daya yang digunakan relative sangat kecil.
Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng kaca yang telah ditanami elektroda logam transparan. Saat teganga dicatukan pada beberapa pasang elektroda, molekul – molekul Kristal cair akan menyusun diri agar cahaya yang mengenainya akan dipantulkan atau diserap. Dari hasil pemantulan atau penyerapan cahaya tersebut akan terbentuk pola huruf, angka, atau gambar sesuai bagian yang di aktifka.
LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain seperti Global Positioning System (GPS), baragraph display dan multimeter digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom dan baris secara bersamaan digunakan metode Screening.
Metode screening adalah mengaktifkan daerah perpotongan suatu kolo dan suatu baris secara bergantian dan cepat sehingga seolah-olah aktif semua. Penggunaan metode ini dimaksudkan untuk menghemat jalur yang digunakan untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD, mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film Transistor Active Matrix (TFT-AMLCD).
Kemampuan LCD juga telah ditingkatkan daru yang monokrom hingga yang mampu menampilkan ribuan warna.
2.8.1 LCD 1632
M1632 merupakan Modul LCD Matrix dengan konfigurasi 16 karakter dan 2 baris dengan setiap karakternya dibentuk oleh 8 baris pixel dan 5 kolom pixel (1 baris pixel terakhir adalah kursor). Penjelasan masing-masing kaki LCD M1632
1. Kaki 1 (GND) :
Kaki ini berhubungan dengan tegangan 0 volt (Ground) dari LCD.
2. Kaki 2 (VCC) : Kaki ini berhubungan dengan tegangan +5 volt yang merupakan tegangan untuk sumber daya dari HD44780.
3. Kaki 3 (VEE/VLCD) : Tegangan pengatur kontras LCD, kaki ini terhubung pada V5. kontras mencapai nilai maksimum pada saat kondisi kaki ini pada tegangan 0 volt.
4. Kaki 4 (RS) : Register Select, kaki pemilih register yang akan diakses. Untuk akses ke Register Data, logika dari kaki ini adalah 1 dan untuk akses ke Register Perintah, logika dari kaki ini adalah 0.
5. Kaki 5 (R/W) : Logika 1 pada kaki ini menunjukkan bahwa modul LCD sedang 6. pada mode pembacaan dan logika 0 menunjukkan bahwa modul LCD sedang
pada mode penulisan. Untuk aplikasi yang tidak memerlukan pembacaan data pada Modul LCD, kaki ini dapat dihubungkan langsung ke Ground.
7. Kaki 6 (E) : Enable Clock LCD, kaki mengaktifkan clock LCD. Logika 1 pada kaki ini diberikan pada saat penulisan atau pembacaan data.
8. Kaki 7-14 (D0-D7) : Data Bus, kedelapan kaki Modul LCD ini adalah bagian di mana aliran data sebanyak 4 bit ataupun 8 bit mengalir saat proses penulisan maupun pembacaan data.
9. Kaki 15 (Anoda) : Berfungsi untuk tegangan positif data Backlight modul LCD sekitar 4,5 volt.
10. Kaki 16 (Katoda) : Tegangan negatif backlight modul LCD sebesar 0 volt.
2.8.2 Cara Kerja LCD
Pada aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7.
Sebagaimana terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu. Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit
23
LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.
Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” pada layar maka RS harus diset ke “1”. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high “1”, maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke “0”.
Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.
Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.
2.8.3 Fitur LCD 16 x 2
Adapun fitur yang disajikan dalam LCD ini adalah : a. Terdiri dari 16 karakter dan 2 baris.
b. Terdapat karakter generator terprogram.
c. Mempunyai 192 karakter tersimpan.
e. Dilengkapi dengan back light.
Gambar 2.8 LCD 16 x 2
2.8.4 Spesifikasi Kaki LCD 16 x 2 Pin Deskripsi
1 Ground
2 Vcc
3 Pengatur kontras
4 “RS” Instruction/Register Select 5 “R/W” Read/Write LCD Registers 6 “EN” Enable
7-14 Data I/O Pins 15 Vcc
16 Ground
2.9 Kompas Digital HMC 5883
Digital Kompas adalah sebuah modul yang digunakan untuk menunjukkan arah mata angin digital, atau juga disebut kompas digital. Modul ini menggunakan komponen
25
utama berupa IC HMC5883 yang merupakan IC kompas digital 3 axis yang memiliki interface berupa 2 pin I2C. HMC5883 memiliki sensor magnetoresistive HMC118X series ber-resolusi tinggi, ditambah ASIC dengan konten amplification, automatic degaussing strap driver, offset cancellation dan 12 bit ADC yang memungkinkan keakuratan kompas mencapai 1 sampai 2 derajat. Modul ini biasa digunakan untuk keperluan sistem navigasi otomatis, mobile phone, netbook dan perangkat navigasi personal. Gambar 2.11 dibawah ini merupakan bentuk digital kompas HMC5883L 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).
7. Menggunakan antar muka I2C yang dapat dihubungkan dengan berbagai macam sistem mikrokontroler.
8. Memiliki dimensi modul yang kecil dan ringkas sehingga mudah ditempatkan pada berbagai aplikasi.
Modul kompas HMC5883L membutuhkan kalibrasi untuk menentukan nilai data keluaran dari tiap-tiap arah kompas. Metode kalibrasi dapat dilakukan secara manual, adapun cara kalibrasi sebagai berikut:
a. Modul kompas dihadapkan ke utara, kemudian memberikan pulsa rendah pada pin kalibrasi.
b. Kompas diputar perlahan ke arah timur secara perlahan, kemudian pin kalibrasi diberi pulsa rendah
c. Langkah berikutnya memutar modul kompas ke arah selatan secara perlahan, kemudian memberikan pulsa rendah ke pin kalibrasi.
d. Langkah terakhir adalah memutar kompas ke arah barat dan kemudian memberikan pulsa rendah ke pin kalibarasi.
2.10 Pengenalan Pemrograman C
Pengenalan merupakan sebuah nama yang didefinisikan oleh pemrograman untuk menunjukkan identitas dan sebuah konstanta, variabel, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenalan dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi aturan berikut:
1. Karakter pertama tidak boleh menggunakan angka.
2. Karakter kedua dapat berupa huruf, angka, atau garis bawah.
3. Tidak boleh menggunakan spasi.
4. Bersifat case sensitif, yaitu huruf kapital dan huruf kecil dianggap berbeda.
5. Tidak boleh menggunakan kata-kata yang merupakan sintaks maupun operator dalam pemrograman C, misalnya: void, short, const, if, static, bit, long, case, do, switch, char, float, for, else, break, int, double, include, while.
Contoh penamaan pengenal yang diperbolehkan yaitu nama, _nama, nama2, nama_pengenal_yang_panjang_juga_boleh. Contoh penamaan pengenal yang diperbolehkan yaitu:
a. 2nama (tidak boleh diawali dengan angka) b. Nama+2 (tidak boleh menggunakan operator „+‟) c. Nama panjang (tidak boleh menggunakan spasi).
2.10.1 Tipe Data
Berikut ini adalah tipe-tipe data yang ada dalam bahasa C dan yang dikenali oleh Compiler CodeVisionAVR:
Tabel Tipe Data
27
Tipe Data Ukuran Jangkauan Nilai
Bit 1 bit 0 atau 1
Chart 1 byte -128 s/d 127
Unsigned Char 1 byte 0 s/d 225
Signed Char 1 byte -128 s/d 127
Int 2 byte -32,768 s/d 32,767
Short Int 2 byte -32,768 s/d 32,767
Unsigned Int 2 byte 0 s/d 65,535
Signed Int 2 byte -32,768 s/d 32,767
Long Int 4 byte -2,147,483,648 s/d 2,147,483,647 Unsigned Long Int 4 byte 0 s/d 4,294,967,295
Signed Long Int 4 byte -2,147,483,648 s/d 2,147,483,647 Float 4 byte 1,2*10-38 s/d 3,4*10+38 Double Ukuran 1,2*10-38 s/d 3,4*10+38
2.10.2 Konstanta Dan Variabel
Konstanta dan variabel merupakan sebuah tempat untuk menyimpan data yang berada dalam memori. Konstanta berisi data yang nilainya tetap dan tidak dapat diubah selama program dijalankan, sedangkan variabel berisi data yang bisa berubah nlainya pada saat program dijalankan. Untuk membuat sebuah konstanta atau variabel maka kita harus mendeklarasikannya terlebih dahulu.
Deklarasi Konstanta: Const [tipe_data] [nama_konstanta]=[nilai]
Contoh: Const char konstantaku=0x10;
Deklarasi Variabel: [tipe_data] [nama_variabel]=[nilai_awal]
Contoh : Char variabelku;
Char variabelku=0x20; Bit variabel_bit;
Bit variabel bit=1;
2.10.3 Pengarah Preprosesor
Pengarah preposesor digunakan untuk mendefinisikan prosesor yang digunakan, dalam hal ini adalah untuk mendefinisikan jenis mikrokontroler yang digunakan.
Dengan pengarah preprosesor ini maka pendeklarasian register-register dan penamaanya dilakukan pada file lain yang disisipkan dalam program utama dengan sintaks sebagai berikut: #include <nama prosesor>
Contoh : #include <mega8535.h>
2.10.4 Pernyataan
Pernyataan adalah satu buah instruksi lengkap yang berdiri sendiri. Berikut adalah contoh sebuah pernyataan: PORTC = 0x0F;
Pernyataan diatas merupakan sebuah instruksi untuk mengeluarkan data 0x0F ke Port C.
2.10.5 Blok Pernyataan
Kumpulan beberapa pernyataan yang berada dalam satu bagian program disebut dengan blok pernyataan. Satu blok pernyataan ditandai dengan tanda „{„ dan diakhiri dengan tanda „}‟.
Contoh sebuah blok pernyataan:
{
29
PORTA=0x00; //pernyataan_1
PORTB=0x0F; //pernyataan_2
PORTC=0xFF; //pernyataan_2
}
2.10.6 Fungsi Pustaka
Bahasa C memiliki sejumlah fungsi pustaka yang berada pada file-file tertentu dan sengaja disediakan untuk menangani berbagai hal dengan cara memanggil fungsi-fungsi yang telah dideklarasikan di dalam file tersebut. Dalam banyak hal, pustaka-pustaka yang tersedia tidak berbentuk kode sumber melainkan dalam bentuk yang telah dikompilasi. Pada saat proses linking, kode-kode dari fungsi ini akan dikaitkan dengan kode-kode yang ditulis oleh pemograman. Sintaks untuk menggunakan fungsi pustaka ini adalah sebagai berikut : #include <nam file pustaka>
Contoh : #include <lcd.h>
2.10.7 Pernyataan if
Pernyataan if digunakan untuk melakukan pengambilan keputusan terhadap dua buah kemungkinan yaitu mengerjakan suatu blok pernyataan atau tidak.
Bentuk pernyataan if adalah sebagai berikut:
If (kondisi) {
//blok pernyataan yang akan dikerjakan
//jika kondisi if terpenuhi
}
Contoh:if (PINA>0x80) {
dataku = PINA; PORTC=0x0FF }
Pernyataan if diatas akan mengecek apakah data yang terbaca pada Port A (PINA) nilainya lebih dari 0x80 atau tidak, jika ya maka variabel dataku diisi dengan nilai PINA dan data 0xFF dikeluarkan ke Port C. Apabila dalam blok pernyataan hanya terdapat satu pernyataan saja maka tanda { dan } dapat dihilangkan seperti contoh berikut: if (PINA>0x80) PORTC=0xFF;
2.10.8 Pernyataan If..Else
Pernyataan if..else hampir sama dengan pernyataan if diatas atau yaitu digunakan untuk melakukan pengambilan keputusan terhadap dua buah kemungkinan, hanya yang berbeda adalah bahwa kedua kemungkinan tersebut berupa mengerjakan suatu blok pernyataan atau mengerjakan blok pernyataan yang lain. Bentuk pernyataan if..else adalah sebagai berikut:
if (kondisi) {
//blok pernyataan yang akan dikerjakan
//jika kondisi if terpenuhi
31
} Else
{
//blok pernyataan yang akan dikerjakan
//jika kondisi if tidak terpenuhi }
Contoh : if (PIN.0X80)
{
dataku = ~PINA;
PORTC=0x00;
}
Pernyataan if..else diatas akan mengecek apakah data yang akan terbaca pada Port A (PINA) nilainya lebih dari 0x80 atau tidak, jika ya maka variabel dataku diisi dengan nilai PINA dan data 0xFF dikeluarkan ke port C tetapi jika tidak maka variabel dataku diisi dengan nilai komplemen dari PINA (~PINA) dan data 0x00 dikeluarkan ke port C.
BAB 3
PERANCANGAN SISTEM
3.1 Diagram Blok
Untuk mempermudah dalam mempelajari dan memahami cara kerja alat ini, maka sistem perancangan dibuat berdasarkan diagram blok dimana tiap blok mempunyai fungsi dan cara kerja tertantu. Adapun diagram blok dari sistem yang dirancang adalah sebagai berikut.
ATMega 328
ISD
1760 Amlifier Speaker
Output
Suara Record/
Playback
Sensor HMC 5883 Arah
MIC User
3.1.1 Penjelasan Fungsi Tiap Blok Sistem
1. Blok Sensor HMC 5883 : Sebagai sensor mata angin yang berupa derajat mulai 00 sampai dengan 3600
2. Blok Mikronkontroler ATMega328 : Mengidentifikasi/mengatur mata angin pada sensor
3. Blok ISD 1760 : Sebagai perekam suara yang akan dideteksi 4. Blok Amlifier : Sebagai penguat suara yang akan di keluarkan 5. Blok Speaker : Sebagai pengeluaran suara yang dikeluarkan 6. Microphone : Sebagai penyalur suara yang akan dideteksi
33
3.1.2 Penjelasan Diagram Blok
Blok diagram system diperlihatkan pada gambar diatas. Dimana gambar di atas menjelaskan konfigurasi system yaitu input-output dan bagian pemrosesan sistem.
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 posisi arah kompas berupa tampilan text dan output suara dengan ucapan mata angin. Input sistem adalah sebuah sensor yaitu sensor kompas digital. Kompas memberikan nilai derajat 0-360. Untuk memproses data sensor digunakan sebuah kontroler ATMega328.
Rangkaian bekerjamembaca input memproses data menjadi arah mata angina dan mengeluarkan output.
3.2 Sensor HMC 5883
Sensor yang digunakan adalah sensor arah mata angin yaitu kompas digital. Sensor memberikan nilai arah mata angin dalam derajat yaitu 0-360. Output sensor adalah serial dengan standart I2C. tipe sensor adalah HMC5883. Fungsi sensor dalam rangkaian adalah membaca arah mata angin kemudian mengubah menjadi satuan derajat dan mengeluarkan output berupa data sensor.
3.3 Display LCD
Fungsi display LCD adalah untuk menampilkan pesan teks berupa abjad maupun angka. Pada rancangan ini display LCD menampilkan nilai derajat dan arah mata angin 8 penjuru. Tipe LCD yang digunakan adalah M1632 dengan kapasitas 2x16 karakter atau 2 baris 16 karakter. LCD dikontrol oleh mikrokontroler port input-output digital.
Dalam hal ini adalah port D dimana dari D1 hingga D7 . Pesan yang akan dikeluarkan dikirim oleh kontroler secara pararel 4 bit.
Gambar 3.2 Rangkaian Display LCD
3.4 Mikrokontroler ATMega328
Konroler yang digunakan dalam rancangan ini adalah kontroler tipe AVR ATMega328. Kontrol berfungsi mengendalikan sistem yaitu membaca sensor, mengubah nilai sensor menjadi arah mata angina dan mengendalikan output yaitu memberikan pesan teks maupun pesan suara. Seperti dijelaskan diatas konfigurasi pin untuk display digunakan port D , sedangkan untuk membaca sensor digunakan port serial yaitu input serial dan untuk mengatur keluaran berupa suara deprogram pada port B.
35
Gambar 3.3 Rangkaian Mikrokontroler AtMega 328
3.5 ISD 1760
.Komponen output suara adalah sebuah IC perekam dan pemain file suara. Tipe IC suara yang digunakn adalah 1760. IC merekam suara pada beberapa segment sehingga dapat menyimpan dan memainkan suara dengan beberapa jenis pesan suara. Dengan demikian agar dapat mengeluarkan suara maka IC tersebut harus direkam terlebih dahulu. Kontroler mengendalikan IC tersebut melalui output port yaitu pada port B0 dan B1 dengan memberikan logika 0 atau 1.
ISD1760
A2 A1 Sound
Playback
Gambar 3.4 ISD 1760
3.5.1 Cara Kerja ISD 1760 1. Recording REC
Tekan dan tahan tombol REC saat lampu LED menyala, kali ini menghadap MIC untuk berbicara, konten pembicaraan akan direkam ke chip suara ISD1760 di dalamnya. Setelah merekam setelah periode mengangkat kunci, LED juga akan keluar.
Dan tekan lagi untuk mulai merekam paragraf kedua, paragraf berikutnya beroperasi.
2. Masukan Nada Putar
Ada dua cara, dipicu tepi dan dipicu tingkat. (Catatan: Setelah perekaman penembakan nada rekaman akan tetap berada di alamat mulai segmen rekaman akhir selesai, kemudian pemutaran akan menempatkan paragraf terakhir)
(1) Tepi: Klik tombol Mainkan untuk menempatkan LED segmen saat ini berkedip selama pemutaran hingga akhir pemutaran. Putar kembali setelah penunjuk pemutaran ke awal segmen hanya dengan meletakkan alamat, klik tombol PUTAR lagi akan dimasukkan baru saja selesai rilis ini.
(2) pemicu tingkat: Mainkan Semua chip sering menekan tombol PLAY semua pesan suara, dan siklus sampai Anda melepaskan tombol.
3. Fast Forward FWD
Lakukan operasi pemutaran tekan tombol ini, penunjuk pemutaran akan mengarah ke bagian berikutnya, klik ganda titik ke paragraf ini setelah paragraf kedua dari titik awal. Klik tombol ini selama pemutaran untuk menghentikan pemutaran segmen saat ini dan kemudian putar paragraf berikutnya, jika Anda sedang memutar paragraf terakhir, pemutaran paragraf terakhir untuk menghentikan pemutaran paragraf pertama.
4. Erase
37
Operasi penghapusan segmen tunggal hanya bekerja untuk paragraf pertama dan terakhir, ketika pointer pemutaran di paragraf pertama atau terakhir, menekan tombol ini akan menghapus paragraf pertama atau terakhir. Pemutaran akan melompat ke penunjuk yang sesuai di paragraf kedua sebelum menghapus atau paragraf kedua dari belakang.
Tekan tombol ini lebih dari 3 detik sering chip ke "All Erase operation mode" ketika LED berkedip dua kali, terus menekan tombol ini, LED 7 berkedip, kemudian lepaskan tombol, chip di dalam pesan suara Semua dihapus.
5. Reset
Klik chip tombol ini melakukan operasi reset. Setelah reset, mainkan dan rekam pointer menunjuk ke paragraf terakhir, yang penunjuk pemutaran ke paragraf terakhir dari penunjuk rekaman awal ke paragraf terakhir terakhir. Jalankan pemutaran diputar paragraf terakhir, paragraf terakhir dan kemudian lakukan perekaman kemudian mulai merekam paragraf terakhir yang baru.
6. Volume
Klik tombol ini untuk menyesuaikan ukuran suara keluaran chip. Chip suara output maksimum standar, setiap klik, pelemahan suara oleh 4dB. Hingga minimum suara, terus tekan tombol ini, klik, bunyinya bertambah 4dB (Catatan: Anda melakukan reset, output suara).
3.6 Prinsip kerja alat
Basis kompas digital adalah sensor AMC 5883, sessor memberikan data derajat mata angin ke kolektor yaitu 0 derajat hingga 359 derajat. Kontroler membaca data tersebut dan mengklarifikasi menjadi 8 mata angin sesuai derajat. Setelah di peroleh data dari sensor, kontroler akan mengeluarkan output untuk mengaktifkan pemain suara (sound player). Output kontroler berupa data pararel untuk mengatur alamat pada memori penyimpanan file suara. Alamat yang di akses akan menyebabkan sound player memainkan file suara yang telah di simpan sebelumnya, misalkan alamat 1 untuk ucapan
utara dan seterusnya. Saat kontroler mendeteksi derajat 0 derajat, maka kontroler akan mengirim data alamat ke memori yaitu alamat 1 dan player akan mengucapkan suara utara demikian juga dengan derajat yang lain. Alamat dilengkapi dengan display LCD yang berfungsi menampikan data sensor dan mata angin yang terdeteksi.