Apa itu microcontroller, dari mana dia berasal, dan apa yang ada di dalamnya.
Microcontroller (MCU) adalah komputer lengkap yang dimuat ke dalam satu chip: prosesor, memori, dan perangkat I/O β semuanya dalam kemasan kecil, murah, dan hemat daya.
Komponen utama di dalam satu chip MCU:
| Komponen | Fungsi |
|---|---|
| CPU | Jantung MCU, mengeksekusi instruksi. Umumnya arsitektur AVR (8-bit), ARM Cortex-M (32-bit). |
| Flash | Memori permanen untuk menyimpan program. Tidak hilang saat mati listrik. |
| RAM | Memori sementara untuk variabel saat program berjalan. |
| GPIO | Pin digital yang bisa diatur sebagai input atau output (HIGH/LOW). |
| ADC | Analog-to-Digital Converter: mengubah tegangan analog (0-5V) menjadi angka digital (0-1023). |
| Timer | Menghitung waktu, membuat delay akurat, dan menghasilkan sinyal PWM. |
| UART/I2C/SPI | Antarmuka komunikasi serial untuk bicara dengan chip lain (sensor, display, modul WiFi). |
Arduino adalah papan (board) yang memuat MCU (biasanya ATmega328P) lengkap dengan fasilitas pendukung: regulator daya, kristal osilator, port USB untuk upload program, dan pin yang sudah dirapikan. Arduino membuat MCU mudah dipakai β kamu tinggal colok USB dan upload kode.
| Pin | Keterangan |
|---|---|
| Digital 0-13 | GPIO 5V. Bisa input atau output. |
| Digital 0 (RX) & 1 (TX) | UART β komunikasi serial (jangan dipakai untuk GPIO biasa karena dipakai USB). |
| Digital 2 & 3 | Mendukung external interrupt. |
| Digital 3, 5, 6, 9, 10, 11 | Mendukung PWM (analogWrite). |
| A0-A5 | Pin input analog (ADC 10-bit, 0-1023). Bisa juga sebagai digital (14-19). |
| 5V | Output 5V (maks ~500 mA) β untuk memberi daya komponen. |
| 3.3V | Output 3.3V (maks ~50 mA). |
| GND | Ground β selalu colokkan bersama pin daya. |
| AREF | Referensi tegangan ADC eksternal (opsional). |
| Board | MCU | Pin Digital | Catatan |
|---|---|---|---|
| Uno | ATmega328P (16 MHz) | 14 | Standar pembelajaran. Kuliah ini memakai Uno sebagai acuan. |
| Nano | ATmega328P | 22 | Ukuran mini, pin sama dengan Uno. |
| Mega 2560 | ATmega2560 (16 MHz) | 54 | Pin banyak, untuk proyek besar. |
| Leonardo | ATmega32U4 | 20 | Bertingkah seperti USB keyboard/mouse. |
| ESP32 | Dual-core Xtensa (240 MHz) | 30+ | WiFi + Bluetooth bawaan, 32-bit, sangat populer. |
| STM32 | ARM Cortex-M | beragam | Kelas industri, performa tinggi. |
Biasanya belajar Arduino butuh: komputer β install Arduino IDE β colok board USB β upload. Di kuliah ini semuanya tidak diperlukan.
Alur di balik layar: kode kamu β g++ (Docker) β
shim API Arduino β output.
Jadi kamu tetap belajar logika & API yang 100% sama dengan Arduino sungguhan β
nanti kalau sudah punya board, kode yang sama tinggal di-flash.