● online
- Tilt Sensor SW-520D Module Modul Sensor Kemiringan....
- Kabel Jumper 10cm Dupont Pelangi 10 cm Male to Mal....
- Kabel Jumper 20cm Dupont 20 cm Female to Female Pe....
- LCD CHARACTER 16X2 1602 5V GREEN HIJAU BACKLIGHT M....
- Modul Sensor Tegangan AC Bolak balik 220V Listrik ....
- Resistor 220 Ohm 220R Ohm 220Ohm 1/4W 1% Metal fil....
- Kapton Tape Polymide Film 50mm Polimida 50 mm Isol....
- Dimmer SCR 2000W Motor Speed Controller 220V AC PW....
- 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
Thingsboard merupakan sebuah platform IoT open-source yang memungkinkan anda untuk mengontrol ataupun memonitoring berbagai perangkat. Penggunaanya mudah, gratis dan... selengkapnya
MPU6050 adalah Sensor Gyroscope dan Accelerometer yang memiliki 6-axis Motion Tracking di mana perangkat ini mengkombinasikan 3-axis gyroscope, 3-axis accelerometer... selengkapnya
Pada kesempatan kali ini kita akan belajar bersama mengenai 7 segment. Berbeda dengan tutorial sebelumnya yang membahas 1 digit... selengkapnya
Siapa yang nggak kenal dengan running text? Running text merupakan sebuah teks berjalan pada sebuah papan yang berisi led-led... selengkapnya
RTC DS3231 merupakan sebuah jenis modul yang dapat menghasilkan waktu digital secara realtime dengan tambahan sebuah baterai tipe kancing... selengkapnya
Secara bawaan, Arduino Uno sebenarnya sudah memiliki pin analog. Tapi pada beberapa proyek, terutama saat jumlah sensor analog semakin banyak,... selengkapnya
Sensor LM35 merupakan sebuah sensor yang dapat mendeteksi suhu ruangan dengan cara mengubah besaran suhu menjadi besaran listrik dalam... selengkapnya
MP3 DFPlayer merupakan sebuah modul elektronik yang berfungsi untuk memainkan sebuah suara yang filenya berketensi MP3. Seperti memutar sebuah... selengkapnya
Hari ini kita akan belajar untuk membaca data analog dari sensor LDR menggunakan Blynk dan NodeMCU. Tidak hanya membaca... selengkapnya
Pada artikel ini saya akan memberikan cara cepat menggunakan motor servo pada Arduino. Pasti tentunya anda sedang mencari tutorial-tutorial... selengkapnya
Product Name: Tactile Switch; Material: Metal, Plastic Package Content: 30 Pcs x Tactile Switch; Main Color: Black, Silver Tone Total… selengkapnya
Rp 400Kabel Jumper Dupont Pelangi 10 cm male to male 1 lembar = 40 kabel
Rp 13.000This is a set of transmitter and receiver in one of the photoelectric sensor. Detection distance can be adjusted according… selengkapnya
Rp 37.500Features – Calibrated directly in Celsius (Centigrade) – Linear + 10.0 mV/C scale factor – 0.5C accuracy guaranteeable (at +25C)… selengkapnya
Rp 8.000Compatibility: USB v2.0 standard Interface: Network: USB Series: RS-485 Port: an independent RS-485 Connector: Network: USB type A connector Series:… selengkapnya
Rp 38.800Menerima jasa cetak PCB FR2 (pertinax) / FR4 (double) single / double layer. Silahkan ke web kalkulator biaya cetak pcb… selengkapnya
Rp 1.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.400sg90 towerpro penggerak pada robot-robot kecil, dan bisa digunakan sebagai alat untuk hobi membuat robot dsb, dengan berat sekitar 9g… selengkapnya
Rp 15.500this is another great IIC/I2C/TWI/SPI Serial Interface. As the pin resources of for Arduino controller is limited, your project may… selengkapnya
Rp 12.400Spesifikasi: 50mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 75.000

Saat ini belum tersedia komentar.