Analog Input pada Arduino

Toni Haryanto 13 Januari 2016

Analog Input pada Arduino

Dalam tutorial ini kita akan membahas tentang konsep analog input pada Arduino serta cara menggunakan pin analog untuk menerima sinyal analog. Bila Kamu masih bingung dengan perbedaan antara pin analog dan digital, silakan baca dulu tutorial yang berjudul Digital Input Output pada Arduino.

Pin analog pada Arduino (dan mikrokontroller lain pada umumnya) dapat digunakan untuk input dan output digital. Hanya saja pin analog memiliki fitur untuk dapat mengubah sinyal analog yang masuk menjadi nilai digital yang mudah diukur. Pin digital hanya dapat mengenali sinyal 0 volt sebagai nilai LOW dan 5 volt sebagai nilai HIGH. Sedangkan Pin analog dapat mengenali sinyal pada rentang nilai voltase tersebut. Hal ini sangat berguna ketika kita hendak mengukur sesuatu dari sensor dan menggunakan nilai masukan tersebut untuk keperluan lain.

Pin analog ini terhubung dengan converter pada mikrokontroller yang dikenal dengan istilah analog-to-digital converter (disingkat ADC atau A/D). Converter ini mengubah nilai analog berbentuk sinyal voltase ke dalam bentuk digital/angka supaya nilai analog ini dapat digunakan dengan lebih mudah dan aplikatif. Pada Arduino (mikrokontroller ATMega) converter ini memiliki resolusi 10 bit, artinya nilai hasil konversi berkisar dari 0 hingga 1023. Pada Arduino UNO, pin analog ditandai dengan label A0 sampai A5. Pada board lainnya, pin-pin yang diberi tanda A, Analog, ADC adalah pin analog.

Fungsi yang kita gunakan untuk membaca nilai analog pada Arduino adalah analogRead([nomorPin]). Pada contoh kasus berikut, kita akan menghubungkan potensiometer pada pin analog A5 dan hasil konversi nilai analog akan kita lihat pada jendela Serial Monitor pada Arduino IDE.

Adapun bahan-bahan yang diperlukan untuk percobaan ini diantaranya:

  • Arduino Uno board
  • Kabel jumper
  • Potensiometer
  • Breadboard
Buatlah rangkaian seperti berikut: arduino-analog-read-pot

Potensiometer adalah kenop yang menghasilkan resistansi/hambatan variabel. Potensiometer memiliki 3 kaki (ada yang memiliki lebih dari 3 kaki, tapi biasanya kelipatan 3 dan pada dasarnya ada 3 jenis kaki), yakni dua kaki terluar yang masing-masing dihubungkan dengan 5V dan GND, dan kaki tengah yang menghasilkan keluaran nilai analog. Pada rangkaian di atas, kaki tengah potensiometer dihubungkan ke pin A5. Pin A5 akan menerima sinyal voltase dengan besaran sesuai dengan putaran kenop potensiometer. Semakin dekat putaran ke arah 5V, maka nilai resistansi akan semakin kecil sehingga nilai voltase yang keluar akan semakin besar mendekati 5V. Begitu pula sebaliknya. Sinyal tersebut akan dikonversi ke nilai angka dan ditampilkan pada jendela Serial Monitor.

Adapun kode yang harus kita upload adalah seperti berikut:

int pinPot = A5;   // pin untuk menerima sinyal analog dari potensiometer
int val = 0;       // variabel untuk menyimpan nilai konversi analog ke digital

void setup()
{
  Serial.begin(9600);  // setup koneksi serial
}

void loop() {
  val = analogRead(pinPot);    // baca nilai analog dari potensiometer
  Serial.println(val);         // kirim nilai val ke koneksi serial
  delay(100);                  // beri jeda hingga pengulangan selanjutnya
}

Upload kode program. Pastikan Kamu sudah mengeset board dengan Arduino Uno dan memilih port yang sesuai dengan koneksi USBmu. Setelah proses upload berhasil, buka jendela Serial Monitor dengan memilih menu Tools > Serial Monitor atau mengklik tombol Serial Monitor yang ada di sebelah kanan atas jendela Arduino IDE. Kamu dapat mengamati nilai analog yang masuk dan melihat perubahannya sambil memutar-mutar kenop potensiometer.