Dasar-Dasar Mikrokontroler
Pada materi kali ini kita akan mempelajari berbagai hal tentang dasar-dasar mikrokontroler. Pembahasan dimulai dari pengertian mikrokontroler serta perbedaannya dengan mikroprosesor, lalu definisi Arduino, kelebihan Arduino dan jenis-jenis Arduino.
Apa perbedaan antara Mikroprosesor dan Mikrokontroler?
Mikroprosesor dan mikrokontroler adalah komponen internal perangkat elektronik. Mikroprosesor adalah unit pemrosesan yang sangat kecil di dalam CPU. Mikroprosesor adalah sirkuit terpadu tunggal pada chip komputer yang melakukan berbagai fungsi aritmatika dan logika pada sinyal digital. Beberapa lusin mikroprosesor bekerja sama di dalam server beperforma tinggi untuk pemrosesan data dan analitik.
Di sisi lain, mikrokontroler adalah unit komputasi dasar di dalam perangkat elektronik pintar, seperti mesin cuci dan termostat. Mikrokontroler adalah komputer yang sangat kecil dengan sistem RAM, ROM, dan I/O sendiri, semuanya tertanam pada satu chip. Mikrokontroler dapat memproses sinyal digital dan merespons input pengguna, tetapi kapasitas komputasinya terbatas.
Apa persamaan antara Mikroprosesor dan Mikrokontroler?
Mikroprosesor dan mikrokontroler adalah chip komputer terpusat yang memberikan kecerdasan pada komputer pribadi dan perangkat elektronik. Keduanya dibuat dengan sirkuit terpadu semikonduktor dan berbagi bagian internal tertentu.
Sirkuit terpadu
Mikroprosesor dan mikrokontroler adalah komponen semikonduktor yang dibuat di atas sirkuit terpadu. Sirkuit terpadu adalah chip persegi atau persegi panjang yang sangat kecil yang berisi ribuan atau bahkan jutaan komponen elektronik. Sirkuit terpadu memungkinkan rekayasawan untuk mengurangi ukuran sirkuit elektronik.
CPU
Baik mikroprosesor maupun mikrokontroler memiliki CPU. CPU adalah bagian terpusat dari chip komputer yang memproses instruksi yang disediakan oleh aplikasi atau firmware. CPU juga memiliki modul unit aritmatika logika (ALU) khusus. ALU menghitung nilai matematika dan mengevaluasi masalah logika berdasarkan instruksi komputer.
Register
Register adalah modul memori yang digunakan CPU untuk diproses. CPU menyimpan instruksi atau data biner untuk sementara sebelum, selama, dan setelah diproses. Baik mikroprosesor maupun mikrokontroler dibuat dengan register internal meskipun mikrokontroler sering memiliki lebih banyak register daripada mikrokontroler
Perbedaan arsitektur: Mikroprosesor vs Mikrokontroler
Meskipun mengambil bentuk chip komputer, mikroprosesor dan mikrokontroler dibuat dengan arsitektur yang berbeda. Mikroprosesor direkayasa dengan arsitektur von Neumann, tempat program dan data berada dalam modul memori yang sama. Sementara itu, mikrokontroler menggunakan arsitektur Harvard, yang memisahkan memori program dari ruang data.
Mikroprosesor memiliki komponen sirkuit yang lebih terpadu daripada mikrokontroler. Perbedaan arsitektur ini memengaruhi pertimbangan desain untuk mikroprosesor dan mikrokontroler dalam komputasi dan aplikasi sistem tertanam.
| Aspek | Mikroprosesor | Mikrokontroler |
|---|---|---|
| Memori | Membutuhkan memori eksternal dan penyimpanan data. | Modul memori on-chip (ROM, RAM). |
| Periferal | Membutuhkan bagian tambahan, terhubung dengan bus eksternal. | Periferal on-chip (timer, port I/O, konverter sinyal). |
| Kapasitas Komputasi | Mampu menangani tugas komputasi yang kompleks. | Terbatas pada logika aplikasi tertentu. |
| Kecepatan Clock | Sangat cepat (rentang GHz). | Cepat, tetapi lebih lambat dari mikroprosesor (kHz–MHz). |
| Penggunaan daya | Penggunaan daya tinggi. Tidak ada mode hemat daya. | Menggunakan daya minimal. Mode hemat daya bawaan. |
| Sistem operasi | Membutuhkan sistem operasi. | Sistem operasi bersifat opsional untuk beberapa mikrokontroler. |
| Konektivitas | Menangani transfer data berkecepatan tinggi. Mendukung USB 3.0 dan Gigabit Ethernet | Mendukung komunikasi kecepatan rendah hingga sedang. Antarmuka Periferal Serial (SPI) dan I²C. Pemancar penerima asinkron universal (UART). |
| Biaya | Mahal karena membutuhkan komponen tambahan. | Lebih murah karena satu sirkuit terpadu menyediakan berbagai fungsi. |
| Kasus penggunaan | Untuk komputasi generik, atau sistem yang membutuhkan kapasitas komputasi yang kuat. | Untuk sistem yang ringkas, bertenaga baterai, atau perangkat pemrosesan logika. |
Mikrokontroler ATmega328P dan Minimum Sistem
Mikrokontroler merupakan sebuah komponen elektronik yang berfungsi sebagai pusat kendali dalam suatu sistem. Salah satu mikrokontroler yang paling banyak digunakan dalam pembelajaran maupun proyek elektronika adalah ATmega328P. Mikrokontroler ini termasuk dalam keluarga AVR 8-bit dan dikenal karena kemudahannya dalam pemrograman serta kestabilannya dalam berbagai aplikasi. ATmega328P digunakan sebagai inti dari board Arduino UNO, sehingga sangat familiar bagi pemula. Di dalam satu chip kecil ini sebenarnya sudah terdapat berbagai komponen penting seperti CPU (otak pemroses), memori, serta pin input dan output. Dengan adanya komponen-komponen tersebut, mikrokontroler mampu membaca data dari sensor, mengolahnya sesuai program, lalu memberikan output berupa aksi seperti menyalakan LED, menggerakkan motor, atau menampilkan data. Secara spesifikasi, ATmega328P bekerja dengan arsitektur 8-bit dan memiliki kecepatan hingga 16 MHz. Memori yang tersedia terdiri dari Flash sebesar 32 KB untuk menyimpan program, SRAM sebesar 2 KB untuk pengolahan data sementara, serta EEPROM sebesar 1 KB untuk penyimpanan data permanen. Selain itu, mikrokontroler ini juga dilengkapi dengan fitur ADC (Analog to Digital Converter) yang memungkinkan pembacaan sinyal analog dari sensor.
Agar mikrokontroler dapat bekerja dengan baik, diperlukan suatu rangkaian dasar yang disebut sebagai minimum sistem. Minimum sistem adalah rangkaian paling sederhana yang harus ada supaya mikrokontroler bisa menjalankan programnya. Tanpa rangkaian ini, ATmega328P tidak akan dapat berfungsi sebagaimana mestinya. Dalam minimum sistem, komponen pertama yang sangat penting adalah catu daya. Mikrokontroler membutuhkan tegangan, biasanya sebesar 5 volt, agar dapat aktif dan bekerja. Selain itu, diperlukan juga kristal oscillator yang berfungsi sebagai penentu kecepatan kerja sistem. Tanpa clock ini, mikrokontroler tidak memiliki “detak” untuk menjalankan instruksi program. Rangkaian reset juga menjadi bagian penting dalam minimum sistem. Dengan adanya tombol reset, pengguna dapat mengulang jalannya program dari awal ketika terjadi kesalahan atau saat ingin memulai ulang sistem. Di samping itu, biasanya ditambahkan kapasitor kecil sebagai penstabil tegangan agar sistem tidak terganggu oleh noise.
Hal lain yang tidak kalah penting adalah proses pemrograman. Untuk memasukkan program ke dalam ATmega328P, diperlukan alat bantu seperti programmer (misalnya USBasp) atau menggunakan Arduino sebagai perantara. Program yang sudah dibuat di komputer akan diunggah ke dalam memori mikrokontroler agar dapat dijalankan. Jika diperhatikan, board Arduino sebenarnya sudah menggabungkan semua komponen minimum sistem tersebut dalam satu papan. Oleh karena itu, Arduino sering digunakan sebagai alat belajar karena lebih praktis. Namun, dalam pembuatan produk nyata, penggunaan minimum sistem ATmega328P lebih disukai karena lebih hemat biaya dan dapat disesuaikan dengan kebutuhan. Dengan memahami ATmega328P dan minimum sistemnya, siswa tidak hanya mampu menggunakan Arduino, tetapi juga mengerti konsep dasar bagaimana sebuah sistem mikrokontroler bekerja dari tingkat paling sederhana hingga aplikasi yang lebih kompleks.
Definisi Arduino
Arduino adalah platform elektronik open-source yang terdiri dari perangkat keras (hardware) berupa mikrokontroler dan perangkat lunak (software) berupa Arduino IDE. Arduino dirancang untuk memudahkan pembuatan proyek berbasis elektronik, baik untuk pemula maupun profesional.
Komponen Utama Arduino:
1. Hardware (Board Arduino UNO)
- Berbasis mikrokontroler (misalnya ATmega328 pada Arduino Uno).
- Memiliki pin digital dan analog untuk membaca sensor.
- Tersedia berbagai jenis board seperti Arduino Uno, Mega, Nano.
2. Software (Arduino IDE)
- Digunakan untuk menulis dan mengunggah kode ke board Arduino.
- Menggunakan bahasa pemrograman berbasis C/C++.
- Mendukung pustaka (library) untuk berbagai sensor dan modul.
Arduino mampu membaca inputan berupa sensor, tombol dan mengolahnya menjadi output seperti mengaktifkan motor, menyalakan LED dan sebagainya.
Kelebihan Arduino
- Mudah digunakan untuk pemula.
- Open-source dengan komunitas besar.
- Banyak library dan contoh proyek siap pakai.
- Cocok untuk IoT, robotika, dan sistem otomatisasi.
Jenis Arduino
Arduino memiliki berbagai jenis papan mikrokontroler yang dirancang untuk kebutuhan yang berbeda-beda. Setiap jenis Arduino memiliki ukuran, jumlah pin, dan kemampuan yang berbeda. Beberapa jenis Arduino digunakan untuk pembelajaran dasar, sedangkan jenis lainnya digunakan untuk proyek yang lebih kompleks seperti robotika, Internet of Things (IoT), dan sistem otomatisasi.
Berikut ini adalah beberapa jenis board Arduino yang umum digunakan:
| Jenis Arduino | Keterangan Singkat |
|---|---|
| Arduino Uno | Board paling populer untuk pemula, cocok untuk belajar dasar mikrokontroler. |
| Arduino Leonardo | Memiliki kemampuan sebagai perangkat USB seperti keyboard atau mouse. |
| Arduino Mega 2560 | Memiliki banyak pin I/O, cocok untuk proyek besar dan kompleks. |
| Arduino LilyPad | Dirancang untuk wearable (pakaian pintar), berbentuk tipis dan fleksibel. |
| Arduino Mega ADK | Dapat terhubung dengan perangkat Android untuk kontrol dan komunikasi. |
| Arduino Fio | Digunakan untuk aplikasi wireless, mendukung modul XBee. |
| Arduino Ethernet | Memiliki port Ethernet untuk koneksi jaringan/internet. |
| Arduino Pro | Board kecil untuk sistem embedded, biasanya tanpa USB onboard. |
| Arduino BT | Dilengkapi modul Bluetooth untuk komunikasi nirkabel. |
| Arduino Nano | Ukuran kecil, cocok untuk proyek mini dan breadboard. |
| Arduino Mini | Versi lebih kecil dari Arduino, hemat ruang dan daya. |
| Arduino Pro Mini | Ukuran sangat kecil, cocok untuk proyek permanen dan hemat biaya. |