📈
Ween's Lab
UdemyYouTubeTikTok
  • Welcome
  • 📻FPGA Tutorials
    • FPGA Boards: Getting Started
      • Getting Started with PYNQ on Kria KV260 Vision AI Starter Kit
      • Getting Started with PYNQ on Red Pitaya STEMlab 125-14
      • Getting Started with PYNQ on ZYBO
    • FPGA Ethernet Tutorial
      • FPGA Tutorial Ethernet 1: Simple TCP Server
    • PYNQ FPGA Tutorial 101
      • Part 0: Introduction
      • Part 1: GPIO
      • Part 2: Custom IP
      • Part 3: Memory
      • Part 4: ANN Processor
    • PYNQ FPGA Tutorial 102
      • Part 0: Introduction
      • Part 1: Memory Mapped
      • Part 2: Direct Memory Access
      • Part 3: AXI-Lite Multiplier
      • Part 4: AXI-Stream Multiplier with DMA
      • Part 5: AXI-Lite GCD
      • Part 6: AXI-Stream GCD with DMA
      • Part 7: Access to DDR from PL
    • ZYNQ FPGA Tutorial
      • Part 1: Gate-Level Combinational Circuit
      • Part 2: RT-Level Combinational Circuit
      • Part 3: Regular Sequential Circuit
      • Part 4: FSM Sequential Circuit
      • Part 5: ZYNQ Architecture
      • Part 6: ARM CPU and FPGA Module
      • Part 7: FPGA Memory
      • Part 8: Hardware Accelerator for Neural Networks
    • ZYNQ FPGA Linux Kernel Module
      • Cross Compiling Kernel, Kernel Module, and User Program for PYNQ
      • Configure PL to PS Interrupt in Kernel Module
      • Configure AXI DMA in Kernel Module
  • 📟Proyek Arduino
    • Kumpulan Proyek
      • Rangkaian LED
      • LED Berkedip Nyala Api
      • LED Chaser
      • LED Binary Counter
      • OLED 128x4 Bitcoin Ticker
      • Rangkaian Button
      • Button Multifungsi
      • Button Interrupt
      • Button Debouncing
    • Pelatihan Mikrokontroler Arduino ESP32
      • Bab 1 Pengenalan Mikrokontroler
      • Bab 2 Pengenalan Arduino
      • Bab 3 Pengenalan Bahasa C
      • Bab 4 Digital Output
      • Bab 5 Digital Input
      • Bab 6 Serial Communication
      • Bab 7 Analog-to-Digital Conversion
      • Bab 8 Interrupt
      • Bab 9 Timer
      • Bab 10 Pulse-Width Modulation
      • Bab 11 SPI Communication
      • Bab 12 I2C Communication
  • 💰Finance
    • Coding for Finance
      • Build a Bitcoin Price Alert with Google Cloud and Telegram
      • Build a Bitcoin Ticker with ESP32 and Arduino
      • Stock Price Forecasting with LSTM
    • Trading dan Investasi
      • Istilah Ekonomi, Keuangan, Bisnis, Trading, dan Investasi
      • Jalan Menuju Financial Abundance
      • Memahami Korelasi Emas, Oil, Dollar, BTC, Bonds, dan Saham
      • Mindset Trading dan Investasi
      • Rangkuman Buku: Rahasia Analisis Fundamental Saham
      • Rangkuman Buku: The Psychology of Money
      • Rangkuman Kuliah: Introduction to Adaptive Markets
      • Rumus Menjadi Orang Kaya
  • 📝Life
    • Life Quotes
Powered by GitBook
On this page
  • 1. Apa itu Mikrokontroler
  • 2. Perbedaan Mikrokontroler dengan Mikroprosesor
  • 3. Bagaimana Bagian Dalam Sebuah IC
  1. Proyek Arduino
  2. Pelatihan Mikrokontroler Arduino ESP32

Bab 1 Pengenalan Mikrokontroler

PreviousPelatihan Mikrokontroler Arduino ESP32NextBab 2 Pengenalan Arduino

Last updated 1 year ago

1. Apa itu Mikrokontroler

