JavaScript is disabled or you're using old browser, please turn on your JavaScript or upgrade your browser to see fancy looking.
Posts Tagged ‘AVR’

   

Interfacing antara AVR dengan CMPS03

Well, malam rabu (or kamis ya?) saya bergadang dengan teman CERC lainnya. Dua robot kami belum menggunakan modul kompas, jadi saya terpaksa menemani Memet and friend. Sebelumnya terima kasih untuk teman CERC yang telah mentraktir makan di pasar ikan (egh pancingan untuk menginap?), lumayan juga ternyata upah dari pameran. Sesuai dengan janji saya pada postingan sebelumnya kali ini saya akan membahas penggunaan CMPS03 melalui jalur I2C, mungkin ini bisa juga berguna bagi yang lainnya yang ingin mencoba menggunakan CMPS03 dengan AVR (saya menggunakan AT90s2313), bahasa yang digunakan adalah C (dengan CodeVisionAVR). Untuk module CMPS03 ini terdapat dua cara interfacing, yaitu menggunakan PWM dan menggunakan I2C. Nah saya hanya akan membahas yang I2C. Yang dibutuhkan adalah: AT90s2313 (ini bisa digantikan dengan chip AVR lainnya), CMPS03 (serta 2 resistor 1K s/d 47K untuk pullup, nilai resistornya tidak menjadi masalah) dan LCD 2×16 (serta trimpot atau potensio untuk kontras LCD). Lebih bagus jika ada kompas marinir untuk kalibrasi nantinya. Jika Anda belum mengetahui susunan pin CMPS03, berikut adalah susunan pinnya:

Gambar 1. Susunan pin CMPS03 (sumber: http://www.robot-electronics.co.uk/images/cmps3pin.jpg)

Read the rest of this entry »

PWM dengan Interrupt Timer

Ada beberapa teman (especially me2t) yang masih bingung bagaimana sebenarnya Interrupt Timer dapat digunakan sebagai PWM (Pulse Width Modulation). Sebelum menjelaskan lebih dalam mengenai Timer, saya akan mengulas balik tentang sumber pencacah (clock source) pada uC AVR. Sumber pencacah untuk AVR itu seperti detak jantung yang diperlukan untuk mengeksekusi instruksi. Pengeksekusian instruksi umumnya membutuhkan satu sampai tiga siklus pencacah (clock cycles). Satu siklus adalah transisi low-hi-low _|¯|_. Jadi semakin cepat pencacah berjalan (menghitung), maka semakin cepat uC bekerja. Jadi jelas uC AVR 16 MHz akan lebih cepat dari uC AVR 1 MHz. Tapi perlu diperhatikan, kecepatan pencacah tidak begitu berarti banyak. Satu prosesor dapat membutuhkan 1 siklus pencacah untuk memindahkan data dari satu register ke register lainnya, tapi prosesor lain dapat saja membutuhkan 2 sikus pencacah untuk melakukan hal yang sama. Hal ini berarti bahwa prosesor ke-2 harus memiliki kecepatan 2x lipat prosesor ke-1 untuk melakukan instruksi yang sama dalam waktu yang sama. Kuncinya disini adalah sebuah penilaian kasar yang disebut MIPS (Milion of Instructions Per Second), yang dapat digunakan untuk menilai secara kasar berapa instruksi yang dapat dilakukan uC dalam satu detik pada frekuensi pencacah tertentu. Jika pada lembar data (datasheet) tertulis “Up to 16 MIPS Throughput at 16 MHz”, kita bisa mengasumsikan secara kasar bahwa dengan pencacah 4 MHz, kita bisa mencapai 4 MIPS (4 juta instruksi per detiknya atau sekitar 1/4 uS untuk eksekusi 1 instruksi, CMIIW). Sebenarnya penjelasan untuk pencacah dapat lebih panjang, tapi sisanya saya serahkan kepada pembaca untuk mengubeknya di google dan datasheet terkait :).

Read the rest of this entry »

Menggunakan 6 Ping dengan 2 Microcontroller AVR 8 bit RISC untuk Navigasi Robot (Bagian 0)

Daftar Tulisan Berseri untuk tutorial AVR - PING

  1. Menggunakan 6 Ping dengan 2 Microcontroller AVR 8 bit RISC untuk Navigasi Robot (Bagian 0)

Pendahuluan

Tulisan ini sebenarnya saya tujukan untuk klub robotika tidak resmi di Gunadarma (Dadank, Rum, Anto, Yogi, dkk), mudahan-mudahan niat yang ikhlas untuk belajar bersama dan berbagi ilmu dapat menambah pahala dan membuka minat para mahasiswa Gunadarma lainnya, khususnya jurusan SK, TK dan elektro, untuk menggeluti bidang robotika. Mudah-mudahan tulisan ini dapat juga berguna bagi khalayak ramai :).

Tulisan ini ditujukan untuk pemula yang ingin mengenal microcontroller (uC) AVR RISC serta penggunaan 6 sensor PING (sensor ultrasonic) untuk navigasi robot dengan penerapan metode Fuzzy Logic. Dasar elektronika, microprocessor-microcontroller (uC/uP), dan pengetahuan dalam bahasa pemrograman prosedural (C, Pascal, atau Basic) merupakan nilai tambah untuk dapat mempermudah memahami tulisan ini. Read the rest of this entry »