Categories
Mikrokontroler

Membuat Aplikasi Mikrokontroler AVR/AT89: Khusus Pemula!

versi 1.2 (14 Desember 2009)

Banyak komentar,pertanyaan dan saran masuk melalui SMS, email, omong langsung agar saya membuat sebuah tulisan atau artikel tentang bagaimana cara membuat aplikasi mikrokontroler AVR maupun AT89 dari nol. Okey dech, kali ini saya berikan jawabannya…

Baiklah, untuk memudahkan saya menjelaskan dari ‘nol’, ada baiknya Anda perhatikan dulu diagram alir pada Gambar 1 (jika kurang jelas, silahkan di-klik aja yach)…

Gambar 1

Nach, berdasar diagram alir tersebut, semuanya berawal dari MASALAH, atau bisa juga Anda sebut PROYEK, KASUS atau apa saja yang Anda suka selama artinya adalah sesuatu yang ingin dicari, dibuat solusinya. Lebih tepatnya, pada tahap awal yang perlu dilakukan adalah IDENTIFIKASI MASALAH, persis atau detilnya bagaimana, misalnya…

Categories
Mikrokontroler

Mengenal System Clock pada Mikrokontroler AVR

Tulisan ini sengaja saya buat karena beberapa waktu yang lalu dua mikrokontroler saya (semuanya ATMega32, masing-masing dalam kemasan SMD dan PDIP) menjadi korban ketidak-tahuan saya tentang otak-atik System Clock atau FUSE bit pada mikrokontroler AVR.

