1 TUGAS AKHIR Timbangan Digital Berbasis Mikrokontroler AVR ATMega 8535 Diajukan Guna Melengkapi Sebagian Syarat Dalam mencapai gelar Sarjana Strata Satu (S1) Disusun Oleh : Nama NIM Jurusan Peminatan Pembimbing : : : : : Fitriana 01402-015 Teknik Elektro Elektronika Ir. Eko Ihsanto MEng PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCU BUANA JAKARTA 2009 2 LEMBAR PERNYATAAN Yang bertanda tangan di bawah ini, Nama : Fitriana N.I.M : 01402-015 Jurusan : Teknik Elektro Fakultas : Fakultas Teknologi Industri Judul Skripsi : Timbangan Digital Berbasis Mikrokontroler AVR ATMega 8535. Dengan ini menyatakan bahwa hasil penulisan Skripsi yang telah saya buat ini merupakan hasil karya sendiri dan benar keasliannya. Apabila ternyata di kemudian hari penulisan Skripsi ini merupakan hasil plagiat atau penjiplakan terhadap karya orang lain, maka saya bersedia mempertanggungjawabkan sekaligus bersedia menerima sanksi berdasarkan aturan tata tertib di Universitas Mercu Buana. Demikian, pernyataan ini saya buat dalam keadaan sadar dan tidak dipaksakan. Penulis, Materai Rp.6000 [ ii ] 3 LEMBAR PENGESAHAN Timbangan Digital Berbasis Mikrokontroler AVR ATMega 8535 Disusun Oleh : Nama NIM Program Studi Peminatan : Fitriana : 01402-015 : Teknik Elektro : Elektronika Menyetujui, Pembimbing Koordinator TA ( Ir. Eko Ihsanto MEng ) (Ir. Jaja kustija Msc.) Mengetahui, Ketua Program Studi Teknik Elektro (Ir. Yudhi Gunardi MT) iii 4 ABSTRAK Timbangan Digital Berbasis Mikrokontroler AVR ATMega 8535 Timbangan merupakan salah satu alat ukur berat yang sering digunakan oleh masyarakat. Sejak adanya penemuan teknologi baru dibidang elektronik, para ilmuwan mengembangkan timbangan mekanik menjadi timbangan elektronik (digital). Timbangan digital merupakan timbangan yang hasil pembacaannya menggunakan sistem angka. Dari hasil pembacaan pengukuran juga dapat pula memproses data harga dari benda yang ditimbang untuk menghasilkan perkalian antara berat dengan harga persatuan berat yang dimasukan dari keypad, timbangan digital lebih mudah dalam hal pembacaan hasil pengukuran dibandingkan dengan timbangan mekanik.Berdasarkan dari permasalahan diatas muncul suatu ide untuk merancang dan membuat timbangan digital dimana tegangan masukan yang diatur menggunakan potensio geser untuk menggantikan sistem transduser berat,dalam tugas akhir ini dibuat ”Timbangan Digital Berbasis Mikrokontroler AVR ATmega 8535”.Hal ini dikarenakan mikrokontroler seri ATMega 8535 yang merupakan produk dari ATMEL dapat diaplikasikan sesuai dengan kebutuhan dan pengaplikasiannya untuk mengolah sinyal sensor sehingga menjadi tampilan hasil pengukuran dalam bentuk data informasi di LCD . iv 5 KATA PENGANTAR Alhamdulilah robbil ‘allamin, hanya dengan kekuatan, kemampuan, dan kemudahan, serta ridho dari Allah SWT, penulis berhasil menyelesaikan Tugas Akhir ini. Tugas Akhir ini disusun untuk memenuhi persyaratan menyelesaikan pendidikan dan untuk mendapatkan gelar Sarjana Teknik ( ST ) pada jurusan teknik elektro, Fakultas Teknologi Industri , Universitas Mercu Buana. Dengan mengambil judul : TIMBANGAN DIGITAL BERBASIS MIKROKONTROLLER AVR ATMega 8535 Penulis menyadari bahwa apa yang dilakukan dalam tugas akhir ini masih jauh dari sempurna, sehingga semua saran dan kritik serta diskusi untuk pengembangan selanjutnya dari apa yang sudah dilakukan dalam tugas akhir kali ini sangat penulis harapkan. Agar tugas akhir yang dikerjakan selanjutnya oleh generasi berikutnya merupakan kesinambungan dari tugas akhir pendahulunya dan tidak terjadi salah penafsiran dalam pengembangan kegiatan keilmuan dan pengetahuan demi kemajuan bidang teknologi informasi dalam dunia elektronika. Akhirnya dengan segala kerendahan hati, penulis berharap tugas akhir ini bisa menambah sedikit pengetahuan dan pemahaman , sedikit inspirasi, maupun sedikit manfaat bagi pembaca dalam bidang pengembangan teknologi informasi didunia elektronika. Jakarta, Januari 2009 Penyusun v 6 UCAPAN TERIMAKASIH Pada kesempatan yang baik ini pula, penulis menyampaikan rasa hormat dan terima kasih yang sebesar – besarnya kepada : 1. Allah SWT, yang tanpa keridhoan serta hidayah-NYA aku tidak dapat menyelesaikan ptoyek Tugas akhir ini. 2. Kedua orang tua (Bpk. Ayub dan Ibu.Yayah),Teteh dan adik,serta keponakanku (adam,syfa,salsa) yang selalu memberi semangat dan doa untuk menyelesaikan proyek Tugas akhir ini. 3. AyankQu Rizal Fahlefi, S. Kom yang telah banyak membantu dalam semua pengerjaan penulisan serta tak henti-hentinya memberikan dukungan beserta keluarganya. 4. Dosen Pembimbing Ir. Eko Ihsanto M.Eng yang telah membimbing saya untuk menyelesesaikan tugas akhir ini. 5. Ir. Yudhi Gunardi MT selaku Kaprodi dan koordinator TA 6. Teman – teman Elektro Angkatan 2002 (eldin, herry.k, ozy, firman.s, nangor, kustian, wage, v3 cowo, firman kecil dll) dan teman-teman elektro. 7. Staff TU dan Staff UPT Perpustakaan Mercu Buana. 8. Pihak pihak terkait yang tidak dapat disebutkan satu persatu kritik dan saranmu selalu dinanti. vi 7 DAFTAR ISI TUGAS AKHIR ......................................................................................... i LEMBAR PERNYATAAN ........................................................................ ii LEMBAR PENGESAHAN ........................................................................ iii ABSTRAK .................................................................................................. iv KATA PENGANTAR ................................................................................ v UCAPAN TERIMA KASIH ...................................................................... vi DAFTAR ISI .............................................................................................. vii DAFTAR GAMBAR .................................................................................. ix DAFTAR TABEL ....................................................................................... x BAB I BAB II PENDAHULUAN 1.1. Latar Belakang Masalah ..................................................... 1 1.2. Tujuan ................................................................................ 2 1.3. Batasan Masalah ................................................................ 2 1.4. Sistematika Pembahasan .................................................... 3 TEORI DASAR 2.1. Uraian Umum .................................................................... 4 2.2. Sistem Timbangan Digital .................................................. 4 2.2.1. Sistem Masukan ..................................................... 5 2.2.2. Sistem Pemroses ..................................................... 5 2.2.3. Sistem Keluaran ..................................................... 5 2.3. Mikrokontroler Atmega 8535 ............................................. 6 2.3.1. Arsitektur Atmega 8535 ......................................... 6 2.3.2. Memory Map Mikrokontroler AVR ........................ 12 2.3.3. Penjelasan Fungsi Pin Mikrokontroler AVR ........... 12 2.4. Teori ADC AVR ................................................................ 16 2.5. Potensio Geser ................................................................... 18 2.5.1. Hubungan Massa Dengan Pegas ............................. 19 8 BAB III PERANCANGAN ALAT BAB IV 3.1. Uraian Umum ..................................................................... 21 3.2. Rangkaian Sensor ............................................................... 21 3.3. Rangkaian Keyped ............................................................. 23 3.4. Penampilan LCD ................................................................ 25 3.5. Perangkat Lunak ................................................................ 30 3.6. Program Utama .................................................................. 30 3.7. Subrutin Pembacaan Pada Keypad ...................................... 31 UJI COBA ALAT DAN PEMBAHASAN 4.1. Uji Coba Alat ..................................................................... 38 4.2. Pembahasan ....................................................................... 39 BAB V KESIMPULAN Kesimpulan ............................................................................... viii 51 9 DAFTAR GAMBAR Gambar 2.1. Blok diagram arsitektur Atmega8535 .................................... 8 Gambar 2.2. Pin ATMega 8535 ................................................................. 10 Gambar 2.3. Memory Map Mikrokontroler AVR ...................................... 12 Gambar 2.4. Bentuk IC Seri Mikrokontroler AVR ATmega8535 ............... 13 Gambar 2.5. Register ADMUX ................................................................. 17 Gambar 2.6. ADCSRA ........................................................................ 17 Gambar 2.7. Grafik Konversi dari Massa Menjadi Tegangan ADC ........... 18 Gambar 2.8. Potensio Geser ...................................................................... 19 Gambar 3.1. Blok Diagram Rangkaian Timbangan Digital ....................... 21 Gambar 3.2. Rangkaian Potensio Geser Pengganti Sensor Berat ................ 22 Gambar 3.3. Grafik Resistansi Pada Potensio Geser .................................. 22 Gambar 3.4. Rangkaian Interface Keypad 4 x 4 ......................................... 23 Gambar 3.5. Rangkaian Dasar Keypad 4 x 4 ............................................. 24 Gambar 3.6. Rangkaian interface ke LCD Karakter 2 x16 ......................... 25 Gambar 3.7. Modul Tampilan LCD ........................................................... 25 Gambar 3.8. Rangkaian Modul LCD 16 x 2 .............................................. 27 Gambar 3.9. Modul LCD Karakter 2 x 16 .................................................. 29 Gambar 3.10. Diagram Alir Program Utama ............................................... 31 Gambar 3.11. Diagram Pembacaan Keypad ................................................ 32 Gambar 3.12. Diagram Alir Berat ................................................................ 33 Gambar 3.13. Diagram Alir Harga .............................................................. 34 Gambar 3.14. Diagram Alir Pengoperasian Sistem ...................................... 35 Gambar 3.15. Diagram Alir Keypad untuk Mereset Sistem ......................... 36 Gambar 3.16. Diagram Alir untuk Mengkalibrasi ........................................ 37 10 DAFTAR TABEL Tabel 2.1. Pengalamatan Register I/O .................................................... 11 Tabel 2.2. Port Pin B dan Fungsi Khusus ............................................. 14 Tabel 2.3. Port Pin D dan Fungsi Khusus ............................................... 15 Tabel 2.4. Mode Tegangan Referensi .................................................... 17 Tabel 2.5. Konversi dari Massa Menjadi Tegangan ADC ....................... 18 Tabel 3.1. Resistansi Pada Potensio Geser ............................................. 22 Tabel 3.2. Spesifikasi Modul LCD 16x2 ................................................ 26 Tabel 3.3. Tabel Kebenaran ................................................................... 28 Tabel 3.4. Modul LCD Karakter 2 x 16 .................................................. 29 Tabel 4.1. Perhitungan Pengukuran Presentase Kesalahan ..................... 39 BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Seiring perkembangan teknologi semua aplikasi yang berhubungan dengan kegiatan manusia telah didesain sesuai dengan fungsi dan manfaat yang diinginkan dengan semakin efisiennya waktu yang digunakan dan maksimal manfaat yang didapatkan,ini terbukti banyak sekali peralatan-peralatan dalam kehidupan sehari-hari menggunakan sistem elektronik. Hal ini dapat dilihat pada penggunaan elektronik itu sendiri pada kantor-kantor, pabrik, rumah sakit maupun perorangan. Sejalan dengan perkembangan elektronik banyak sekali instrumeninstrumen menggunakan sistem elektronik,karena dengan sistem ini menghasilkan instrumen yang jauh lebih baik dibandingkan menggunakan instrumen analog,begitu juga halnya dengan sistem timbangan. Sistem timbangan elektronik menggantikan sisitem timbangan analog. Untuk saat ini timbangan analog masih banyak digunakan di masyarakat umum, ini dikarenakan timbangan digital harganya masih sangat mahal, padahal menggunakan timbangan analog banyak sekali kekurangan-kekurangan diantaranya : • Pembacaan skala tergantung ketelitian mata. • Tidak memiliki resolusi skala yang lebih besar. • Tidak dapat memproses data lain dari benda yang ditimbang seperti harga. • Berat yang di ukur tidak sesuai dengan anak timbangan. Dari penjelasan tersebut maka sangatlah perlu untuk mengganti timbangan analog dengan sistem timbangan digital, dimana pembuatannya dalam hal ini mengguinakan sistem mikrokontroler. Sistem instrument timbangan digital menggunakan mikrokontroler memungkinan untuk memproses data yang lebih baik, seperti memasukan data harga melalui keypad dari barang yang telah ditimbang, untuk menghasilkan 1 2 harga total dari barang yang ditimbang, dan juga tampilan lain yang mendukung sistem keseluruhan sehingga penggunaan dapat memudahkan dalam pengoperasian instrumen itu sendiri. Bertolak dari hal di atas maka tugas akhir ini dibuat suatu instrument timbangan digital berbasis mikrokontroler AVR Atmega 8535 ditambah dengan proses memasukan harga dari barang yang ditimbang. 1.2 Tujuan Proyek akhir ini bertujuan merancang dan membuat alat berupa timbangan digital yang menggunakan mikrorokontroler sebagai penunjuk akhir hasil berat dan harga yang ditimbang dengan tampilan LCD.serta mengukur berapa resolusi dan error yang didapat. 1.3 Batasan Masalah Pada perancangan timbangan digital ini akan meliputi sistem perancangan perangkat keras dan perangkat lunak. Perangkat keras yang dirancang terdiri dari rangkaian mikrontroler AT Mega 8535, rangkaian ADC, sistem sensor, dan rangkaian keypad. Sistem timbangan yang dibuat dalam hal perangkat keras hanya dibatasi antara lain : • Sensor berat yang digunakan diganti dengan potensiometer. • Jangkauan ukur yang ditimbang dari 0 Kg sampai 10 Kg. • Masukan untuk harga barang yang ditimbang sampai delapan digit, yaitu dari Rp. 0 sampai Rp. 99999999. Alasan mengganti dengan potensio geser ini dikarenakan penulis agak kesulitan dalam mencari sensor tersebut, tetapi penggantian ini tidak menyimpang dari sistem kerja alat itu sendiri, dimana mengganti kenaikan berat timbangan yang sebanding dengan kenaikan putaran potensio geser. Perancangan perangkat lunak meliputi proses pembacaan ADC, proses pembacaan keypad, proses perkalian harga dengan berat dan proses tampilan ke LCD dengan menggunakan pemrogram Basic pada Bascom AVR ATmega 8535. 3 1.4 Sistematika Pembahasan Pada penyusunan laporan tugas akhir terdiri dari beberapa bab pembahasan. Sistematika pembahasan tersebut adalah sebagai berikut : JUDUL : Judul yang dipilih adalah “Timbangan Digital Menggunakan Mikrokontroler AVR ATmega 8535”. ABSTRAK : Berisi gambaran umum dan garis besar mengenai pendahuluan, tujuan batasan masalah, dan sistematika dari perencanaan yang dilakukan. BAB I : PENDAHULUAN Pada bab ini diberikan judul, latar belakang, tujuan, pembatasan masalah, dan sistematika dari perencanaan yang dilakukan. BAB II : TEORI DASAR Bab ini menjelaskan teori umum sistem timbangan dan pembahasan ATMega 8535, yang meliputi spesifikasi umum anggota keluarganya, organisasi memori, register fungsi khusus yang dimilikinya, osilator, pewaktu, dan gerbang input/output.Dan Potensio geser yang dipakai sebagai pengganti sensor berat . BAB III : PERANCANGAN ALAT Bab ini menjelaskan dari rangkaian yang meliputi uraian umum, rangkaian sensor, rangkaian ADC, rangkaian keypad, perancangan sistem minimum mikrokontroler ATMega 8535 dan menjelaskan perangkat lunak (software) yang digunakan dalam timbangan digital adalah menggunakan Bahasa Basic. BAB IV : UJI COBA ALAT DAN PEMBAHASAN Dalam bab ini berisi pengujian program, kemampuan serta cara kerja dari perancangan alat yang dibuat. BAB V : KESIMPULAN Pada bab ini berisi kesimpulan tentang timbangan digital yang telah dibuat dalam tugas akhir ini untuk pengembangannya. 4 BAB II TEORI DASAR 2.1 Uraian Umum Timbangan adalah suatu alat yang digunakan untuk menentukan ukuran berat dari suatu barang. Timbangan itu sendiri berbagai macam ragamnya antara lain : Timbangan duduk, timbangan gantung, timbangan emas dan lain sebagainya. Timbangan mempunyai kemampuan menimbang dan ketelitian yang berbeda-beda. Semakin teliti dan semakin besar kemampuan menimbangnya maka akan semakin mahal harganya. Dalam segi perangkat keras dan dua macam timbangan yaitu timbangan analog dan timbangan elektronik, untuk timbangan analog biasanya dilihat dari proses kesetimbangan, sehingga ada istilah anak timbangan yaitu benda penyeimbang dengan benda yang akan kita timbang lain halnya dengan timbangan elektronik, timbangan ini menggunakan transfer berat yang dapat merubah perubahan beban dengan perubahan sinyal listrik dalam hal ini berupa tegangan. Sinyal tegangan ini kemudian dirubah menjadi sinyal digital menggunakan ADC internal ATmega 8535, yang selanjutnya diproses sehingga dapat membaca berat dan harga dari timbangan berupa tampilan digital. Timbangan elektronik ini tentunya mempunyai banyak kelebihan dibandingkan dengan timbangan analog diantaranya : mempunyai ketelitian yang spesifik, pembacaan data yang lebih baik dan dapat pula memproses data lain dari benda yang ditimbang. 2.2 Sistem Timbangan Digital Secara garis besar sistem timbangan digital dibagi menjadi tiga bagian utama, yaitu : 4 5 Sistem masukan • Sistem pemrosesan • Sistem keluaran 2.2.1 Sistem Masukan Dalam perancangan sistem timbangan digital ini inputnya berupa Sensor potensiometer pengganti tranduser berat dan ADC Internal AT8535 yang merubah input analog menjadi digital. Masukan analog untuk ADC ini berupa tegangan dengan range 0 sampai 5 volt, yang menghasilkan. Sistem timbangan yang dirancang ini mempunyai kemampuan menimbang dari 0 sampai 9,99 Kg, sehingga mempunyai ketelitian seperseratus kilogram. Dengan tegangan masukan maksimum 5 volt untuk ADC, maka untuk setiap kenaikan 1 menimbang sampai 10 Kg dan ketelitian seperseratus kilogram. Dalam perancangan ini tranduser beratnya disimulasikan menggunakan potensio geser, sehingga dengan memutar potensio geser tersebut akan dihasilkan berat yang diinginkan. Selain menimbang instrumen ini menerima masukan data harga perkilogram dari keypad, dimana data harga ini kemudian dikalikan dengan data berat untuk memperoleh harga total dari benda yang kita timbang. 2.2.2 Sistem Pemroses Sistem pemroses yang digunakan dalam sistem timbangan digital ini berupa sistem minimum ATmega 8535 sistem ini diperlukan untuk memproses data masukan berat dari ADC, data masukan harga dari keypad, mengalikan data harga dan berat dan menampilkannya ke penampil dalam hal ini berupa LCD. 2.2.3 Sistem Keluaran Informasi data berat, dan harga, harga total dan informasi-informasi lainnya kemudian ditampilkan kekeluaran dalam hal ini berupa LCD. LCD yang digunakan adalah LCD 16 x 2 dot formal 2 line. 6 2.3 Mikrokontroler ATMega 8535 Perkembangan teknologi telah maju dengan pesat dalam perkembangan dunia elektronik, khususnya dunia mikroelektronika. Penemuan silikon menyebabkan bidang ini mampu memberikan sumbangan yang amat berharga bagi perkembangan teknologi modern. Atmel sebagai salah satu vendor yang mengembangkan dan memasarkan produk mikroelektronika telah menjadi suatu teknologi standar bagi para desainer sistem elktronika masa kini.Dengan perkembangan terakhir,yaitu generasi AVR (Alf and Vegard’s Risc processor), para desainer sistem elektronika telah diberi suatu teknologi yang memiliki kapabilitas yang sangat maju tetapi dengan biaya ekonomis yang cukup minimal. Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16 – bit ( 16 – bits word ) dan sebagian besar instruksi dieksekusi dalam 1 (satu ) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki beberapa perbedaan. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). Secara umum, AVR dapat dikelompokan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan AT86RFxx. Pada dasarnya yang membedakan masing – masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. 2.3.1 Arsitektur ATMega 8535 Beberapa komponen yang ada didalam tubuh ATMega8535 bagi yang sudah memahami dan menggeluti bidang mikroelektronika sudah tidak asing lagi. Tetapi ada beberapa komponen yang cukup membedakan antara generasi AVRMega8535 dengan generasi mikrokontroler sebelumnya. Berikut arsitektur komponen ATMega8535 , untuk blok diagram lihat gambar 2.1 : 7 1. Saluran I/O sebanyak 32 buah,yaitu Port A, Port B, Port C, dan 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 interna. 6. SRAM sebesar 512 byte. 7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal. 9. Port antarmuka SPI. 10. EEPROM sebesar 8 kb dengan kemampuan Read While Write. 11. Antarmuka komparator analog. 12. Port USART untuk komunikasi serial. 8 Gambar 2.1 Blok diagram arsitektur Atmega8535 9 Adapun fitur dari ATMega8535 adalah sebagai berikut : 1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. 2. Kapabilitas 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. Dari gambar 2.1. tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 sebagai berikut : 1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 2. GND merupakan pin ground. 3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC. 4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilator. 5. PortC (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Time Oscilator. 6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungs khusus yaitu komparator analog, interupsi eksternal, dan komunikasi serial. 7. RESET merupakan pin yang digunakan untuk mereset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREF merupakan pin masukan tegangan referensi ADC. 10 Gambar 2.2 Pin ATMega 8535 AVR ATMega 8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Internal. Register keperluan umum menempati space data pada alamat terbawah, yaitu $00 Sampai $IF. Sementara itu, register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/ counter, fungsi – fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada table 2.1. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F. Sementara untuk memori program yang terletak dalam Flash PEROM tersusun dalam word 11 atau 2 byte karena setiap instruksi memiliki lebar 16 bit atau 32 bit. AVR ATMega 8535 memiliki 4Kbytex 16 bit Flash PEROM dengan alamat mulai dari $000 sampai $FFF. AVR tersebut memiliki 12 – bit Program counter(PC) sehingga mampu mengalamati isi flash. Tabel 2.1 Pengalamatan Register I/O 12 2.3.2 Memory Map Mikrokontroler AVR Gambar 2.3. Memory Map Mikrokontroler AVR 2.3.3 Penjelasan Fungsi PIN Mikrokontroler AVR IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya fungsi kaki yang ada pada IC memiliki persamaan. Gambar salah satu bentuk IC seri mikrokontroler AVR ATmega8535 dapat dilihat berikut. 13 Gambar 2.4 : IC seri Mikrokontroler AVR ATmega8535 Berikut adalah penjelasan fungsi tiap kaki. A. Port A Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D converter. 14 B. Port B Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pinpin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut. Tabel 2.2. Port Pin B dan Fungsi Khusus Port Pin Fungsi Khusus PB0 T0 = timer/counter 0 external counter input PB1 T1 = timer/counter 0 external counter input PB2 AIN0 = analog comparator positive input PB3 AIN1 = analog comparator negative input PB4 SS = SPI slave select input PB5 MOSI = SPI bus master output / slave input PB6 MISO = SPI bus master input / slave output PB7 SCK = SPI bus serial clock C. Port C Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pinpin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. 15 Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer/counter 2. D. Port D Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut. Tabel 2.3 Port Pin D dan Fungsi Khusus Port Pin Fungsi Khusus PD0 RDX (UART input line) PD1 TDX (UART output line) PD2 INT0 ( external interrupt 0 input ) PD3 INT1 ( external interrupt 1 input ) PD4 OC1B (Timer/Counter1 output compareB match output) PD5 OC1A (Timer/Counter1 output compareA match output) PD6 ICP (Timer/Counter1 input capture pin) PD7 OC2 (Timer/Counter2 output compare match output) E. Reset RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset. F. XTAL1 XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit. G. XTAL2 XTAL2 adalah output dari inverting oscillator amplifier. 16 H. Avcc Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter. I. AREF AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini. J. AGND AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah. 2.4 Teori ADC AVR Suatu sensor umumnya mengeluarkan tegangan analog. Tegangan analog ini harus diubah menjadi digital oleh mikrokontroler. Hal ini dikarenakan peranti penampil data adalah dalam format digital, misalnya LCD dan 7 segmen. ATmega8535 memiliki fitur ADC dengan resolusi 10-bit, yang terhubung dengan delapan saluran Analog Multiplexer, sehingga memungkinkan untuk membangun sistem elektronika yang kompak. Pada Pin ADC mikrokontroler tersebut terdapat rangkaian Sample and Hold, dimana tegangan input ADC ditahan dalam tingkat yang konstan pada saat konversi berlangsung. Kecepatan konversinya sekitar 65-260 us. Proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, format output data, dan metode pembacaan. Register yang perlu diset nilainya adalah ADMUX (ADC Multiplexer Selection Register), ADCSRA (ADC Control and Status Register), dan SFIOR (Special Function IO Register). ADMUX merupakan register 8-bit yang berfungsi menentukan tegangan referensi ADC, format data output, dan saluran ADC yang digunakan. 17 Bit 7 6 5 4 3 2 1 0 REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Initial Value 0 0 0 0 0 0 0 0 ADMUX Gambar 2.5. Register ADMUX 1. RFS (1..0) merupakan bit pengatur tegangan referensi ADC ATmega8535. Memiliki nilai awal 00 sehingga referensi tegangan berasal dari pin AREF. Tabel 2.4. Mode Tegangan Referensi REFS1 REFS0 Mode Tegangan Referensi 0 0 Tegangan dari Pin AREF 0 1 Tegangan dari Pin AVCC 1 0 Tidak digunakan 1 1 Tegangan referensi internal 2.56 V 2. ADLAR merupakan bit pemilih mode data keluaran ADC. Bernilai awal 0 sehingga 2 bit tertinggi data hasil konversinya berada di register ADCH dan 8 bit sisanya berada di register ADCL. 3. MUX (4..0) merupakan bit pemilih saluran pembacaan ADC Bernilai awal 00000. Untuk Single Ended Input, MUX (4..0) bernilai dari 00000-11111. 4. ADCSRA merupakan register 8-bit yang berfungsi melakukan manajemen signal control dan status dari ADC. Proses konversi dimulai dengan cara memberikan logika 1 pada bit ADC Start Conversion (ADAC). Bit ini terus berlogika 1 selagi proses konversi masih berlangsung dan akan dihapus oleh hardware ketika konversi selesai. Bit 7 6 5 4 3 2 1 0 ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0 Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Initial Value 0 0 0 0 0 0 0 0 Gambar 2.6. ADCSRA ADCSRA 18 Oleh karena dipakai 8 bit ADC, maka rentang output yang mungkin dihasilkan adalah dari 0 sampai 255 (8 bit = 28 = 256). Jika masukan analog adalahl 0 V, maka keluaran hasil konversi adalah 0. Jika masukan analog ADC sama besarnya dengan tegangan referensi, maka hasil keluaran konversi adalah 255. Adapun untuk lebih jelasnya dapat dilihat pada tabel konversi massa menjadi tegangan di ADC. Tabel 2.5 : Konversi dari Massa Menjadi Tegangan ADC Beban 0 1 2 3 ADC 768 710 647 583 Tegangan 10,36 11,66 12,46 14,26 y = -61,8x + 769,7 1000 800 Series1 600 Linear (Series1) 400 200 0 0 1 2 3 4 Gambar 2.7 : Grafik Konversi dari Massa Menjadi Tegangan ADC 2.5 Potensio Geser Potensio geser, seperti tampak pada gambar 2.3 di bawah, adalah salah satu bentuk variable resistor, atau resistor yang nilainya beragam tergantung posisi tuasnya. Biasanya dipakai pada equalizer untuk menentukan amplitudo frekuensi tertentu yang keluar dari amplifier audio. 19 Besar resistansinya terhadap resistansi total, proporsional terhadap posisi tuasnya, dengan rumus Rs = ds R d di mana Rs adalah resistansi. Gambar 2.8. Potensio Geser Potensio geser berfungsi untuk mengubah posisi mekanis menjadi sinyal elektris. Potensio ini merupakan sebuah tahanan ( resistor ) yang mempunyai kontak geser sehingga tahanan dapat diatur dari nol sampai maksimum. Gerakan ini dihasilkan oleh perputaran poros ( shaft ) sehingga setelah potensio dialiri arus listrik, terjadi tegangan listrik pada suatu kedudukan kontak. 2.5.1 Hubungan Massa Dengan Pegas Sebuah sistem adalah linear jika hubungan antara suatu variabel terhadap variabel lainnya atau antara keluaran dan masukan adalah linear dalam suatu daerah terbatas. Dalam ilmu listrik, tahanan merupakan komponen yang linear dimana dengan membuat arus listrik yang melalui tahanan tersebut menjadi dua kali, dapat beda tegangan antara kedua ujung tahanan juga akan berubah menjadi dua kali. Demikian juga pada sebuah per (pegas) dalam sistem mekanis yang jika salah satu ujungnya dibuat tetap sedang ujung lainnya ditarik atau ditekan dengan 20 gaya F dan kemudian gaya tarik tersebut diperbesar dua kali, maka perpanjangan per (pegas) tersebut juga akan sebanding dengan pertambahan gaya. Hubungan linear ini tidak berlaku secara terbatas, karena tahanan listrik maupun per (pegas) akan memiliki sifat linear pada daerah yang terbatas; artinya, jika arus melalui tahanan diperbesar terus beberapa kali, maka pada suatu harga tertentu akan menjadi kelebihan arus yang tidak dapat ditampung oleh tahanan dan akibatnya tahanan tersebut akan terbakar; demikian juga pada pegas jika gaya makin diperbesar maka pada suatu keadaan tertentu pegas tersebut akan putus. Dari keadaan-keadaan ini dapat disimpulkan bahwa linearitas suatu sistem terjadi pada daerah yang terbatas. 21 BAB III PERANCANGAN ALAT 3.1 Uraian Umum Sistem rangkaian timbangan digital ini digunakan AVR ATMega8535 yang dimana keluaran dari sistem ADC ini langsung dari mikrokontroler tersebut, data harga dari berat dapat dimasukan ke keypad ( keypad ), bersama dengan data berat di proses di sistem ATMega8535 yang kemudian dapat ditampilkan di LCD. Blok diagram ini diperlihatkan pada gambar 3.1. Sensor Microcontroler AVR AT Mega 8535 LCD KEYPAD Gambar 3.1 Blok Diagram Rangkaian Timbangan Digital 3.2 Rangkaian Sensor Rangkaian sensor pada alat ini berfungsi untuk mengkonversi besaran massa ke besaran listrik, dalam hal ini resistansi. Sensor ini diwakili sebuah potensio geser (sliding potentiometer), besar resitansinya bervariasi tergantung posisi tuasnya, sementara posisi tuas tersebut proporsional terhadap massa benda yang diletakkan pada timbangan. Sebelum diumpan ke input ADC, variasi resistansi diubah menjadi variasi tegangan dengan menerapakan prinsip pembagi tegangan. 21 22 Gambar 3.2 : Rangkaian Potensio Geser Pengganti Sensor Berat Adapun cara mengukur resistansi dan tegangan pada potensio geser dengan menggunakan multimeter untuk mengukur berdasarkan massa atau berat, dan hasilnya dapat dilihat pada tabel dan grafik di bawah ini. Tabel 3.1 Tabel Resistansi Pada Potensio Geser No 1 2 3 4 Massa 0 1 2 3 Resistansi ( ohm ) 10.3 11.36 12.27 12.7 Resistansi ( ohm ) 14 12 10 8 Resistansi ( ohm ) 6 4 2 0 0 1 2 3 4 Gambar 3.3 : Grafik Resistansi Pada Potensio Geser 23 3.3 Rangkaian Keypad Sebuah keypad pada umunya dihubungkan secara matriks ( baris dan kolom ). Keypad yang dihubungkan dengan rangkaian mikrokontroler adalah jenis keypad kontak mekanis dengan konfigurasi matriks 4 x 4 ( 4 kolom kali 4 baris ) keypad ini berfungsi sebagai piranti data yang diinginkan untuk memasukan nilai harga suatu barang yang ditimbang. Rangkaian keypad dapat dilihat pada gambar 3.3. Gambar 3.4 : Rangkaian interface keypad 4 x 4 Keypad sering digunakan sebagi suatu input pada beberapa peralatan yang berbasis mikroprosessor atau mikrokontroller. Keypad sesungguhnya terdiri dari sejumlah saklar, yang terhubung sebagai baris dan kolom dengan susuan seperti yang ditunjukkan pada gambar 3.3. Agar mikrokontroller dapat melakukan scan keypad, maka port mengeluarkan salah satu bit dari 4 bit yang terhubung pada kolom dengan logika low “0” dan selanjutnya membaca 4 bit pada baris untuk menguji jika ada tombol yang ditekan pada kolom tersebut. Sebagai konsekuensi, selama tidak ada tombol yang ditekan, maka mikrokontroller akan melihat sebagai logika high “1” pada setiap pin yang terhubung ke baris. 24 Gambar 3.4. Rangkaian Dasar Keypad 4 x 4 Apabila sebuah keypad dihubungkan ke suatu mikroprosesor, maka ada tiga pekerjaan pokok untuk menangani keypad ini. Ketiga hal tersebut adalah : 1. Mendeteksi adanya keypad yang ditekan 2. Melakukan debounce pada keypad yang ditekan 3. Melakukan proses pengkodean pada keypad yang ditekan Ketiga pekerjaan diatas dapat dilakukan oleh perangkat keras, perangkat lunak atau kombinasi keduanya, tergantung perancanga sistem yang dirancang. Pada system ini penangan keypad ini dipilih dengan menggunakan perangkat lunak ( software ). Pemilihan ini berdasarka pertimbangan bahwa penanganan dengan perangkat lunak termasuk sederhana dan mudah dilacak bila terjadi kesalahan. 25 3.4 Penampilan LCD Gambar 3.5. Rangkaian interface ke LCD Karakter 2 x16 Gambar 3.6. Modul Tampilan LCD 16 x 2 • • • • • • • • Hitachi HD44780 compatible LCD controller dan RAM yang simpel 61 x 15.8 mm lebar layar 5 x 7 dot matrix format untuk 2.96 x 5.56 mm characters, plus cursor line Dapat mendisplay 224 symbol yang berbeda Low power consumption (1 mA typical) Power command set dan user-produced characters TTL and CMOS compatible Konektor yang standar 0.1-pitch pin 26 Tabel 3.2 Spesifikasi Modul LCD 16x2 Pin Symbol Level Function 1 VSS - Power, GND 2 VDD - Power, 5V 3 Vo - Power, for LCD Drive 4 RS H/L Register Select Signal H : Data Input L : Instruction Input 5 R/W H/L H : Data Read (LCD->MPU) L : Data Write (MPU->LCD) 6 E H,H->L 7-14 DB0-DB7 H/L 15 NC - NOT CONNECTED 16 NC - NOT CONNECTED Enable Data Bus; Software selectable 4- or 8-bit mode 27 Gambar 3.7. Rangkaian Modul LCD 16x2 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 pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu untuk sejumlah waktu tertentu (sesuai dengan datasheet dari LCD tersebut) dan berikutnya set EN ke logika low “0” lagi. Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan dianggap sebagi sebua perintah atau instruksi khusus ( seperti clear screen, posisi kursor dll ). Ketika RS berlogika high “1”, data yang dikirim adalah data text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan huruf “T” pada layar LCD maka RS harus diset logika high “1”. 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”. Pada akhirnya, bus data terdiri dari 4 atau 8 jalur ( bergantung pada mode operasi 28 yang dipilih oleh user ). Pada kasus bus data 8 bit, jalur diacukan sebagai DB0 s/d DB7. Beberapa perintah dasar yang harus dipahami adalah inisialisasi LCD Character, Tabel 3.3. Tabel Kebenaran 29 Gambar 3.8 : Modul LCD Karakter 2 x 16 Modul LCD Character dapat dengan mudah dihubungkan dengan mikrokontroller seperti AT8535. LCD yang akan kita praktikumkan ini mempunyai lebar display 2 baris 16 kolom atau biasa disebut sebagai LCD Character 2x16, dengan 16 pin konektor, 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 pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu untuk sejumlah waktu tertentu ( sesuai dengan datasheet dari LCD tersebut ) dan berikutnya set EN ke logika low “0” lagi. Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan dianggap sebagai sebuah perintah atau instruksi khusus (seperti 30 clear screen, posisi kursor dll). Ketika RS berlogika high “1”, data yang dikirim adalah data text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan huruf “T” pada layar LCD maka RS harus diset logika high “1”. 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”. Pada akhirnya, bus data terdiri dari 4 atau 8 jalur ( bergantung pada mode operasi yang dipilih oleh user ). Pada kasus bus data 8 bit, jalur diacukan sebagai DB0 s/d DB7 Beberapa perintah dasar yang harus dipahami adalah inisialisasi LCD Character. 3.5 Perangkat Lunak Perangkat lunak (software) yang digunakan dalam sistem timbangan digital ini adalah bahasa pemrograman BASIC.Fungsi utama dari perangkat lunak ini yaitu : 1. Menerima masukan data dari ADC microkontroler berupa data berat,memprosesnya dan menampilkannya ke LCD. 2. Menerima masukan dari keypad berupa data harga kemudian memprosesnya bersama-sama data berat untuk menampilkan harga total. 3.6 Program Utama Program utama yaitu program yang dijalankan saat pertama kali alat dijalankan atau direset secara hardware yaitu : 31 Inisialisasi Micro Config LCD pin Config Keypad Config ADC Deklarasi For Program Keypad Declarasi for Program Menu Dim B As Byte Dim _b As Eram Byte B = _b If B = 255 Then End If B=1 _b = B Masuk Program MENU Else Goto Run_system Gambar 3.9 : Diagram Alir Program Utama 3.7 Subrutin pembacan pada keypad Program rutin keypad ini secara garis besar yaitu : men-scanning keypad mel1akukan debounce, pembacaan keypad dan pengkodean keypad untuk lebih jelasnya diperlihatkan diagram alirnya di gambar 3.10. 32 Gambar 3.10 : Diagram Pembacaan Keypad 33 Setting Weight Display_lcd1: Cls Locate 1 , 1 : Lcd "Enter the weight" Locate 2 , 1 : Lcd "Weight(Kg)=" Cursor On Blink Program KEYPAD Lcd Key_str Weight_str = Weight_str + Key_str Key_str= D Key_str= C Weight_num = Val(weight_str) Ram_weight = Weight_num Cursor Off Blink Goto Menu Goto Reset_system Gambar 3.11 : Diagram Alir Berat 34 Gambar 3.12 : Diagram Alir Harga 35 Gambar 3.13 : Diagram Alir Pengoperasian Sistem 36 A Program KEYPAD Key_str= C B = 255 _b = B _c = B Goto Reset_sistem Key_str= A Call Calibration _nilai_y = Y B Reset_system Cls Config Watchdog = 16 Start Watchdog Do Loop Gambar 3.14 : Diagram Alir Keypad untuk Mereset Sistem 37 Sub calibration Y = 800.68 A=1 X=0 Cls Locate 1 , 1 : Lcd " Calibration " Do Incr A W = Getadc(0) X=X+W Loop Until A = 1000 X = X / 1000 Do Hasil = Y – X Hasil = Hasil / 63.591 _hasil = Fusing(hasil , "#.##") 'Print _hasil ; " " ; Y ; " " ; X If _hasil <= "0.01" Then Exit Do If Y <= 4.6818 Then Call Calibration Y = Y - 1.00 Loop End Sub Gambar 3.15 : Diagram Alir untuk Mengkalibrasi 38 BAB IV UJI COBA ALAT DAN PEMBAHASAN 4.1 Uji Coba Alat Setelah perangkat keras dan lunak terealisasi maka dilakukan uji coba.pengujian yang dilakukan adalah system keseluruhan yang merupakan simulasi dari potensio geser pengganti sensor beratnya. Dalam pengujian ini penulis memulai dengan mengukur tegangan yang dihasilkan yaitu antara 0 sampai 999 mV. kemudian mengubah tagangan potensio tersebut dari nilai minimal sampai maksimal.perubahan tegangan yang dihasilkan oleh potensio harus sampai dengan perubahan data berat yang ditampilkan,untuk kenaikan tegangan sebesar 1mV maka perubahan harga dari tampilan adalah sebesar 0.01 kg,sehingga untuk tegangan maksimal 5 V maka data berat yang ditampilkan adalah 9.99 kg. Langkah selanjutnya yaitu pengujian keypad : 1. Bila keypad pada tombol A ditekan lalu dibiarkan sebentar sampai beberapa detik,maka akan mengkalibrasi alat tersebut dan tombol A juga berfungsi sebagai tombol UP(atas). 2. Keypad pada tombol B apabila ditekan akan berfungsi sebagai tombol down(bawah). 3. Dan keypad pada tombol C yang berfungsi sebagai MENU dan CANCEL apabila tidak memilih program. 4. Keypad pada tombol D berpungsi sebagai ENTER terhadap program MENU pada tombol C dan juga Menunjukan suatu posisi tombol perintah yang akan diprogram. 5. Tombol angka-angka menunjukan suatu harga dan memprosesnya dengan data berat berupa hasil perkalian keduanya,sehingga diperoleh total harga yang sesuai.pada tabel 4.1 diperlihatkan contoh beberapa hasil perbandingan pengukuran dari data berat ke tampilan LCD. 38 39 Dari tabel 4.1 terlihat bahwa hasil perhitungan dari hasil pengukuran mengalami sedikit perbedaan dimana presentase kesalahannaya dapat dihitung sebagai berikut : Tabel 4.1 Perhitungan Pengukuran Presentase Kesalahan No Beban (kg) Data berat di tampilan LCD 1 2 3 4 5 1 2 3 4 5 0.99 2.02 2.98 4.02 4.87 % kesalahan = rata − rata perhitungan − rata − rata pengukuran x 100% rata − rata − perhitungan Dimana : Rata2 Perhitungan = (• Hasil Perhitungan) / (• Perhitungan) Rata2 Pengukuran = (• Hasil Pengukuran) / (• Pengukuran) Di mana hasil perhitungan menurut rumus di atas diperoleh presentase sebesar 1.1533 % . Kesalahan ini disebabkan karena beberapa factor dibawah ini : • Pengukuran dengan alat ukur menimbulkan beban terhadap hasil ukur sehingga terjadi penyimpangan hasil ukur. • Potensio geser sebagai pengganti sensor berat sangat berpengaruh terhadap beban yang diinginkan. 4.2 Pembahasan Pada saat pertama kali alat dijalankan data dari input akan di konversi ke digital dengan menggunakan system digital ADC internal pada ATMega 8535, kemudian dihubungkan ke potensio geser, lalu disimpan didalam EEPROM dan seterusnya ditampilkan di LCD. Data masukan harga melalui port yang disimpan di EEPROM kemudian ditampilkan ke LCD berupa informasi harga. 40 Selanjutnya melakukan penekanan keypad, jika keypad A ditekan beberapa saat maka akan muncul kalibrasi dan apabila kita akan memasukkan harga maka keypad C harus ditekan yang menampilkan program menu. Diantaranya Berat, Harga, Cek Harga dan berat, Pengoperasian sistem. 41 BAB V KESIMPULAN Berdasarkan sistem yang dirancang dalam tugas akhir ini, dapat ditarik beberapa kesimpulan yang dapat dijadikan acuan aau bahan pembanding untuk dikembangkan selanjutnya, diantaranya adalah : 1. Konversi massa ke resistansi dengan menggunakan pegas dan potensio geser terbukti cukup memadai dan linier untuk jangkauan ukur tertentu. 2. Kalibrasi dilakukan secara otomatis, cukup menekan tombol ‘A’ pada keypad. 3. Berdasarkan tabel hasil pengukuran, kesalahan yang terukur adalah 1.1533 %. Kesalahan ini sebagian besar berasal dari konversi massa ke resistansi, bukan di konversi ADC, bukan pula kesalahan kalkulasi dalam mikrokontroler. 4. Timbangan digital dapat mengukur berat dan juga harga yang kita inginkan. 41 42 DAFTAR PUSTAKA 1. Lingga Wardhana. 2007. Belajar Sendiri Mikrokontroler AVR Seri ATMega8535 Simulasi, Hardware, dan Aplikasi. Yogyakarta : C.V Andi Offset. 2. Suhata. 2005. VB Sebagai Pusat Kendali Peralatan Elektronik. Jakarta : PT. Elex Media Computindo. 3. Widodo. 2005. Bahasa Basic Pada Bascom AVR 8051. Jakarta : PT. Elex Media Computindo. 4. www.atmel.com. Data Sheet AVR ATMega 8535. 5. Widodo.2006. 12 Cara Belajar Sendiri Membuat Rangkaian Elektronika. Jakarta : PT. Elex Media Computindo 42