Melanjutkan tutorial saya sebelumnya, tentang simulator Arduino menggunakan Proteus dan VBB. Kali ini saya berikan ulasan tentang aplikasi Arduino untuk membaca masukan ANALOG yang nilai terbaca akan digunakan untuk memberikan tundaan kedipan LED pada pin-13.
Perhatikan gambar rangkaian berikut ini…
Gambar 1
Keterangan singkat tentang program dalam format Arduino disertakan langsung pada listingnya, silahkan dicermati, jika ada pertanyaan langsung saja di bagian komentar. Insya Allah saya berikan penjelasan secukupnya…
Listing program…
/*
Masukan Analog
Demo masukan analog dengan cara memasang potensiometer pada pin analog-0 dan
menyalakan mematikan LED pada pin 13 dengan kecepatan/delay menyesuaikan
nilai yang terbaca pada masukan analog tersebut menggunakan
fungsi analogRead().
Rangkaian:
* Potensiometer dipasang pada masukan analog-0 (A0)
* kaki tengah potensiometer yang dihubungkan ke pin analog-0 tsb
* kaki satunya ke +5V, satunya lagi ke GND
* Anode LED (kaki yg panjang) dihubungkan ke luaran 13
* Katoda LED (kaki yang pendek) dihubungkan ke GND
* Catatan: karena pin 13 sudah tersedia LED di board
maka pemasangan LED ini opsional.
Contoh dari David Cuartielles
Modifkasi 4 Sep 2010
Oleh Tom Igoe
http://arduino.cc/en/Tutorial/AnalogInput
*/
int sensorPin = A0; // pin masukan untuk potensiometer
int ledPin = 13; // pin luaran untuk LED
int sensorValue = 0; // variabel untuk simpan nilai analog
void setup() {
// deklarasikan ledPin sebagai OUTPUT:
pinMode(ledPin, OUTPUT);
}
void loop() {
// baca data/nilai dari sensor:
sensorValue = analogRead(sensorPin);
// hidupkan LED:
digitalWrite(ledPin, HIGH);
// tunda program selama <sensorValue> milidetik:
delay(sensorValue);
// matikan LED:
digitalWrite(ledPin, LOW);
// tunda program selama <sensorValue> milidetik:
delay(sensorValue);
}
Penjelasan (amat) singkat:
- Fungsi untuk membaca masukan analog adalah analogRead(sensorPin), dimana parameter sensorPin bisa diisikan dengan A0, A1, A2, A3, A4 atau A5. Anda bisa memasang potensiometer tidak hanya di Analog-0 atau A0, bisa juga dicoba di masukan Analog lainnya (A1 sampai dengan A5).
- Hasil pembacaan masukan analog tersebut disimpan pada sebuah variabel dengan nama sensorValue, dan digunakan sebagai nilai pada fungsi tundaan delay().
- Perlu diketahui bahwa resolusi ADC (Analog to Digital Converter) pada Arduino sesuai dengan mikrokontroler yang digunakan, yaitu ATmega328, sebesar 10bit, atau gampangnya nilai yang terbaca bukan tegangan dari potentiometer tetapi berupa angka biner yang desimal nya antara 0 hingga 1024 (2^10) – nilai inilah yang digunakan untuk memberikan tundaan kedipan pada LED (info lengkap Arduino UNO)
- Sebagaimana penjelasan pada tutorial sebelumnya, LED dihidupkan dengan memberikan luaran HIGH dan mematikan dengan luaran LOW pada pin terkaitt.
Semoga membawa manfaat, terimakasih…