Perlu diketahui bahwa setiap mikrokontroler AVR memiliki fasilitas untuk memilih sumber clock atau detak dengan banyak alternatif pilihan. Berbeda dengan keluarga AT89, keluarga AVR memberikan opsi pilihan sumber clock untuk flkesibilitas penggunaan, bukan untuk menyulitkan penggunaan. Jika siapapun Anda yang saat ini sedang terlibat dengan aplikasi-aplikasi mikrokontroler AVR dan tidak pernah peduli dengan system clock, atau dengan kata lain tidak pernah otak-atik FUSE bit, dipastikan kristal yang Anda pasang berapapun aja nilainya tidak ada gunanya sama sekali! Loch kok bisa? Ya karena default dari pabriknya (http://www.atmel.com) adalah sesuai dengan paragraf yang mereka tulis di datasheet-nya:

The device is shipped with CKSEL = “0001” and SUT = “10”. The default clock source setting is therefore the 1 MHz Internal RC Oscillator with longest startup time. This default setting ensures that all users can make their desired clock source setting using an In-System or Parallel Programmer.

Okey? Sudah jelas? Hanya 1 MHz internal saja clock-nya, kalau gak percaya silahkan cabut saja kristal Anda dan biarkan mikrokontroler AVR Anda bekerja dengan baik tanpa kristal (beberapa teman yang saya sarankan hal tersebut sempat kaget juga). Jadi sudah capek-capek ngitung reload, timer dan lain sebagainya ternyata hanya bekerja di 1 MHz saja secara internal. So, bagaimana caranya agar bisa menggunakan kristal eksternal atau internal yang lebih besar dari 1 MHz?

Categories
Mikrokontroler

Mengenal Mikrokontroler Samsung S3C2440A

Sudah saatnya kita mulai melirik penggunaan mikroprosesor atau mikrokontroler berbasis prosesor ARM yang sudah banyak dipakai di pasaran dalam bentuk piranti-piranti genggam seperti PDA, Smartphone (iPhone, Nokia E-series) dan juga aplikasi-aplikasi lain yang membutuhkan mikrokontroler dengan unjuk kerja tinggi, berdaya rendah (low powe) serta dalam kemasan yang kecil ringkas.

Samsung S3C2440A dikembangkan menggunakan inti (core) ARM920T, sel dan memori standar CMOS 0,13um. Memiliki konsumsi daya rendah, rancangan yang sederhana, elegan dan statik penuh cocok untuk aplikasi-aplikasi yang sensitif terhadap biaya dan daya (cost- and power-sensitive applications). Selain itu, S3C2440A mengadopsi arsitektur bus yang baru yaitu Advanced Micro controller Bus Architecture atau AMBA.

Mini2440 menggunakan ARM920T
Mini2440 menggunakan ARM920T
Categories
Mikrokontroler

Peredupan LED RGB menggunakan ATMega8

Deskripsi

LED RGB adalah LED yang berisikan tiga warna LED yang terintegrasi menjadi satu lampu LED. LED RGB mengandung warna RED (merah), GREEN (hijau), dan BLUE (biru). Dengan tiga warna ini, Anda bisa membuat berbagai macam kombinasi warna. Jika menggunakan PWM 8-bit, maka 256 x 256 x 256 macam kombinasi bisa kita buat, artinya LED RGB bisa memberikan sekitar 16,777 juta warna dan 256 kecerahan yang berbeda. Jika ketiga LED dalam kondisi kecerahan penuh, maka akan terbentuk cahaya putih, demikian juga jika semua mati akan menghasilkan cahaya hitam dalam kegelapan, he he he bercanda…

redup LED RGB

LED RGB yang digunakan disini memiliki 4 kaki, masing-masing untuk warna R, G dan B dan satu lagi untuk GND atau katoda. LED merah bekerja dengan tegangan 2V, sedangkan biru dan hijau masing-masing 3,5V. Masing-masing LED membutuhkan arus sekitar 20mA, dengan demikian konsumsi total arusnya sekitar 60mA.

rangkaian LED RGB
rangkaian LED RGB
Categories
Mikrokontroler

Tampilan Scrolling pada Dot Matrix

Deskripsi

Aplikasi yang kita bahas kali ini adalah tampilan Dot Matrix Scrolling. Sebuah tampilan dot matriks terdiri dari 5×7 LED dengan susunan 5 kolom dan 7 baris. Tampilan dikendalikan menggunakan mikrokontroler AVR (ada beberapa versi yang disediakan: ATMega8, ATMega16 dan ATTiny2313). Baris dihubungkan ke PORTB pada mikrokontroler, sedangkan kolom dihubungkan ke PORTD, sehingga nantinya akan terbentuk karakter yang diinginkan.

Categories
Mikrokontroler

Tutorial AT89: RTC DS1307 (64 x 8 Serial Real-Time Clock)

RTC yang kita bahas kali ini adalah RTC dengan antarmuka I2C, yaitu DS1307. Artikel yang membahas RTC lain secara lengkap, DS12C887, yang menggunakan antarmuka paralel dan penggunaan bahasa assembly, bisa Anda baca mulai dari Pendahuluan, Register Data/Kontrol, dan Contoh Aplikasi.

Okey… sekarang kita lihat dulu fitur dari DS1307:

  • Real-time clock (RTC) meyimpan data-data detik, menit, jam, tanggal, bulan, hari dalam seminggu, dan tahun valid hingga 2100;
  • 56-byte, battery-backed, RAM nonvolatile (NV) RAM untuk penyimpanan;
  • Antarmuka serial Two-wire (I2C)
  • Sinyal luaran gelombang-kotak terprogram (Programmable squarewave);
  • Deteksi otomatis kegagalan-daya (power-fail) dan rangkaian switch;
  • Konsumsi daya kurang dari 500nA menggunakn mode baterei cadangan dengan operasional osilator;
  • Tersedia fitur industri dengan ketahana suhu: -40°C hingga +85°C
  • Tersedia dalam kemasa 8-pin DIP atau SOIC

Sedangkan daftar pin DS1307:

  • VCC – Primary Power Supply
  • X1, X2 – 32.768kHz Crystal Connection
  • VBAT – +3V Battery Input
  • GND – Ground
  • SDA – Serial Data
  • SCL – Serial Clock
  • SQW/OUT – Square Wave/Output Driver
Categories
FPGA Mikrokontroler

FPSLIC™ (AVR with FPGA)

Atmel’s AT94K and AT94S family of Field Programmable System Level Integrated Circuits (FPSLIC devices) combine all the basic system building blocks (logic, memory and uC) in an SRAM-based monolithic field programmable device. The FPSLIC programmable SLI platform allows true system level designs to be implemented without the need for expensive NRE (non-recurring engineering) charges or costly software tools. FPSLIC for the first time puts system level integration on every designer’s desk.

The FPSLIC Secure (AT94S) family of devices offers security and even higher integration. In addition to the FPGA, AVR and SRAM memory these devices have an on-chip serial configuration memory. The combination of FPSLIC and the serial configuration memory in a single package allows for ISP and remote updates of FPSLIC while hiding programming code for the FPGA and AVR micro.

FPSLIC devices combine 5K to 40K gates of Atmel’s patented AT40K FPGA architecture, a 20 MIPS AVR 8-bit RISC microprocessor core, numerous fixed microcontroller peripherals and up to 36 Kbytes of program and data SRAM.

Categories
Mikrokontroler

Mikrokontroler versus Mikroprosesor

Sebuah mikrokontroler berbeda dengan sebuah mikroprosesor dalam beberapa hal. Pertama dan yang terpenting adalah fungsionalitasnya. Agar mikroprosesor dapat bekerja, masih dibutuhkan komponen lain seperti memori. Walaupun mikroprosesor dianggap sebagai piranti canggih untuk komputasi, titik kelemahannya ada pada tidak dirancangnya kemampuan komunikasi (antarmuka) dengan piranti-piranti periferal (memori, I/O da lain sebagainya) secara khusus.

Gampangnya, untuk melakukan komunikasi dengan piranti periferal, mikroprosesor membutuhkan rangkaian khusus eksternal. Intinya, mikroprosesor hanya sebagai otak-nya komputer (seperti otak dalam kepala kita, kepala, tangan, kaki merupakan hal yang lain). Ini awalnya dan hingga sampai sekarang ini, tetap seperti itu…

Gambar Mikrokontroler versus Mikroprosesor

Mikrokontroler dirancang sebagai satu kesatuan utuh gambar tersebut. Tidak memerlukan komponen-komponen eksternal seperti ditunjukkan dalam gabar untuk perancangan aplikasi, dengan demikian waktu dan biaya bisa dihemat…

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan). Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

Ingin belajar mikrokontroler? Mengapa tidak baca saja buku saya “Belajar Mikrokontroler AT89C51/52/55: Teori dan Aplikasi Edisi 2“, Terbitan CV. Gava Media – Best Seller! (informasi lebih lanjut)

Semoga bermanfaat!