Fungsi analogReference() dalam Masukan dan Keluaran Arduino

Dalam artikel Fungsi Masukan dan Keluaran pada Arduino telah dibahas dasar-dasar fungsi masukan dan keluran pada Arduino. Dalam artikel ini akan dilanjutkan dengan fungsi masukan dan keluaran pada arduino yang lainnya yaitu analogReference().

Fungsi analogReference()

Fungsi ini mengkonfigurasi tegangan yag digunakan untuk masukan analog, seperti nilai yang digunakan sebagai rentang masukan tertinggi. Opsi-opsi yang ada pada fungsi ini meliputi:

  • DEFAULT – Referensi analog bawaan 5 volt (pada papan Arduino 5V) atau 3,3 volt (pada papan Arduino 3.3V)
  • INTERNAL − Referensi bawaan, sama dengan 1,1 volt pada ATmega168 atau ATmega328 dan 2,56 volt pada ATmega8 (tidak tersedia di Arduino Mega)
  • INTERNAL1V1 − Referensi bawaan 1.1V (hanya Arduino Mega)
  • INTERNAL2V56 − Referensi bawaan 2.56V (hanya Arduino Mega)
  • EXTERNAL − Tegangan yang diterapkan pada pin AREF (hanya 0 hingga 5V) digunakan sebagai referensi

Sintaks Fungsi analogReference()

analogReference (type);

type : dapat menggunakan semua jenis ini (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EKSTERNAL)

Jangan gunakan tegangan kurang dari 0V atau lebih dari 5V untuk tegangan referensi eksternal pada pin AREF. Jika menggunakan referensi eksternal pada pin AREF, maka harus mengatur referensi analog ke EKSTERNAL sebelum memanggil fungsi analogRead(). Jika tidak, maka akan memperpendek tegangan referensi aktif (yang dihasilkan secara internal) dan pin AREF, mungkin dapat merusak mikrokontroler pada papan Arduino.

Atau, tegangan referensi eksternal dapat dihubungkan ke pin AREF melalui resistor 5K, sehingga memungkinkan untuk beralih antara tegangan referensi eksternal dan internal.

Perhatikan bahwa resistor akan mengubah tegangan yang digunakan sebagai referensi karena ada resistor internal 32K pada pin AREF. Keduanya bertindak sebagai pembagi tegangan. Sebagai contoh, 2.5V yang diterapkan melalui resistor akan menghasilkan 2.5 * 32 / (32 + 5) = ~ 2.2V pada pin AREF.

Contoh

int analogPin = 3;// potentiometer wiper (middle terminal) dihubungkan ke pin analog 3 
int val = 0; // variable untuk menyimpan nilai yang terbaca

void setup() {
Serial.begin(9600); // setup serial
analogReference(EXTERNAL); // tegangan yang diterapkan ke pin AREF (hanya 0 sampai 5V)
// digunakan sebagai referensi.
}

void loop() {
val = analogRead(analogPin); // membaca pin masukan
Serial.println(val); // debug nilai
}

 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top
× How can I help you?