πŸ”Œ Pengenalan Microcontroller & Arduino

Apa itu microcontroller, dari mana dia berasal, dan apa yang ada di dalamnya.

πŸ“Œ 1. Apa Itu Microcontroller?

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.

πŸ’‘ MCU dirancang untuk satu tugas spesifik (mengontrol mesin, membaca sensor, dsb), berbeda dengan komputer umum yang serbaguna. Contoh di sekitarmu: remote TV, mesin cuci, ABS mobil, thermostat AC, keyboard.
Microcontroller
  • Satu chip (CPU + RAM + Flash + I/O)
  • Murah (ribuan rupiah)
  • Hemat daya (Β΅A sampai puluhan mA)
  • Menjalankan 1 program dari memori internal
Komputer Umum (PC/Laptop)
  • Banyak chip terpisah (CPU, RAM, GPU, ...)
  • Mahal
  • Daya besar (ratusan watt)
  • Serbaguna, OS kompleks

πŸ“Œ 2. Anatomi Microcontroller

Komponen utama di dalam satu chip MCU:

CPU
(8/16/32-bit)
Flash
(program)
RAM
(data)
Clock
(osilator)
GPIO
(pin digital)
ADC
(analog→digital)
Timer
(waktu/PWM)
UART/I2C/SPI
(komunikasi)
KomponenFungsi
CPUJantung MCU, mengeksekusi instruksi. Umumnya arsitektur AVR (8-bit), ARM Cortex-M (32-bit).
FlashMemori permanen untuk menyimpan program. Tidak hilang saat mati listrik.
RAMMemori sementara untuk variabel saat program berjalan.
GPIOPin digital yang bisa diatur sebagai input atau output (HIGH/LOW).
ADCAnalog-to-Digital Converter: mengubah tegangan analog (0-5V) menjadi angka digital (0-1023).
TimerMenghitung waktu, membuat delay akurat, dan menghasilkan sinyal PWM.
UART/I2C/SPIAntarmuka komunikasi serial untuk bicara dengan chip lain (sensor, display, modul WiFi).

πŸ“Œ 3. Arduino: Board Pendidikan untuk MCU

Peta pin Arduino UNO R3
Peta pin Arduino UNO R3

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.

Pinout Arduino Uno
PinKeterangan
Digital 0-13GPIO 5V. Bisa input atau output.
Digital 0 (RX) & 1 (TX)UART β€” komunikasi serial (jangan dipakai untuk GPIO biasa karena dipakai USB).
Digital 2 & 3Mendukung external interrupt.
Digital 3, 5, 6, 9, 10, 11Mendukung PWM (analogWrite).
A0-A5Pin input analog (ADC 10-bit, 0-1023). Bisa juga sebagai digital (14-19).
5VOutput 5V (maks ~500 mA) β€” untuk memberi daya komponen.
3.3VOutput 3.3V (maks ~50 mA).
GNDGround β€” selalu colokkan bersama pin daya.
AREFReferensi tegangan ADC eksternal (opsional).
Keluarga Arduino
BoardMCUPin DigitalCatatan
UnoATmega328P (16 MHz)14Standar pembelajaran. Kuliah ini memakai Uno sebagai acuan.
NanoATmega328P22Ukuran mini, pin sama dengan Uno.
Mega 2560ATmega2560 (16 MHz)54Pin banyak, untuk proyek besar.
LeonardoATmega32U420Bertingkah seperti USB keyboard/mouse.
ESP32Dual-core Xtensa (240 MHz)30+WiFi + Bluetooth bawaan, 32-bit, sangat populer.
STM32ARM Cortex-MberagamKelas industri, performa tinggi.

πŸ“Œ 4. Belajar Tanpa Arduino IDE

Biasanya belajar Arduino butuh: komputer β†’ install Arduino IDE β†’ colok board USB β†’ upload. Di kuliah ini semuanya tidak diperlukan.

βœ… Kamu menulis kode persis seperti kode Arduino asli, lalu menekan Run Code. Kode dikompilasi dan dijalankan di server dengan simulator yang meniru perilaku pin, ADC, PWM, Serial, dan interrupt Arduino. Output Serial + keadaan akhir semua pin langsung kamu lihat di browser.

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.

🧠 Latihan

  1. Sebutkan 5 benda di rumahmu yang pasti memakai microcontroller.
  2. Kenapa pin 0 dan 1 di Arduino Uno sebaiknya tidak dipakai untuk GPIO biasa?
  3. Board Arduino apa yang cocok untuk proyek dengan 40+ pin sensor? Jelaskan.
  4. Perbedaan utama Flash dan RAM pada microcontroller?