Mikrokontroler merupakan sebuah integrated circuit (IC) yang di dalamnya terdapat sistem komputer lengkap. Mikrokontroler berbeda dengan mikroprosesor yang bisa kita temui pada PC (misalnya mikroprosesor Intel), karena pada sebuah mikrokontroler sudah terdapat perangkat pendukung sebuah sistem komputer yaitu memori dan peripheral I/O, sedangkan di dalam mikroprosesor hanya berisi CPU saja.

Pada Gambar 1, terlihat sebuah contoh mikrokontroler ATmega8 yang terpasang pada board Arduino Uno. Mikrokontroler ini dibuat oleh Atmel, memiliki kemampuan 8-bit, dan bekerja pada kecepatan maksimal 16 MHz.

Mikrokontroler digunakan pada berbagai macam aplikasi. Pada hampir semua alat elektronik, setidaknya ada satu atau lebih mikrokontroler di dalamnya. Berikut ini beberapa contoh alat-alat elektronik yang setidaknya ada satu atau lebih mikrokontroler di dalamnya:

  • Peralatan rumah tangga: TV, AC, lemari es, oven microwave.

  • Gadget: PC, laptop, smartphone, console game.

  • Alat medis: mesin X-ray, CT scan.

  • Robotik: drone, robot arm, robot humanoid.

  • Automotive: motor, mobil.

  • Avionik: pesawat terbang, roket luar angkasa, satelit.

Pada Gambar 2, terlihat blok diagram umum sebuah mikrokontroler. Di dalam sebuah mikrokontroler terdapat tiga blok utama yaitu CPU, memori, dan input/output (I/O). CPU berfungsi untuk melakukan eksekusi program. memori berfungsi untuk menyimpan data. I/O berfungsi untuk berinteraksi dengan komponen eksternal. Ketiga blok utama tersebut terhubung dengan sebuah system bus.

System bus terdiri dari tiga bagian yaitu control bus, address bus, dan data bus. Control bus melewatkan singal control dari CPU ke memori dan I/O. Address bus berfungsi untuk melewatkan alamat memori atau I/O. Data bus berfungsi untuk melewatkan sinyal data yang ditransfer antara CPU ke memori dan I/O atau sebaliknya. Dengan ketiga bus tersebut, maka CPU dapat berkomunikasi dengan memori dan I/O.

Ada banyak perusahaan yang membuat mikrokontroler. Beberapa diantaranya yaitu Atmel, Infineon, Microchip Technology, STMicroelectronics, Texas Instruments, NXP Semiconductors, Espressif Systems, dll.

Pada Gambar 3, terlihat contoh mikrokontroler dari beberapa perusahaan. Mikrokontroler tersebut cukup populer dan banyak digunakan oleh pelajar, hobbyist, ataupun professional.

2. Perbedaan Mikrokontroler dengan Mikroprosesor

Mikrokontroler berbeda dengan mikroprosesor. Di dalam sebuah mikroprosesor hanya ada prosesor atau disebut juga sebagai central processing unit (CPU), tanpa memori, dan tanpa peripheral I/O. Contoh mikroprosesor yang paling banyak kita kenal yaitu prosesor Intel (Core i3, i5, i7, dll) dan AMD (Ryzen 3, 5, 7, dll).

Prosesor-prosesor tersebut digunakan untuk aplikasi umum (general purpose, contohnya membuat dokumen, browsing, game, design, dll) dan membutuhkan konsumsi daya kira-kira >30W. Untuk membuat sistem yang berjalan dengan prosesor-prosesor tersebut, kita membutuhkan memori eksternal yang berada di luar IC mikroprosesor tersebut (sebagai modul RAM yang dipasang di motherboard). Sedangkan peripheral I/O-nya sendiri biasanya ada pada motherboard.

Sedangkan pada sebuah mikrokontroler, sudah terdapat memori dan peripheral I/O yang berada di dalam IC mikrokontroler tersebut. Sehingga kita tidak membutuhkan memori eksternal lagi. Peripheral I/O yang umum digunakan juga sudah ada di dalam mikrokontroler tersebut. Walaupun demikian, ukuran memorinya jauh lebih kecil dan peripheral I/O-nya juga terbatas.

Berbeda dengan mikroprosesor Intel atau AMD, mikrokontroler biasanya digunakan untuk aplikasi yang spesifik dan memiliki konsumsi daya yang relatif lebih rendah. Contohnya, mikrokontroler pada oven microwave hanya digunakan untuk melakukan kontrol oven microwave tersebut, tidak bisa digunakan untuk, misalnya, mendengarkan musik.

Mengapa tidak semua alat-alat elektronik seperti oven microwave, lemari es, atau televisi menggunakan mikroprosesor Intel atau AMD? Hal itu tidak dilakukan karena alat-alat tersebut tidak membutuhkan computation power yang besar, serta untuk menghemat konsumsi daya listrik juga. Prosesor untuk general purpose memiliki kecepatan clock yang tinggi biasanya dalam satuan GHz, sehingga computation power-nya besar dan konsumsi dayanya juga besar. Sedangkan prosesor untuk mikrokontroler memiliki kecepatan clock yang rendah biasanya dalam satuan MHz, sehingga computation power-nya dan konsumsi dayanya juga lebih rendah.

Perdedaan antara mikrokontroler dan mikroprosesor dirangkum pada tabel di bawah ini:

Parameter
Mikrokontroler
Mikroprosesor

Aplikasi

Spesifik (oven microwave, lemari es, televisi, dll)

Umum (membuat dokumen, browsing, game, design, dll)

Struktur

Memori dan peripheral I/O terintegrasi di dalam IC

Membutuhkan memori dan peripheral I/O eksternal

Processing power

Rendah

Tinggi

Power consumption

Rendah

Tinggi

3. Bagaimana Bagian Dalam Sebuah IC

Sebuah IC terbuat dari bahan semikonduktor. Bahan semikonduktor yang paling sering digunakan yaitu silikon. Gambar 5 merupakan bagian dalam dari sebuah IC. Die merupakan material silikon tempat transistor-transistor difabrikasi. Package merupakan material epoxy resin yang berfungsi untuk melindungi bagian dalam IC. Wire bond berfungsi untuk menghubungkan die dengan pin, dan pin berfungsi untuk menghubungkan IC tersebut dengan komponen eksternal.

Transistor-transistor tersebut dihubungkan satu sama lain dengan interkoneksi dari material tembaga untuk membentuk suatu blok yang lebih kompleks seperti CPU, memori, dan sebagainya. Dalam sebuah IC bisa terdapat ribuan sampai miliaran transistor tergantung dari jenis IC-nya. Gambar 6 merupakan bagian dari die yang diperbesar. Pada gambar tersebut dapat terlihat wire bond serta interkoneksi yang menghubungkan transistor.

Pada Gambar 7, dapat terlihat sebuah die yang dipotong melintang. Terlihat bagian interkoneksi yang terbuat dari metal, transistor, dan bulk silicon. Jenis transistor yang biasa digunakan pada IC digital yaitu transistor MOSFET. Bulk silicon menjadi bagian dasar tempat transistor dibuat.

Jika bagian cross section dari sebuah transistor MOSFET diperbesar, maka akan terlihat seperti pada Gambar 8. Terlihat bagian utama dari transistor MOSFET yaitu source, drain, dan gate. Semakin kecil panjang gate-nya, maka ukuran keseluruhan sebuah transistor akan lebih kecil, sehingga jumlah transistor dalam ukuran die yang sama bisa menjadi lebih banyak. Hukum Moore menyatakan bahwa jumlah transistor dalam sebuah IC akan meningkat dua kali lipat setiap dua tahun sekali.

📟
Gambar 3. Contoh mikrokontroler dari beberapa perusahaan: Atmel (kiri), STMicroelectronics (tengah), Espressif Systems (kanan)
Gambar 4. Mikrokontroler berbeda dengan mikroprosesor. Mikrokontroler ATmega328p (kiri) dan mikroprosesor Intel Core i5 (kanan)
Gambar 7. Potongan melintang dari sebuah die
Gambar 8. Potongan melintang dari sebuah transistor MOSFET
Gambar 1. Sebuah mikrokontroler ATmega8 yang terpasang pada board Arduino Uno. Sumber:
Gambar 2. Block diagram umum sebuah mikrokontroler. Sumber:
Gambar 5. Bagian dalam dari sebuah IC. Sumber:
Gambar 6. Bagian die yang diperbesar. Sumber:
https://id.wikipedia.org/wiki/Pengendali_mikro
https://en.wikipedia.org/wiki/System_bus
https://learn.sparkfun.com/tutorials/integrated-circuits/inside-the-ic
https://learn.sparkfun.com/tutorials/integrated-circuits/inside-the-ic