Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Beranda » Blog » Tutorial Membaca Input Analog dengan MCP3008 dan Raspberry Pi

Tutorial Membaca Input Analog dengan MCP3008 dan Raspberry Pi

Diposting pada 17 September 2025 oleh indo maker / Dilihat: 33 kali / Kategori: , ,

Secara bawaan, GPIO Raspberry Pi hanya bisa membaca input digital yang berarti hanya bisa mendeteksi dua kondisi, yaitu hidup atau mati, 1 atau 0. Namun banyak komponen yang memerlukan nilai analog, seperti posisi dari sebuah potensiometer? Nah, di sinilah kita butuh bantuan komponen tambahan, yaitu ADC (Analog to Digital Converter).

Menggunakan ADC MCP3008

MCP3008 adalah chip ADC yang punya 8 kanal input, artinya kamu bisa menghubungkan hingga 8 perangkat analog sekaligus.

Alat dan Bahan yang Diperlukan
Untuk menjalankan proyek ini, berikut yang kamu butuhkan:

  • Raspberry Pi
  • ADC MCP3008
  • LED
  • Resistor
  • Breadboard dan kabel jumper
  • MobaXterm (untuk remote terminal)
  • Notepad++ (untuk menulis skrip)

Wiring Rangkaian 
Susun rangkaian dengan panduan seperti ini:

  1. MCP3008
    • Pin DGND (9) ke GND
    • Pin CS (10) ke GPIO 8
    • Pin Din (11) ke GPIO 10
    • Pin Dout (12) ke GPIO 9
    • Pin CLK (13) ke GPIO 11
    • Pin AGND (14) ke GND
    • Pin Vref (15) ke 3V3
    • Pin VDD (16) ke 3V3
  2. LED
    • Pin + ke GPIO 21
    • Pin – ke GND
  3. Potensiometer
    • Pin – ke GND
    • Pin output ke CH0 MCP3008
    • Pin + ke 3v3

Gambar 1. Rangkaian Schematic MCP3008 dengan Raspberry Pi

Menulis Program Membaca Nilai Analog

Setelah semua komponen terpasang, buka Notepad++ dan buat file Python baru. Tulis kode berikut :

from gpiozero import MCP3008, PWMLED
from time import sleep

pot = MCP3008(channel=0)
led = PWMLED(21)

led.source = pot.values

try:
    while True:
        print(f"Nilai Potensiometer: {pot.value:.2f}")
        sleep(0.2)

except KeyboardInterrupt:
    print("\nProgram dihentikan.")

Penjelasan kode

Pada kode yang tertera terdapat beberapa intruksi baru, yaitu :

  • MCP3008(channel=0) = Membaca input analog dari channel 0
  • PWMLED(21) = LED terhubung ke GPIO 21 dan dikontrol dengan PWM.
  • led.source = pot.values = Menyambungkan stream nilai potensiometer langsung ke LED.
  • print(f"Nilai Potensiometer: {pot.value:.2f}") = Menampilkan nilai potensiometer di terminal, dibulatkan 2 angka di belakang koma.

Apa yang akan terjadi?

Saat program dijalankan, Raspberry Pi akan membaca nilai analog dari potensiometer melalui chip MCP3008. Nilai ini akan selalu berubah tergantung seberapa jauh knob potensiometer diputar. Nilai tersebut lalu dikirim ke LED menggunakan metode PWM untuk mengatur kecerahannya. Semakin besar nilai potensiometer, semakin terang LED menyala. Dengan ini, kamu sudah membuat sistem kontrol analog sederhana menggunakan Raspberry Pi!

Bagikan ke

Tutorial Membaca Input Analog dengan MCP3008 dan Raspberry Pi

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Tutorial Membaca Input Analog dengan MCP3008 dan Raspberry Pi

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: