ROBOT OTOMATIS PENGAMBIL BUTTER CUBE PADA KONTES ROBOT INDONESIA 2008 BERBASIS MIKROKONTRLER AVR AT MEGA 8535 BUDI SETIYAWAN 5223 05 3221 Tugas Akhir diajukan untuk memenuhi salah satu syarat kelulusan Program Diploma III Teknik Elektronika PROGRAM STUDI DIPLOMA III TEKNIK ELEKTRONIKA JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI JAKARTA 2009 ABSTRAK Budi Setiyawan, Robot Otomatis Pengambil butter cube Pada Kontes Robot Indonesia 2008 Berbasiskan Mikrokontroler AVR AT MEGA 8535, Tugas Akhir, Jakarta, Jurusan Teknik Elektro, Fakultas Teknik, Universitas Negeri Jakarta, 2009. Tugas Akhir dengan judul” Robot Otomatis Pengambil butter cube Pada Kontes Robot Indonesia 2008 Berbasiskan Mikrokontroler AVR AT MEGA 8535” pernah diikutsertakan pada Kontes Robot Indonesia dibuat dengan tujuan untuk memenuhi syarat kelulusan sebagai mahasiswa D III T.Elektronika Universitas Negeri Jakarta, agar mendapatkan gelar A.Md , dan sebagai salah satu sarana dalam pengaplikasian matakuliah yang telah dipelajari. Pelaksanaan penelitian Tugas Akhir dilaksanakan di Laboraturium mekatronika dan robotika Jurusan Teknik Elektro, Fakultas Teknik, Universitas Negeri Jakarta pada semester ganjil (089) terhitung dari bulan september hingga februari tahun akademik 2008-2009. Pembuatan tugas akhir menggunakan metode eksperimen penelitian, penelitian alat telah melalui beberapa proses perancangan diantaranya dengan melakukan perancangan pada mekanik, perancangan pada elektronik dan perancangan pemograman pada alat, lalu dilakukan pengukuran tegangan dan arus pada rangkaian yang telah dibuat. Pada proses pengujian, robot dapat melakukan gerakan maju-mundur, belok kanan-kiri, menaikkan dan menurunkan tangan. Robot telah berhasil dibuat dan telah diuji agar dapat mendeteksi dan menggangkat sebuah benda berbentuk kubus (butter cube) berukuran panjang, lebar, tinggi sebesar 20cm x 20cm x 20cm dan dapat mengikuti garis lurus berwarna putih dengan lebar 3cm serta menghitung banyaknya garis persimpangan sebanyak 3 kali yang dibuat pada suatu lapangan berukuran 300m x 300m dengan dasar berwarna hitam. Kata kunci : Sensor, Driver L293D, Mikrokontroler ATMega 8535 BAB I PENDAHULUAN A. Latar Belakang Teknologi mikro elektronika telah mengalami kemajuan yang sangat pesat dan masih terus berkembang disetiap harinya, perkembangan berawal dari ditemukanya Integrated Circuit yang dapat menggantikan posisi komponen analog seperti transistor, tabung trioda, hampir pada semua peralatan elektronika, terutama yang menggunakan teknologi digital, hal tersebut memberikan dampak pada masyarakat pada umumnya dan mahasiswa pada khususnya yang cukup besar bagi kehidupan sehari-hari. Penggantian posisi komponen analog dalam teknologi elektronika, efektifitas dan efisiensi selalu menjadi acuan agar dalam setiap penggunaan dan pemanfaatan teknologi diharapkan dapat mencapai hasil yang optimal baik kualitas maupun kuantitasnya. Atas dasar hal tersebutlah diperlukan sebuah alat, komponen atau sistem yang dapat memproses suatu data dengan cepat dan akurat serta memiliki fitur-fitur dan arsitektur yang lebih canggih dan lebih mendukung agar dapat memproses data tersebut secara optimal pula. Mikrokontroler adalah salah satu contoh dari kemajuan tehnologi tersebut. Pada akhirnya dalam pemanfaatan mikrokontroler tersebut banyak diaplikasikan dalam pembuatan robot otomatis yang dapat bergerak bebas sesuai dengan lingkungan yang telah dikondisikan. Terlebih pada dunia pendidikan khususnya telah banyak diselenggarakan kompetisi-kompetisi robotika baik dalam ajang nasional dan maupun intersional. Dengan didasarkan hal tersebut saya membuat robot otomatis pengambil buter cube yang telah diikutsertakan dalam ajang kompetisi KRI 2008 dengan kondisi lapangan dan lingkungan yang telah ditentukan dalam robot tersebut. B. Perumusan Masalah Dengan melihat latar belakang serta pembatasan masalah, masalah yang dapat dirumuskan adalah bagaimana membuat sebuah robot yang dapat bergerak sesuai dengan kondisi lapangan yang telah di buat pada Kontes Robot Indonesia 2008. C. Pembatasan Masalah Batasan masalah pada laporan adalah penggunaan sensor garis sehingga robot dapat mengikuti garis putih yang mengarah pada objek yaitu buter cube yang ditempatkan di suatu tempat pada sebuah lapangan yang telah ditentukan. D. Tujuan Tujuan dari pembuatan Tugas Akhir adalah sebagai berikut: 1. Untuk memenuhi syarat kelulusan sebagai mahasiswa D3 T.Elektronika Universitas Negeri Jakarta, guna mendapatkan gelar A.Md. 2. Sebagai sarana dalam pengaplikasian mata kuliah yang telah dipelajari. 3. Membuat program dalam pengendalian sebuah robot dengan menggunkan pemrograman bahasa C yang dibuat pada program CodevisionAVR C Compiler . E. Manfaat Agar dapat dijadikan sebagai bahan acuan dalam perancangan dan pembuatan robot otomatis pada Kontes Robot Indonesia pada tahun selanjutnya dan ajang-ajang kompetisi robot yang lainnya. BAB II LANDASAN TEORI A. Robot Seperti juga manusia, robot pada dasarnya mempunyai lima komponen utama, diantaranya1.: 1. Tubuh atau Rangka. 2. Otot untuk menggerakkan tubuh. 3. Sensor yang dapat menerima informasi dari dalam tubuh atau dari lingkungan sekitar. 4. Sumber tenaga untuk menggerakkan otot dan sensor. 5. Otak yang memproses informasi dari sensor dan memberitahu apa yang harus dilakukan. Bedanya kalau manusia masih ada komponen lain yaitu kecerdasan dan moralitas. Pada robot, tubuhnya adalah rangka yang dapat bergerak, motor untuk menggerakkan, sistem sensor, power supply dan komputer sebagai otak untuk mengontrol semua elemen tersebut. Dapat dikatakan Robot adalah kehidupan versi buatan manusia, yaitu mesin yang meniru perilaku hewan dan manusia. Tiap orang mempunyai definisi yang berbeda tentang robot, jadi sangat sulit membuat definisi yang komprehensif tentang robot, jika melihat semua mesin yang dikatakan orang sebagai robot, maka bentuknya akan sangat berbeda-beda, jika mendengar robot-robot yang terkenal ini : 1 Saeed B. Niku. Introduction to Robotics Analysis, Systems, Application. United State of Amerika, 2001, p. 4. 1. R2D2 dan C-3PO : Robot cerdas, dapat berbicara dan mempunyai kepribadian di film star wars. 2. AIBO dari SONY : Robot anjing yang dapat berinteraksi dengan manusia. 3. ASIMO dari HONDA : Robot yang dapat berjalan dengan dua kaki seperti manusia. 4. Robot industri : Mesin-mesin otomatis yang ada di industri. 5. NASA’S Mars Rovers : Kendaraan penjelajah Mars. 6. Roboowner : Robot pemotong padi dalam Friendly robotic. 7. Mindstorm : LEGO’S Popular robotics kit Semua contoh di atas disebut robot, paling tidak bagi sebagian orang, pembuat robot lebih mendefinisikan robot sebagai sesuatu yang mempunyai reprogrammable brain (sebuah chip) yang dapat menggerakkan tubuh. Dengan demikian, robot menjadi berbeda dengan mesin bergerak yang lain seperti mobil, karena adanya elemen komputer tersebut. Banyak juga mobil yang mempunyai on-board komputer, tapi semua sistem on-board komputer yang sudah diaplikasikan pada alat-alat sehari-hari hanya digunakan untuk membuat adjustmen kecil, seseorang mengontrol sebagian besar mobil dengan berbagai alat mekanik, Robot berbeda juga dengan komputer yang biasa digunakan, karena komputer tidak punya tubuh yang dapat digerakkan. Kebanyakan robot mempunyai beberapa sifat yang umum, pertama hampir semuanya mempunyai tubuh yang dapat digerakkan, beberapa hanya mempunyai roda yang dapat berputar, sebagian yang lain mempunyai banyak bagian yang bisa bergerak. Umumnya terbuat dari metal atau plastik, seperti tulang pada tubuh manusia, tiap segmen pada robot juga dihubungkan dengan penghubung. Roda dan poros/ As menghubungkan tiap segmen dengan actuator, beberapa robot menggunakan motor listrik dan selenoid sebagai actuator/penggerak, beberapa menggunakan sistem hidrolik, dan ada juga yang menggunakan sistem pneumatik (sistem yang digerakkan dengan Gas bertekanan), robot-robot dahulu banyak yang menggunakan sistem pneumatik, sehingga sebagian besar berisi katup-katup dan PLC ( Programable Logic Control ), serta sebuah mini komputer. Sebagian besar kerusakan yang terjadi adalah pada PLC. Robot memerlukan power supply untuk menggerakkan actuator tersebut, kebanyakan robot mempunyai baterai menggunakan sambungan listrik langsung dari PLN. Robot hidrolik juga memerlukan pompa untuk membuat tekanan pada cairan hidrolik dan pneumatik. Robot juga memerlukan kompresor udara dan tangki kompresor udara. Aktuator dihubungkan seluruhnya dengan rangkaian elektronik, yang akan langsung menggerakkan motor listrik dan selenoid dan mengaktifkan sistem hidrolik dengan memanipulasi katup listrik. Katup memutus dan menyambungkan cairan bertekanan menuju mesin, untuk menggerakkan lengan hidrolik misalnya, kontroler robot akan membuka katup yang menuju pompa cairan ke silinder piston yang akan menggerakkan lengan kedepan, jadi untuk menggerakkan lengan kedua arah, robot harus menggunakan piston yang dapat menekan ke dua arah. Komputer pada robot mengontrol semua rangkaian yang ada, untuk mengerakkan robot, komputer akan mengirim sinyal-sinyal ke sakelar pada motor dan katup yang dituju. Kebanyakan robot adalah reprogrammable, untuk dapat merubah perilaku robot, sehingga programmer (orang yang membuat program ) dapat dengan mudah menulis program baru pada komputer robot tersebut. Tidak semua robot mempunyai sistem sensor, beberapa mempunyai kemampuan melihat, mendengar mencium atau merasakan, sensor yang biasa digunakan adalah sensor untuk bergerak, memungkinkan robot untuk memonitor pergerakannya sendiri. B. Rangkaian Sensor 1.. LED (Light Emitting Diode) Superbright Pada dioda penyearah, energi yang timbul akibat elektron jatuh dari pita konduksi ke pita valensi dikeluarkan sebagai panas. Tetapi, pada LED SuperBright, energi dipancarkan sebagai cahaya. Pada gambar 2.1 dapat dilihat mekanisme dan bentuk led superbright. Gambar 2.1. Mekanisme dan bentuk LED superbright Dengan menggunakan unsur-unsur seperti Galium, Arsen, dan Phosfor, pabrik dapat membuat LED yang memancarkan warna merah, kuning, dan infra merah (tak terlihat)2. LED yang menghasilkan pancaran yang terlihat dapat berguna pada display peralatan, mesin hitung dan jam digital. Selain warna LED yang telah disebutkan, adapun warna lain seperti hijau, hijau superbright, putih 2 Malvino Hanapi Gunawan, Prinsip-prinsip Elektronika, Jakarta : Erlangga, 1981, hlm.47. super-bright, biru super-bright, merah super-bright. Pada masing- masing LED membutuhkan sumber tegangan DC sebesar 1V- 3V. 2. Photo Dioda Photodioda adalah sejenis dengan dioda pada umumnya, perbedaan pokok pada photodioda dengan dioda atau LED pada umumnya adalah dipasangnya sebuah lensa pemfokus sinar. Lensa tersebut berfungsi untuk memfokuskan sinar jatuh. Prinsip kerja dari photodioda adalah sebuah dioda diberi reverse bias. Makin kuat cahaya, makin banyak jumlah pembawa yang dihasilkan pembawa dan makin besar arus reverse, besarnya arus reverse tergantung suhu dan intensitas cahaya yang jatuh pada deplection layer. Karenanya photo dioda merupakan detektor cahaya yang baik.3 Prinsip kerja dari photodioda adalah sebuah dioda diberi reverse bias, maka akan mengalir arus yang kecil sekali yang disebut arus reverse melalui dioda tersebut, besarnya arus reverse tergantung suhu dan intensitas cahaya yang jatuh pada deplection layer. Pada rangkaian konduktivitas dioda ditentukan langsung oleh cahaya yang jatuh padanya yang dikirim oleh Super bright. Nilai resistansi photodioda akan naik bila cahaya tidak mengenai permukaannya dan nilai resistansi akan turun apabila permukaannya dikenai cahaya. Pada sebuah rangkaian sensor, photodioda berfungsi sebagai pentriger pada jalan masuk inverting dan juga dihubungkan seri dengan resistor R=100 KΩ, dimana kedua komponen yaitu antara photodioda dan resistor 100 KΩ saling bekerja sama. Photodioda dan resistor tersebut menetukan besarnya arus dan tegangan pada jalur input inverting dan non inverting IC LM324. 3 Malvino Hanapi Gunawan, Prinsip-prinsip Elektronika, Jakarta : Erlangga, 1981, hlm.48. 3. IC( Intergrated Circuit) LM 324 LM 324 suatu IC Opperational Amplifier, dengan empat input (inverting dan not-inverting). IC LM 324 berfungsi sebagai comparator atau pembanding. Jadi Pembanding tegangan akan membandingkan tegangan sebuah masukan dengan tegangan masukan lainnya. Dalam konfigurasi yang paling sederhana, modus lup terbuka akan mengayunkan op-amp ke dalam saturasi. Arah saturasi keluaran ditentukan oleh polaritas sinyal masukan. Bila tegangan masukan membalik lebih positif dibandingkan tegangan masukan tak membalik, keluaran berayun menuju saturasi negatif (-Vsat). Sebaliknya, bila tegangan masukan membalik lebih negatif dibandingkan tegangan masukan masukan tak membalik, keluaran akan berayun menuju saturasi positif (+Vsat). Konfigurasi IC LM324 dapat dilihat pada gambar 2.2. Gambar 2.2. Konfigurasi Pin IC IC LM3244 4. Saklar Pembatas (Limit Switch) Limit switch atau saklar pembatas adalah komponen elektronika yang dioperasikan secara mekanis artinya limit switch dikontrol oleh faktor gerak, misalnya tekanan. Saklar limit switch umumnya dirancang untuk beroperasi apabila batasnya sudah dapat dicapai, maka saklar tersebut akan aktif. Pemakaian limit switch sangat luas dalam kehidupan manusia. Hampir seluruh peralatan elektronika yang digunakan sehari-hari memakai switch sebagai 4 Datasheet IC LM324, Low Power Quad Operational Amplifier, hlm. 1. salah satu komponennya. Salah satu pengaplikasiannya adalah untuk pembatas pergerakan suatu motor listrik. Limit switch memiliki ciri antara lain intensitas mekanik yang cukup tinggi serta tahan terhadap debu, oli dan air. Bentuk dari limit switch terlihat dari gambar 2.3 di bawah ini. Gambar 2.3. Limit Switch C. Driver Motor IC L 293D IC L293D digunakan sebagai penggerak menggantikan fungsi dari relay, IC L293D dapat digunakan pada arah bidirectional, outputnya dapat digunakan untuk motor DC, motor Stepper, solenoid, dan cocok digunakan pada beban yang membutuhkan arus dan tegangan yang tinggi.maksimum arusnya 600ma, dan tegangan 4,5 V – 36 V. IC L293D terdiri dari 16 pin dan hadir dalam dua versi, yaitu L293D dan L293, huruf D menunjukkan adanya dioda yang berfungsi untuk mengurangi induksi tegangan, jadi motor yang digunakan jadi lebih aman dan awet. Pada gambar 2.4. dapat dilihat konfigurasi IC L 293 D Gambar 2.4. Pin IC L293D Apabila masukan pada IC L293D high maka keluarannya pun kan high, begitu juga sebaliknya, apabila masukannya low maka outputnya akan low, dengan syarat input enable harus diberi logika high. IC L293D terdiri dari 4 masukan dan 4 keluaran, dimana keluarannya dapat digunakan untuk dua buah motor yang bekerja dua arah, berikut table 2.1.adalah tabel kebenaran IC L239D dan gambar 2.5. adalah aplikasi yang bisa digunakan pada IC L293D. Tabel 2.1. Tabel kebenaran IC L293D Input Enable Output H H H L H L H L Z L L Z H = high-level, L = low level, X = irrelevant, Z = high-impedance Gambar 2.5 Aplikasi IC L293 D5 D. Beban yang Dikendalikan Motor DC adalah sebuah mesin listrik yang berfungsi mengubah tenaga listrik DC menjadi tenaga mekanik (gerak). Tenaga gerak tersebut berupa putaran motor. Pada gambar 2.6.a. dapat dilihat kontruksi motor dan gambar 2.6.b.adalah bentuk fisik motor. Gambar 2.6.a. Kontruksi motor Gambar 2.6.b. Bentuk fisik motor 1. Prinsip Kerja Motor DC Prinsip dasar dari motor arus searah (motor DC) adalah jika sebuah kawat berarus diletakkan antara kutub magnet utara dan selatan, maka pada kawat akan bekerja suatu gaya gerak listrik yang akan menggerakkan kawat. 2. Membalik Arah Putaran Motor DC Untuk membalik arah putaran DC dapat dilakukan dengan membalik arah arus jangkar. Misalkan mula-mula arah putaran ke kanan, untuk mengubah arah 5 Datasheet IC L293D, Push-pull Four Channel Driver With Diodes, hlm. 1. putaran ke kiri dilakukan dengan membalik arah arus jangkar, atau pada prinsipnya sama dengan membalik polaritas motor pada klemnya. 3. Konstruksi Motor DC Motor arus searah secara garis besar memiliki dua bagian yaitu : a) Stator, merupakan bagian motor arus searah yang tidak bergerak atau diam yang meliputi : 1) Badan Motor Fungsi utama dari badan motor adalah sebagai bagian dari tempat mengalirnya flux magnet yang dihasilkan kutub-kutub magnet. Disamping itu badan magnet berfungsi untuk meletakan alat-alat tertentu dan melindungi bagian-bagian mesin lainnya. Pada badan motor terdapat terminal box yang merupakan tempat ujung-ujung lilitan penguat megnet dan lilitan jangkar. 2) Inti Kutub Magnet Setiap motor mempunyai inti kutub magnet yang berfungsi menghasilkan medan magnet. 3) Sikat Fungsi dari sikat adalah jembatan bagi aliran arus dari lilitan jangkar dengan sumber tegangan. Agar gesekan antara komutator-komutator dan sikat tidak menyebabkan ausnya komutator, maka sikat dibuat lebih lunak. b) Rotor, bagian dari motor arus searah yang berputar, terdiri dari: 1) Jangkar Jangkar berbentuk silinder yang diberi alur-alur pada pemukaanya, untuk melilitkan kumparan-kumparan tempat terbentuknya ggl induksi. 2) Lilitan Jangkar Merupakan bagian yang penting pada motor arus searah karena merupakan tempat timbulnya torsi. Kumparan biasanya terdiri dari beberapa lilitan, yang dihubungkan satu sama lain membentuk belitan. 3) Komutator Komutator berfungsi sebagai penyearah mekanik, terbuat dari bahan campuran tembaga dan diantara komutator-komutator terdapat bahan isolator. Komutator juga berfungsi untuk mengumpulkan ggl induksi yang terbentuk pada sisi kumparan. E. Rangkaian Pengendali Mikrokontroler sering disebut juga single chip computer atau suatu keping IC dimana terdapat mikroprosesor dan memori program (ROM) serta memori serba guna (RAM), Input-Output, dan fasilitas pendukung lainnya. Penggunaan mikrokontroler dalam bidang kontrol sangat luas dan populer. Mikrokontroler AVR (Alf and Vegard’s Risc prosesor) memiliki arsitektur RISC 8 bit, di mana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock.6 Dalam perkembangan mikrokontroler, sudah banyak produk mikrokontroler yang telah diproduksi oleh berbagai perusahaan pembuat IC (Integrated Circuit). Dalam tugas akhir, jenis mikrokontroler yang di gunakan adalah AVR Atmega 8535 produksi Atmel. 6 Lingga Wardhana, Belajar Sendiri Mikrokontroler AVR Seri ATMega8535 Simulasi,Hardware,dan Simulasi, (Yogyakarta: Penerbit ANDI, 2007), hlm. 1. 1. AVR ATMega 8535 Gambar 2.7. Bentuk AVR ATMega 8535 Pada gambar 2.7. dapat dilihat bentuk AVR ATMega 8535. Selain mudah didapatkan dan lebih murah ATMega8535 juga memiliki fasilitas yang lengkap. Untuk tipe AVR ada 4 kelas yaitu keluarga AT Tiny, keluarga AT90Sxx, keluarga ATMega, dan AT86RFxx. Namun yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya.7 Mikrokontroler ATMega8535 memiliki teknologi RISC dengan kecepatan maksimal 16 MHz membuat ATMega8535 lebih cepat bila dibandingkan dengan varian MCS51. Dengan fasilitas yang lengkap tersebut menjadikan ATMega 8535 sebagai mikrokontroler yang powerfull. Adapun konfigurasi pin ATMega 8535 dapat dilihat pada gambar 2.8. 7 Lingga Wardhana, Belajar Sendiri Mikrokontroler AVR Seri ATMega8535 Simulasi,Hardware,dan Simulasi, (Yogyakarta: Penerbit ANDI, 2007), hlm. 1. Gambar 2.8. Konfigurasi Pin AVR ATmega 8535 2. Arsitektur AVR ATMega 8535 Gambar 2.9. Diagram blok AVR ATMega 8535 Dari gambar 2.9. dapat dilihat bahwa ATMega 8535 sudah terdiri dari : 1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. 2. ADC ( Analog to Digital Converter )10 bit sebanyak 8 saluran. 3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register. 5. Watchdog Timer dengan osilator internal. 6. SRAM (Statis Random Acces Memory ) 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 512 byte yang dapat diprogram saat operasi. 11. Antarmuka komparator analog. 12. Port USART untuk komunikasi serial. 3. Fitur AVR ATMega 8535 Fasilitas detail dari ATMega8535 adalah sebagai berikut: 1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16Mhz. 2. Fasilitas memory flash 8KB,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. 4. Konfigurasi Pin AVR ATMega 8535 Konfigurasi pin ATMega8535 bisa dilihat pada gambar 2. Dari gambar 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 Timer/Counter,komparator analog,dan SPI. 5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI,komparator analog dan Timer Oscillator. 6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog,interupsi eksternal,dan komunikasi serial. 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clock ekstenal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREF merupakan pin masukan tegangan referensi ADC. 5. Peta Memori AVR ATMega 8535 AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi tiga bagian, yaitu 32 register umum, 64 buah register I/O, dan 512 byte SRAM Internal.8 Register keperluan umum menempati ruang data pada alamat terbawah, yaitu $00 sampai $1F. 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 Tabel 1. Alamat memori berikutnya digunakan 8 Lingga Wardhana, Belajar Sendiri Mikrokontroler AVR Seri ATMega8535 Simulasi,Hardware,dan Simulasi, (Yogyakarta: Penerbit ANDI, 2007), hlm. 4. untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F. Konfigurasi memori data ditunjukkan pada gambar 2.10. Gambar 2.10. Konfigurasi Memori Data AVR ATMega 8535 Memori program yang terletak dalam Flash PEROM tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16 bit atau 32 bit9. AVR ATMega 8535 memiliki 4KByte X 16 bit Flash PEROM dengan alamat mulai dari $000 sampai $FFF. AVR ATMega 8535 memiliki 12 bit Program Counter (PC) sehingga mampu mengalamati isi Flash. Berikut gambar 2.11. adalah gambar memori program AVR ATMega 8535 Gambar 2.11. Memori Program AVR ATMega 8535 9 Ibid., hlm. 5. 6. Pemrograman AVR Untuk memrogram AVR diperlukan sebuah rangkaian yang dinamakan sistem minimum (sismin). Pada gambar 2.12. dapat dilihat rangkaian sistem minimum yang terdiri dari beberapa komponen sederhana. Tanpa rangkaian sistem minimum maka proses pen-download-an program tidak akan bisa dilakukan. Kemudian yang kita butuhkan untuk proses pemrograman adalah software Codevision AVR dan bahasa pemrograman yang digunakan adalah bahasa C. Pada tool codevision AVR ini bisa ditentukan port-port dari mikrokontroller AVR yang berfungsi sebagai input maupun output, serta bisa juga ditentukan tentang penggunaan fungsi-fungsi internal dari AVR. Gambar 2.12. Contoh rangkaian sistem minimum AVR ATMega 8535 Untuk memprogram mikrokontroler dapat menggunakan bahasa assembler atau bahasa tingkat tinggi yaitu bahasa C. Bahasa yang digunakan memiliki keunggulan tersendiri, untuk bahasa assembler dapat diminimalisasi penggunaan memori program sedangkan dengan bahasa C menawarkan kecepatan dan kemudahan dalam pembuatan program. Untuk bahasa assembler dapat ditulis dengan menggunakan text editor setelah itu dapat dikompilasi dengan tool tertentu misalnya asm51 untuk MCS51 dan AVR Studio untuk AVR.