● online
- Kabel Jumper Arduino Dupont 20 cm Female to Male P....
- PWM DC 10A Motor 12V-40V Pulse Width Modulation Sp....
- Motor servo MG996R TowerPro Metal Gear....
- Potensiometer 10K - Mono Potensio Meter Linear Res....
- Raspberry Pi 4 Model B 4GB Original UK E14 Raspi 4....
- Dual Volt Amp Meter Digital Ampere Meter Voltmeter....
- SG90 Motor Servo For Arduino Uno Mega SG 90 Biru S....
- ESR Meter Digital LCR-T4 Tester Transistor Diode M....
- 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.
Tutorial Membaca Input Analog Menggunakan ADC MCP3008 pada Arduino Uno
Secara bawaan, Arduino Uno sebenarnya sudah memiliki pin analog. Tapi pada beberapa proyek, terutama saat jumlah sensor analog semakin banyak, kita bisa memanfaatkan ADC eksternal seperti MCP3008. Dengan menggunakan MCP3008, Arduino dapat membaca lebih banyak input analog sekaligus melalui satu jalur komunikasi.
Pada percobaan ini, kamu akan belajar cara membaca nilai analog dari potensiometer menggunakan chip ADC MCP3008 dan Arduino Uno. Nilai analog tersebut nantinya akan ditampilkan melalui Serial Monitor.
Mengenal MCP3008
MCP3008 adalah chip Analog to Digital Converter (ADC) dengan 8 channel input analog dan resolusi 10-bit. Artinya, setiap input analog akan dikonversi menjadi nilai digital antara 0 sampai 1023.

Gambar 1. Pinout Kaki MCP3008
Chip ini berkomunikasi menggunakan antarmuka SPI (Serial Peripheral Interface), sehingga hanya membutuhkan beberapa pin digital Arduino untuk membaca banyak input analog. MCP3008 sangat cocok digunakan saat kamu membutuhkan pembacaan banyak sensor analog secara bersamaan.
Alat dan Bahan yang Diperlukan
Untuk menjalankan percobaan ini, siapkan komponen berikut:
- Arduino Uno Trainer Kit
- ADC MCP3008
- Potensiometer
- Breadboard
- Kabel jumper
- Software Arduino IDE
Wiring Rangkaian
Koneksi MCP3008 ke Arduino Uno
- Pin VDD MCP3008 dihubungkan ke pin 5 volt
- Pin VREF MCP3008 dihubungkan ke pin 5 volt
- Pin AGND MCP3008 dihubungkan ke ground
- Pin DGND MCP3008 dihubungkan ke ground
- Pin CLK MCP3008 dihubungkan ke pin D13
- Pin DOUT MCP3008 dihubungkan ke pin D12
- Pin DIN MCP3008 dihubungkan ke pin D11
- Pin CS MCP3008 dihubungkan ke pin D10 Arduino
Koneksi Potensiometer
- Kaki pin 1 potensiometer dihubungkan ke 5 volt Arduino
- Kaski pin 2 potensiometer dihubungkan ke CH0 MCP3008
- Kaki pin 3 potensiometer dihubungkan ke ground Arduino

Gambar 2. Wiring Rangkaian Pembacaan Nilai Analog dengan MCP3008
Dengan rangkaian ini, perubahan posisi potensiometer akan menghasilkan perubahan tegangan yang dibaca oleh MCP3008.
Menulis Program Membaca MCP3008 dengan Arduino
Setelah rangkaian selesai, buka Arduino IDE dan tuliskan program berikut, lalu unggah ke papan Arduino Uno.
#include <SPI.h>
const int csPin = 10;
void setup() {
Serial.begin(9600);
pinMode(csPin, OUTPUT);
digitalWrite(csPin, HIGH);
SPI.begin();
}
int readMCP3008(byte channel) {
byte command = 0b11000000 | (channel << 3);
digitalWrite(csPin, LOW);
SPI.transfer(command);
int highByte = SPI.transfer(0x00);
int lowByte = SPI.transfer(0x00);
digitalWrite(csPin, HIGH);
int value = ((highByte & 0x0F) << 8) | lowByte;
return value;
}
void loop() {
int potValue = readMCP3008(0);
Serial.print("Nilai Potensiometer: ");
Serial.println(potValue);
delay(500);
}
Penjelasan Kode
- #include <SPI.h> digunakan untuk memanggil pustaka SPI agar Arduino dapat berkomunikasi dengan MCP3008
- const int csPin = 10; digunakan untuk menentukan pin chip select yang mengaktifkan komunikasi SPI
- pinMode(csPin, OUTPUT); digunakan untuk mengatur pin CS sebagai keluaran
- begin(); digunakan untuk menginisialisasi komunikasi SPI
- readMCP3008() digunakan sebagai fungsi untuk membaca data analog dari kanal tertentu pada MCP3008
- transfer() digunakan untuk mengirim dan menerima data melalui jalur SPI
- ((highByte & 0x0F) << 8) | lowByte digunakan untuk menggabungkan data menjadi nilai 10 bit
- println(potValue); digunakan untuk menampilkan hasil pembacaan potensiometer ke Serial Monitor
Hasil Percobaan
Setelah program dijalankan dan Serial Monitor dibuka, Arduino akan menampilkan nilai potensiometer secara real time. Saat knob potensiometer diputar, nilai yang ditampilkan akan ikut berubah.
Jika potensiometer diputar ke satu arah, nilai akan semakin kecil. Jika diputar ke arah sebaliknya, nilai akan semakin besar. Perubahan ini terjadi secara halus dan terus-menerus, menandakan bahwa Arduino berhasil membaca input analog melalui MCP3008 dengan benar.

Gambar 3. Hasil Percobaan Membaca Nilai Analog pada Serial Monitor
Percobaan ini menunjukkan bahwa Arduino dapat menggunakan ADC eksternal untuk membaca sinyal analog tambahan. Konsep ini sangat berguna ketika jumlah pin analog bawaan Arduino sudah tidak mencukupi.
Tutorial Membaca Input Analog Menggunakan ADC MCP3008 pada Arduino Uno
Arduino tidak hanya bisa digunakan untuk menyalakan LED atau membaca input dari tombol, tetapi juga dapat dimanfaatkan untuk membuat simulasi... selengkapnya
Tombol adalah salah satu komponen input paling sederhana namun sangat penting dalam berbagai proyek elektronika. Dalam tutorial ini, kamu akan... selengkapnya
Pada postingan artikel kali ini akan mengupas tentang penggunaan LCD 20×4 pada Arduino. Maksud dari 20×4 adalah lcd ini... selengkapnya
7 segment merupakan sebuah display yang berfungsi menampilkan sebuah karakter baik huruf maupun digit angka. Namun untuk huruf sangat... selengkapnya
Kalau kamu tertarik belajar elektronika, robotika, atau ingin membuat proyek-proyek interaktif sendiri, Arduino adalah salah satu platform terbaik untuk memulainya.... selengkapnya
Semangat pagi semua, kali ini kita akan belajar mengenai penggunaan LCD pada Arduino tanpa module I2C. Kenapa perlu belajar... selengkapnya
Seperti yang kita ketahui, Raspberry Pi merupakan komputer mini yang powerful karena dengan ukurannya yang kecil tetapi bisa berfungsi layaknya... selengkapnya
Sensor Inframerah atau infrared (IR) adalah sensor yang dapat mendeteksi hambatan menggunakan cahaya inframerah yang dipantulkan. Sensor ini memiliki... selengkapnya
Dalam menjalankan bisnis online tentu saja harus memperhatikan beberapa aspek agar bisnis kita berjalan dengan lancar. Sebagai contoh di... selengkapnya
Salah satu proyek pertama yang sering dilakukan oleh pemula dalam dunia Raspberry Pi adalah menyalakan LED. Meskipun terlihat sederhana, proyek... selengkapnya
Features: Brand new and high quality. Control the speed of a DC motor with this controller. High efficiency, high torque,… selengkapnya
Rp 25.400Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.199.000sg90 towerpro penggerak pada robot-robot kecil, dan bisa digunakan sebagai alat untuk hobi membuat robot dsb, dengan berat sekitar 9g… selengkapnya
Rp 15.500Bagaimana jika mikrokontroler yang anda gunakan tidak memiliki port ADC. atau anda masih kurang dengan spesifikasi resolusi ADC yang disediakan… selengkapnya
Rp 65.000Specifications: 1. supports sampling costs (KHz): 8/11.025/12/16/22.05/24/32/44.1/48 2. 24-bit DAC output, dynamic range aid: 90dB, SNR aid: 85dB 3. fully… selengkapnya
Rp 17.800Features and Specs: Dual-Core, 32-bit ARM Cortex M0+ Processor Clocked at 48MHz (default), configurable max to 133MHz. Ready with USB… selengkapnya
Rp 82.900MERK : TOWER PRO MG995 180 derajat Specifications Weight: 55 g Dimension: 40.7 x 19.7 x 42.9 mm approx. Stall… selengkapnya
Rp 36.300Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300Modul sensor tegangan AC bolak balik 3 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 57.000Item Deskripsi : This module performance is stable, measure the distance accurately. performance nearly the same as SRF05, SRF02 SRF05,… selengkapnya
Rp 13.900

Saat ini belum tersedia komentar.