● online
- Motor Servo MG995 TowerPro Metal Gear....
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- MP3 TF 16P Alternatif DFPlayer mini MP3 Player Ard....
- LDR Sensor 5mm Cahaya 5528 Light Dependent Resisto....
- LED 3mm Lampu LED 3 mm....
- 10X RESISTOR 1K 1KOHM 1/4W 1% METAL FILM....
- Modul Sensor Tegangan AC Bolak balik 220V Listrik ....
- Push Button Tactile Switch Saklar Tombol Tinggi - ....
- 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
Melihat potensi dari android itu sendiri, akhirnya banyak orang yang berlomba lomba belajar memperdalam sistem operasi ini. Tentunya akan... selengkapnya
Setelah kemarin-kemarin sudah sering membahas board esp8266 dengan jenis NodeMCU. Kali ini kita belajar dengan jenis lain yaitu ESP-01,... selengkapnya
Seperti yang kita ketahui, Raspberry Pi merupakan komputer mini yang powerful karena dengan ukurannya yang kecil tetapi bisa berfungsi layaknya... selengkapnya
Semangat pagi, kali ini kita akan belajar untuk mengontrol LED melalui wifi menggunakan NodeMCU. Mengapa LED? nggak langsung ke... selengkapnya
RTC DS3231 merupakan sebuah jenis modul yang dapat menghasilkan waktu digital secara realtime dengan tambahan sebuah baterai tipe kancing... selengkapnya
Pada robot elektronik sering kali digunakan motor servo sebagai leher yang bisa bergerak, motor servo adalah perangkat elektromekanis yang dirancang... selengkapnya
Hari ini kita akan belajar untuk membaca data analog dari sensor LDR menggunakan Blynk dan NodeMCU. Tidak hanya membaca... selengkapnya
Pada kesempatan kali ini kita akan belajar bersama mengenai 7 segment. Berbeda dengan tutorial sebelumnya yang membahas 1 digit... selengkapnya
Sensor PIR (Passive Infrared) adalah salah satu sensor yang paling sering digunakan untuk mendeteksi gerakan, terutama gerakan manusia. Sensor ini... selengkapnya
Pada artikel ini akan membahas bagaimana cara menangani motor stepper dan uln2003 tentunya masih menggunakan Arduino sebagai kontrolernya. Stepper... selengkapnya
Specifications: Operating voltage: DC3-5V Operating current: less than 20mA Sensor Type: Analog Detection Area: 40mmx16mm Production process: FR4 double-sided HASL… selengkapnya
Rp 3.00012A 300W DC Buck Step Down Converter CC CV Driver LED charge Battery Spesifikasi: Input Voltage: 5-40V Output Voltage: 1.2-35V… selengkapnya
Rp 39.400Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v Digunakan untuk keperluan display project seperti Arduino, Raspberry,… selengkapnya
Rp 17.000Kabel jumper Dupont untuk jumper Arduino atau Raspberry Pi 20 cm Male to Male 1 lembar = 40 kabel
Rp 11.300Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300MERK : TOWER PRO MG995 180 derajat Specifications Weight: 55 g Dimension: 40.7 x 19.7 x 42.9 mm approx. Stall… selengkapnya
Rp 36.300Bagaimana jika mikrokontroler yang anda gunakan tidak memiliki port ADC. atau anda masih kurang dengan spesifikasi resolusi ADC yang disediakan… selengkapnya
Rp 65.0002000W SCR Electronic Voltage Regulator Speed Controller Dimmer Thermostat Aplikasi : Kontrol temperature heater, kontrol kecepatan fan/bor tangan/gurinda tangan, kompor… selengkapnya
Rp 19.500Kabel Jumper Dupont Pelangi 30cm Male to Female 1 lembar = 40 kabel
Rp 13.500Kabel Jumper Dupont Pelangi 10 cm male to male 1 lembar = 40 kabel
Rp 13.000

Saat ini belum tersedia komentar.