versi 3.0 (update 21 Januari 2017)
Langsung aja! Untuk memulai belajar Mikrokontroler (khususnya seri AT89 dari Atmel), Anda bisa mempelajari beberapa artikel yang sudah saya tulis di website saya ini. Jika ingin cepat, mudah dan murah silahkan baca buku saya (Belajar Mikrokontroler AT89C51/52/55: Teori dan Aplikasi terbitan CV. Gava Media, klik disini untuk informasi lebih lanjut), atau ikuti pelatihan private-nya (informasi).
Okey, sekarang kita lihat rangkuman beberapa artikel yang bisa Anda gunakan untuk memulai belajar Mikrokontroler (ada beberapa yang bisa Anda unduh ebooknya gratis!)
Pengetahuan Umum (dasar) Mikrokontroler
- Jika kita bicara tentang Mikrokontroler, maka tidak terlepas dengan pengertian atau definisi tentang Komputer itu sendiri, mengapa? Ikuti selengkapnya di artikel “Apakah Mikrokontroler itu?” (klik).
- Tahukah Anda bahwa Belajar Mikrokontroler itu (sangat) mudah? Ikuti penjelasannya disini.
- Keluarga Mikrokontroler AVR merupakan mikrokontroler dengan arsitektur modern (emang selama ini ada yang kuno kali??). Terdapat 3 macam atau jenis mikrokontroler AVR. Mau tahu kelanjutan ceritanya? Langsung baca saja artikel “Pengetahuan Dasar Mikrokontroler AVR” (klik).
- Mikrokontroler yang beredar saat ini dibedakan menjadi dua macam, berdasarkan arsitekturnya: RISC dan CISC. Untuk mendapatkan informasi lebih lanjut tentang kedua macam mikrokontroler ini, silahkan baca artikel “Mikrokontroler CISC vs RISC“.
- Mikrokontroler Atmel AT89 merupakan produk populer di Indonesia, murah-meriah, mengapa? Baca saja artikelnya..
- Cara sederhana untuk melihat kelebihan dan kelemahan dari arsitektur RISC (Reduced Instruction Set Computers) adalah dengan langsung membandingkannya dengan arsitektur pendahulunya yaitu CISC (Complex Instruction Set Computers). Lanjutkan membaca artikel RISC vs. CISC.
- 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… (lanjutkan membaca Mikrokontroler versus Mikroprosesor).
- Anda sudah tahu sendiri, begitu banyak macam mikrokontroler yang dijual di pasaran, begitu juga berbagai program yang dirancang untuk mikrokontroler-mikrokonrtoler tersebut, mereka punya kesamaan. Artinya, jika Anda belajar salah satu saja dari mikrokontroler-mikrokontroler itu dengan baik, Anda juga bisa memahami yang lainnya bahkan semuanya. Skenarionya sama… (lanjutkan membaca Bagaimana mikrokontroler bekerja?).
- Semua mikrokontroler menggunakan satu diantara dua model rancangan yang dinamakan arsitektur Harvard dan von-Neumann. Berikut secara singkat, perbedaan keduanya dilihat dari pertukaran data antara CPU dan memori… (lanjutkan membaca Mikrokontroler: Arsitektur Von-Neumann vs. Harvard).
- Mikrokontroler AT89S8253 dilengkapi dengan memori EEPROM sebesar 2 Kb (lumayan nich) yang bisa Anda gunakan untuk menyimpan data-data penting walaupun catu daya ke mikrokontroler dimatikan, Atmel memberikan garansi kepada Anda sekitar 100.000 kali penulisan data. Mudah digunakan karena hanya melibatkan beberapa bit kontrol… (lanjutkan membaca Penanganan Memori EEPROM (uC AT89S8253)).
- Pembuatan program mikrokontroler dalam bahasa tingkat-tinggi (high-level language, disingkat HLL), misalnya bahasa ‘C’ atau ‘BASIC’, memungkinkan kita mengurangi waktu pengembangan secara signifikan jika dibandingkan dengan Bahasa Assembly. Ada juga yang mengatakan, seorang perancang yang sudah beperngalaman bisa menuliskan sejumlah baris kode-kode yang sama per hari baik dalam C dan Assembly. Namun perlu diingat bahwa, sebaris kode dalam C sama dengan sejumlah kode atau baris dalam Assembly… (lanjutkan ke Pemrograman Mikrokontroler dalam Bahasa Tingkat-Tinggi).
- Assembly language has typically been the programming language of choice for embedded system programmers. Looking into the 8-bit microcontroller offerings from different vendors, one finds that these microcontrollers can be programmed using the high-level C programming language as well as assembly… continue reading at Migrating from Assembly to C for 8-bit Microcontrollers.
- Pada mikrokontroler Atmel keluarga AT89C (obsollete) atau AT89S,Port 0 tidak memiliki pullup internal. Pullup FET yang berada di dalam penggerak luaran P0 digunakan hanya pada saat port mengirimkan logika ‘1′ selama pengaksesan memori eksternal. Selain dari itu, pullupFET akan selalu mati. Konsekuensinya, jalur-jalur P0 yang digunakan sebagai jalur luaran merupakan saluran terbuka (open drain). Penulisan ‘1′ ke bit pengancing membuat kedua FET keluaran menjadi mati, dengan demikian kondisi kaki-kakinya menjadi mengambang (float). Dalam kondisi seperti ini, pin dapat digunakan sebagai masukan berimpedansi tinggi… lanjutkan membaca di Tutorial Mikrokontroler AT89: Masukan dan Luaran (I/O).
- 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…. continue reading at FPSLIC™ (AVR with FPGA).
- Pernahkah Anda bayangkan menghubungkan antara satu HP dengan HP lain baik dari merek atau tipe yang sama atau berbeda sama sekali? Bukan melalui bluetooth? Atau ingin mencetak foto dari HP langsung ke printer tanpa melalui PC atau bleutooth? Atau antara kamera digital dengan printer digital? Ikuti kisah di artikel USB On-The-Go: Pendahuluan.
- 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. Silahkan mempelajari artikel Mengenal Mikrokontroler Samsung S3C2440.
- Untuk mengenal lebih lanjut mikrokontroler S3C2440 silahkan membaca ulasan Pengalaman Pertama pake Mini2440 (Jlid-1, Jilid-2 dan Jilid-3).
Perangkat Keras dan Lunak Belajar/Downloader Mikrokontroler
- Mengapa menggunakan Bahasa BASIC untuk pemrograman Mikrokontroler AVR? BASIC merupakan bahasa tingkat tinggi, lebih mudah dipelajari dan dipahami dibandingkan dengan bahasa Assembly atau C. Ikuti kisah selengkapnya di Basic Compiler untuk AVR.
- Pemrogram (downloader) Mikrokontroler AVR melalui USB. USBasp merupakan in-circuit programmer untuk mikrokontroler Atmel AVR. Rangkaiannya menggunakan ATMega48 atau ATMega8 dan beberapa komponen pasif lainnya. Programmer atau downloader ini menggunakan sebuah penggerak USB hanya-firmware (firmware-only USB driver), tidak memerlukan pengontrol USB khusus.
- Jika yang dibutuhkan adalah downloader USBasp untuk mikrokontroler AT89 sekaligus juga bisa untuk AVR, silahkan membaca artikel Downloader untuk AT89 dan AVR.
- Perbincangan atau diskusi di seputar downloader USBasp semakin menarik, terutama yang menyoroti masalah AVRDude dan GUI-nya. Dalam artikel ini, saya mengulas 4 (empat) software GUI yaitu: AVRDude Graphical User Interface v1.3, eXtreme Burner AVR, Khazama AVR Programmer dan SinaProg. Baca informasi lebih lanjut di Software untuk downloader berbasis USBasp.
- Jika selama ini Anda penggemar mikrokontroler keluarga MCS51 (termasuk AT89 dan ahli warisnya yang cukup banyak variannya (http://www.atmel.com) atau barangkali penggemar buku “Belajar Mikrokontroler AT89C51/52/55” yang sangat terkenal itu, maka Anda mungkin bertanya-tanya, adakah downloader, selain easy downloader, yang praktis, portabel, tidak memerlukan catu daya tambahan dan kalau perlu ada fasilitas tambahan lainnya, harganya murah dan dijual di Indonesia?? Saat ini jawaban saya ada adalah: ADA dan baru saja di launch dari ADP Production yang kantornya berpusat di Malang, Jawa Timur – Indonesia. Inilah dia Min MCS51/AVR dan min AVR dari ADP.
- Jika Anda membutuhkan sebuah papan pengembang atau development board yang bisa digunakan sekaligus untuk pembelajaran MIkrokontroler AVR mengapa tidak membaca informasi tentang TechnoVision Development Board versi 3 atau AVR Basic Trainer Board versi 2?
Mikrokontroler ARM Cortex M0
- Belajar mikrokontroler dengan basis ARM Cortex M0 bisa menggunakan NUC140VE3CN (Nuvoton, Taiwan) yang sudah ada sarana pembelajaran-nya, yaitu NUC140 Learning Board;
- NUC140: Tentang pengaturan CLOCK dan RESET pada NUC140VE3CN, pada artikel “Reset dan Pengaturan Clock pada NUC140” dijelaskan semuanya;
- NUC140: NuMIcro NUC140 memiliki masukan/luaran atau GPIO sebanyak 80 pin yang fungsi-nya bisa bermacam-macam sesuai dengan konfigurasi-nya. Ke-80 pin ini dikelompokkan menjadi 5 kelompok yaitu GPIOA, GPIOB, GPIOC, GPIOD dan GPIOE. Masing-masing kelompok atau port terdiri dari 16 pin. Masing-masing 80 pin tersebut independen satu dengan yang lainnya dan sekaligus memiliki bit-bit register sendiri-sendiri, yang digunakan untuk mengatur fungsi mode pin dan data yang terkait…. (Klik disini untuk penjelasan GPIO pada NUC140 lebih lanjut);
- NUC140: Serial Peripheral Interface (SPI) adalah sebuah bus antarmuka yang biasanya digunakan untuk mengirimkan data antara mikrokontroler dan periferal seperti shift registers, sensor, dan SD cards. Menggunakan jalur clock dan data terpisah, termasuk jalur pilih atau select untuk piranti yang diajak berkomunikasi… (klik disini untuk penjelasan SPI pada NUC140 secara lengkap);
- NUC140: ADC merupakan kepanjangan dari Analog to Digital Converter, suatu fasilitas atau piranti yang digunakan untuk mengubah besaran-besaran analog menjadi besaran-besaran digital. Perhatikan ilustrasi berikut… Sebagaimana keterangan dalam gambar, berawal dari suatu kebutuhan atau aplikasi, misalnya, diinginkan memantau suhu ruangan (besaran … (klik disini untuk baca lebih lanjut);
- NUC140: Apakah PWM itu? PWM memiliki kepanjangan Pulse Width Modulation; Bisa digunakan untuk pengendalian kecepatan motor DC; Bisa digunakan untuk menentukan posisi/gerakan motor Servo; Bisa digunakan untuk mengatur gelap-terang nyala LED; Bisa digunakan untuk membangkitkan sinyal sinusoidal… (lanjutkan membaca disini);
Studi Kasus Mikrokontroler
- Konsumsi listrik untuk masyarakat yang sudah melebihi produksi listrik yang mampu diberikan PLN menyebabkan masyarakat harus melakukan penghematan listrik sebaik mungkin. Untuk membantu penghematan tersebut, dibuat prototipe alat ukur daya berbasis Mikrokontroler AT89S52 yang mampu menginformasikan beban daya yang terpasang saat itu dan memberikan tanda peringatan jika daya terpasang melebihi 75 Watt. Alat ini bekerja pada tegangan 220 Volt dengan frekuensi jala-jala sekitar 60 Hz. (Lanjutkan di Prototipe Alat Ukur Daya berbasis Mikrokontroler AT89).
- Pewaktu watchdog merupakan piranti pewaktuan perangkat keras yang bisa memicu reset sistem pada saat program utama, karena ada beberapa keasalahan, seperti hang, mengabaikan layanan rutin ke watchdog (biasanya seperti pemberian pulsa secara rutin), atau gampangannya kalo Anda punya anjing atau kucing kemudian lupa memberikan makan, apa yang terjadi? Ya jegog atau ngeong khan?? Dalam hal ini, saat jegog atau ngeong, pewaktu watchdog akan mereset sistem. Intinya, mengembalikan sistem ke awal mula (kondisi normal) karena telah terjadi kesalahan atau hang tadi… (lanjutkan membaca di Watchdog dengan BASCOM-51 atau BASCOM-AVR).
- Untuk menampilkan data-data melalui 7-segmen menggunakan mikrokontroler AT89 bisa dilakukan dalam 2 cara alternatif yang akan saya terangkan berikut ini… (lanjutkan baca artikel Trik Tampilan Seven Segmen – si POLOS vs. si PENERJEMAH).
- Kita tahu port serial masih digunakan hingga saat ini, walaupun beberapa peralatan komputer sudah menghilangkan port ini, namun kita masih bisa membeli (atau pinjem juga boleh, he he he) alat dan/atau perangkat lunak usb2serial, sehingga komunikasi via port serial masih tetap bisa kita lakukan… (lanjutkan membaca artikel Komunikasi serial menggunakan uC AT89).
- Mau akuisisi data sekaligus melakukan pemantauan menggunakan mikrokontroler AT89? Silahkan baca AT89: Sistem Akuisisi Data dan Pemantauan.
- Bagaimana menangani RTC DS12C887?
- Real Time Clock merupakan suatu chip (IC) yang memiliki fungsi sebagai penyimpan waktu dan tanggal. Artikel ini membahas sebuah IC RTC yaitu DS12C887 yang memiliki register yg dapat menyimpan data detik, menit, jam, tanggal, bulan dan tahun. RTC ini memiliki 128 lokasi RAM yang terdiri dari 15 byte untuk data waktu serta kontrol, dan 113 byte sebagai RAM umum… Ada di arikel RTC DS12C887: Pendahuluan.
- DS12C887 mempunyai 14 buah register yang terdiri dari 4 Register Kontrol dan 10 Register Data. Register Data sendiri terpisah menjadi register waktu dan Register Alarm sebagaimana ditunjukkan pada gambar 1. Setelah Register-register Kontrol diinisialisasi, maka data waktu ataupun alarm dapat dibaca atau ditulisi dengan cara mengakses register-register data yang bersangkutan… ada di artikel RTC DS12C887: Register Data & Register Kontrol.
- Untuk memahami bagaimana menggunakan RTC DS12C887, maka artikel yang ke-3 dibahas tentang contoh aplikasi sederhana, menampilkan data detik ke serangkaian 8 LED (mewakili 8-bit) yang terhubung ke P0… ada di artikel RTC DS12C887: Contoh Aplikasi.
- 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… lanjutkan membaca di Tutorial AT89: RTC DS1307 (64 x 8 Serial Real-Time Clock).
- Sebenarnya membuat aplikasi pencacah naik-turun (up-down counter) menggunakan AT89 adalah hal yang aneh dalam dunia elektronika digital. Lho kok? La ya… lha wong tinggal pake rangkaian dengan IC TTL (seri 74LS) saja sudah bisa, kok ini pake programming mikrokontroler segala… Lha kalo untuk belajar pemrograman mikrokontroler gimana? O ya silahkan saja… itu jadi gak aneh lagi… bagaimana? Lanjutkan saja di Up-Down Counter menggunakan uC AT89.
- Mikrokontroler AT89S8253 dilengkapi dengan memori EEPROM sebesar 2 Kb (lumayan nich) yang bisa Anda gunakan untuk menyimpan data-data penting walaupun catu daya ke mikrokontroler dimatikan, Atmel memberikan garansi kepada Anda sekitar 100.000 kali penulisan data. Mudah digunakan karena hanya melibatkan beberapa bit kontrol. Untuk lebih detilnya baca saja artikel Penanganan Memori EEPROM di AT89S8253.
- Pada mikrokontroler Atemal keluarga AT89C (obsollete) atau AT89S, Port 0 tidak memiliki pullup internal. Pullup FET yang berada di dalam penggerak luaran P0 digunakan hanya pada saat port mengirimkan logika ‘1′ selama pengaksesan memori eksternal. Selain dari itu, pullup FET akan selalu mati. Baca terus kelanjutan kisahnya di Tutorial Mikrokontroler AT89: Masukan dan Luaran.
- Dalam proyek Sistem Akuisisi Data menggunakan ATMega8 digunakan komputer untuk GUI dari sistem akuisisi data yang menggunakan bantuan mikrokontroler ATMega8. Mikrokontroler ini sudah memiliki 6 kanal ADC 10-bit didalamnya, untuk versi kemasan DIP. Sedangkan versi kemasan TQFP memiliki 8-kanal, atau Anda bisa menggunakan mikrokontroler Atmel AVR lainnya (ATMega16, ATMega32, dll).
- Jika Anda pernah membuat aplikasi mikrokontroler yang memanfaatkan saklar atau tombol-tekan (pushbutton), tentunya Anda akan menghadapi masalah bouncing (dalam bahasa jawanya mentul-mentul) pada saklar atau tombol tersebut. Artinya, saat Anda menekan tombol tersebut, mikrokontroler mendeteksi adanya penekanan berkali-kali, padahal, sekali lagi, Anda hanya menekan sekali saja! Hal ini bisa dijelaskan dalam artikel Penanganan Bouncing Tombol.
- Beberapa saat yang lalu saya sempat mencoba sebuah kompiler MikroC dari mikroelektronika yang betul-betul hebat, karena hasil kompilasinya yang berupa ASM dan LST bisa saya lihat langsung. Dan kabar baiknya adalah, saya bisa membandingkan antara program C yang saya buat dan hasil kompilasi ASM/LST yang dihasilkan. Sebagai kasus yang sangat unik dan membuat saya ketawa terbahak-bahak, mengapa sampai saya terbahak-bahak? Ikuti saja di artikel C vs Assembly51: Kasus Unik Aritmetika!
- Jika Anda memiliki dan sudah membaca atau mempelajari buku saya (Belajar Mikrokontroler AT89C51/52/55), tentunya Anda masih inget dengan program pertama yang saya tulis dengan tujuan untuk menghidupkan dan mematikan LED secara flip-flop atau bergantian yang terpasang di P1. Bagaimana jika kasus ini ditulis dalam Bahasa C, apa yang terjadi selanjutnya? Silahkan baca artikel C vs Assembly51: Kasus LED Flip-flop.
- Aplikasi Termometer LED Digital ini digunakan untuk menampilkan suhu pada tampilan 3×7-segmen, suhu yang diukur antara -9,5 hingga 99 derajat Celsius dengan kenaikan 0,5 derajat Celcius, atau dari 0 hingga 210 derajat Fahrenheit dengan kenaikan 1,0 derajat. Mengapa menggunakan 7-segmen? Karena bisa dilihat dalam kondisi gelap atau malam hari.
- Tulisan ini (Mengenal System Clock pada Mikrokontroler AVR) 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.
- Bagaimana cara mengakses EEPROM pada AT89S8253 dan/atau ATMega32 menggunakan BASCOM 8051 dan BASCOM AVR, ikuti saja di artikel “Akses EEPROM pada AT89S8253 dan AVR ATMega32“.
- Artikel Animasi LED mikrokontroler ATMega32 dengan Assembly dan C sengaja saya tulis sebagai awal pembelajaran bagaimana membuat sebuah program aplikasi mikrokontroler AVR (khususnya ATMega32 dengan frekuensi kristal 7,3728MHz) untuk membuat animasi LED berjalan dari pin 0 hingga 7.
- Jika pada kesempatan sebelumnya saya bahas tentang animasi LED menggunakan Assembly dan C, maka kali ini kita akan belajar tentang konsep masukan menggunakan pushbutton, dalam dunia aplikasi, masukan digital ini bisa berasal dari berbagai macam sensor. Silahkan membaca kelanjutan dari tutorial ini di artikel Aplikasi Pushbutton Mikrokontroler ATMega32 dengan Assembly.
- Ada pertanyaan masuk ke saya, bagaimana program untuk tampilan ke LCD (misalnya tipe LCD 2×16 karakter) menggunakan CodeVision. Maka pada kesempatan kali ini saya bahas jawaban dari pertanyaan itu. Yang perlu Anda ketahui bahwa CodeVision AVR sudah menyediakan pustaka untuk antarmuka LCD, hanya saja, Anda harus menyesuaikan rangkaian dengan ketentuan yang dimiliki CodeVision… ikuti kelanjutan tutorial ini di artikel CodeVision dan Pustaka LCD: Sebuah contoh sederhana.
- Jika Anda belum pernah atau bahkan belum tahu tentang perangkat lunak kompailer Flowcode AVR, maka ada baiknya mengikuti serial Flowcode AVR berikut ini…
- Membuat Aplikasi Mikrokontroler AVR/AT89: Khusus Pemula! – baca dulu pengantar Flowcode AVR di artikel ini…
- Hasil kompilasi Flowcode AVR 3.0 yang unik?! – mengenal keunikan Flowcode AVR…
- Flowcode AVR 3.0: Aplikasi Masukan/Luaran (I/O) Sederhana – memulai menggunakan Flowcode AVR dengan aplikasi sederhana…
- Flowcode AVR 3.0: Aplikasi dengan LCD 2×16 – bagaimana Flowcode menangani aplikasi tampilan LCD 2×16, silahkan baca artikel ini…