Sampling Data Arduino
Pada aplikasi tertentu, membaca data secara realtime dengan kecepatan yang tinggi akan mendapatkan nilai yang tidak stabil, salah satunya adalah pembacaan ADC. Oleh karena itu, pada artikel ini saya akan membagikan cara membaca nilai ADC Arduino yang stabil menggunakan metode sampling data.
Rangkaian ADC
Seperti contoh pada gambar berikut menggunakan Sebuah potensiometer 10K yang terhubung pada pin Analog A0.
Teman-teman silahkan mencoba rangkaian diatas, sebagai contoh putar potensiometer ke posisi tengah dan diamkan, maka akan didapatkan hasil ADC yang nilai akhirnya kadang berubah-ubah seperti 515, 516, 517, 515, 517 dan seterusnya.
Bagaimana caranya kita membuat perubahan ini tidak sering terjadi? Jawabannya adalah dengan teknik smooting atau sampling.
Jadi, program akan dibuat untuk membaca nilai ADC selama sekian kali dan dari sekian kali tersebut akan diambil rata-rata.
Kode Program Sampling Arduino
Progamnya adalah sebagai berikut:
int adc = 0; //nilai awal pembacaan ADC A0
const int jumlah_baca = 10;
int baca[jumlah_baca];
int jumlahArray = 0;
int nilai = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
nilai = nilai - baca[jumlahArray];
baca[jumlahArray] = analogRead(A0);
nilai = nilai + baca[jumlahArray];
jumlahArray = jumlahArray + 1;
if (jumlahArray >= jumlah_baca) {
jumlahArray = 0;
}
adc = nilai / jumlah_baca; //mendapatkan nilai rata-rata
Serial.println(adc); //tampilkan nilai ADC A0
}
Silahkan diupload dan dilihat pada serial monitor, jika ingin lebih smooth lagi, ubah nilai sampling jumlah_baca menjadi lebih besar lagi.
Semoga artikel Cara Membaca Nilai ADC Arduino Yang Stabil Sampling Data ini bermanfaat.
Pencarian yang serupa: