Deskripsi
Merupakan fungsi untuk membaca tegangan dari pin analog Arduino Board. Arduino Board memiliki multichannel 10 bit ADC dengan tegangan antara 0 – 5V atau 0-3.3V untuk VCC = 3.3V. Sebagai contoh pada Arduino UNO dengan analog input 0 – 5V maka akan diperoleh resolusi sebesar 5V / 1024 = 4.9mV. Untuk Arduino Board yang lain, terdapat perbedaan tegangan maksimum, pin yang digunakan maupun resolusinya. Hal ini dapat dilihat pada tabel dibawah ini.

** Resolusi standard dari analog input adalah 10 bit, namun dengan instruksi analogReadResolution() dapat diubah menjadi 12 bit
Range input maksimum dapat diatur dengan fungsi analogReference() dan resolusi dapat diubah dengan fungsi analogReadResolution(), namun hanya dapat dilakukan pada Arduino Zero, Due atau MKR Family Boards.
Untuk ATMega yang menjadi basis Arduino UNO, Nano, Mini dan Mega dibutuhkan 100uS untuk membaca analog input. Oleh karena itu dalam 1 detik dapat dilakukan 10.000x pembacaan.

Syntax
analogRead(pin)
Parameters
pin: A0 – A5 untuk kebanyakan Arduino Board, A0 – A6 untuk MKR Boards dan A0 – A7 untuk Mini dan Nano dan A0 – A15 untuk Arduino Mega
Returns
Berupa data analog yang terbaca dari pin yaitu 0 – 1023 untuk 10 bit dan 0 – 4095 untuk 12 bit. Tipe data ini adalah int
Contoh Program
Program untuk membaca tegangan analog dan mengirimkan ke serial port
int analogPin = A3; // potentiometer terhubung pada pin analog 3 di bagian
// tengah dan di kaki 1 ke VCC serta kaki 3 ke GND
// (lihat gambar di atas)
int val = 0; // variable untuk menyimpan nilai yang dibaca
void setup() {
Serial.begin(9600); // inisial serial
}
void loop() {
val = analogRead(analogPin); // baca input pin
Serial.println(val); // kirim nilai ke serial port
}
Catatan dan Peringatan
Apabila analog input ini tidak terhubung dengan apapun maka nilai yang diperoleh akan tidak menentu atau acak
Terjemahan dan edit dari https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/
DELTA ELECTRONIC
Paulus Andi Nalwan, ST