Apa itu Analog to Digital Converter (ADC) ?
ADC (Analog to Digital Converter) adalah salah satu fasilitas mikrokontroler yang berfungsi untuk mengubah data analog menjadi data digital. ADC memiliki 2 karakter prinsip, yaitu kecepatan sampling (cuplikan) dan resolusi.

Kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling bisanya dinyatakan dalam sample per second (SPS). Resolusi ADC menentukan ketelitian nilai hasil konversi ADC. Mikrokontroler hanya dapat memproses data/sinyal digital sehingga diperlukan ADC agar mikrokontroler dapat membaca sinyal analog.

ADC yang digunakan pada perancangan alat biasanya menggunakan mode single input ended dimana hanya satu masukan saja yang dibaca dari port yang diaktifkan dan biasanya menggunakan model konversi ADC 10 bit. Karena menggunakan ADC 10 bit maka nilai maksimum dari pembacaan ADC itu adalah 210 = 1024, untuk dapat mengetahui hasil konversinya maka dapat dihitung dengan menggunakan rumus berikut.

Untuk memahami resolusi ADC, mari kita ambil contoh ADC dengan resolusi 2 bit dan tegangan referensi 4 volt, hanya dapat mewakili tegangan dengan empat kemungkinan nilai yang dihasilkan yaitu 22. Tegangan input dan output digital akan sesuai dengan tabel ini:

Contoh: Dalam penggunaan analogRead normal, tegangan referensi adalah tegangan kerja pada board. Untuk board Arduino yang lebih populer seperti Uno, Mega, tegangan kerja = 5V. Jadi jika Anda memiliki tegangan referensi 5V, setiap unit yang dikembalikan oleh analogRead() bernilai 0,00488 V. (Ini dihitung dengan membagi 5V dengan 1023).
ADC memberikan nilai output digital yang sebanding dengan nilai analog. Untuk mengetahui nilai analog input, kita harus mengubah nilai digital ini kembali ke nilai analog melalui program. Untuk mengubah nilai digital ini menjadi tegangan input analog.


Percobaan 29: Akses ADC (Analog to Digital Converter) Menggunakan 2 Potensiometer

- Hubungkan POT.1 dan POT.2 dengan pin A0 dan A1 ATMEGA 2560 secara berurutan
- Hubungkan kaki SDA, SCL pada modul I2C LCDdengan pin 20, 21 ATMEGA 2560 secara berurutan
- Hubungkan board ATMEGA 2560 dengan Komputer menggunakan kabel USB.
- Bukalah IDE Arduino, kemudian ketikkan kode program/sketch atau buka file potensio_2_buah
- Compile menggunakan verify button (tanda ceklist pada IDE arduino) untuk mengecek ada atau tidaknya error/kesalahan dalam pengetikan.
- Upload program ke arduino dengan cara, pilih File > Upload to I/O board, atau tekan tombol tanda panah pada jendela IDE arduino.
Coding:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int pot1;
int pot2;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
lcd.init();
lcd.clear();
lcd.backlight();
}
void loop() {
// put your main code here, to run repeatedly:
pot1 = analogRead(A0);
pot2 = analogRead(A1);
//tampil di Serial
Serial.print("Nilai Potensio 1: ");
Serial.println(pot1);
Serial.print("Nilai Potensio 2: ");
Serial.println(pot2);
//tampil di LCD
lcd.setCursor(0,0);
lcd.print("Nilai Pot 1:");
lcd.print(pot1);
lcd.setCursor(0,1);
lcd.print("Nilai Pot 2:");
lcd.print(pot2);
delay(500);
lcd.clear();
}

Video Demo: