Pada Arduino UNO, pin analog ditandai dengan label A0 sampai A5. 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.
Artikel ini akan membahas tentang pin analog pada Arduino Uno dapat dijadikan input dan output digital. Nah untuk yang pertama kita akan memulai dengan yang eksperimen dasar untuk membuktikan bahwa pin analog dapat digunakan sebagai input dan output digital terlebih dahulu. Sebelum eksperimennya siapkan terlebih dahulu bahan – bahannya seperti :
- Unit Arduino Uno
- Potensiometer
- LCD
- LED
- Kabel jumper
Nah setelah bahan sudah di siapkan kemudian rangkai rangkaian pertama menjadi seperti:
- Hubungkan pin tengah potensiometer ke pin A0 arduino uno (pin analog)
- Kemudian hubungkan 2 pin yang lain masing – masing di pin 5v dan pin ground Arduino uno.
- Tambahkan 1 buah LED yang disambungkan ke pin 13 arduino dan ground
- Buat program Arduino seperti ini :
int sensorPin = A0;// select the input pin for the potentiometer int ledPin = 13; //select the pin for the LED int sensorValue = 0; // variable to store the value coming from the sensor void setup() { // declare the ledPin as an OUTPUT: pinMode(ledPin, OUTPUT); } void loop() { // read the value from the sensor: sensorValue = analogRead(sensorPin); // turn the ledPin on digitalWrite(ledPin, HIGH);// stop the program for <sensorValue> milliseconds: delay(sensorValue); // turn the ledPin off: digitalWrite(ledPin, LOW); // stop the program for for <sensorValue> milliseconds: delay(sensorValue); }
5. Upload program ke Arduino uno sesuai dengan port yang terhubung.
6. Putar potensiometer dan amati hasilnya.
Hasil dari eksperimen pertama adalah pada program ini menghasilkan output : semakin besar nilai sensorValue dari aktivitas memutar potensiometer maka akan semakin kecil waktu tunda HIGH/LOW pada LED (berkedip cepat). Sedangkan semakin kecil nilai sensorValue maka akan semakin besar waktu tunda HIGH/LOW pada LED (berkedip lambat).
Nah apabila berhasil lanjut ke eksperimen dengan rangkaian ke 2, rangkaian 2 seperti :
Untuk programnya sebagai berikut :
#include <LiquidCrystal.h> int sensorPin = A0; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int X; int Y; void setup() { lcd.begin(16, 2); } void loop() { X = analogRead(sensorPin); if(X<100){ Y = 0; lcd.setCursor(0, 0); lcd.print("nilai adc = "); lcd.setCursor(0, 1); lcd.print("nilai olah= "); lcd.setCursor(12, 0); lcd.print(X); lcd.setCursor(12, 1); lcd.print(Y); } if(100<=X<=500){ Y = (0.5*X); lcd.setCursor(0, 0); lcd.print("nilai adc = "); lcd.setCursor(0, 1); lcd.print("nilai olah= "); lcd.setCursor(12, 0); lcd.print(X); lcd.setCursor(12, 1); lcd.print(Y); } if(X>500){ Y = 250; lcd.setCursor(0, 0); lcd.print("nilai adc = "); lcd.setCursor(0, 1); lcd.print("nilai olah= "); lcd.setCursor(12, 0); lcd.print(X); lcd.setCursor(12, 1); lcd.print(Y); } }
Upload program dan putar putar pontesiometernya. Hasilnya akan seperti ini :
Jika kita perhatikan potensiometer juga berpengaruh untuk tingkat kecerahan LCD.
Bagaimana apakah kalian berhasil?
Setelah kita melakukan percobaan-percobaan diatas, dapat disimpulkan bahwa:
- Pin analog pada Arduino dapat digunakan untuk input dan output digital.
- Pin analog memiliki fitur untuk dapat mengubah sinyal analog yang masuk menjadi nilai digital.
- Input analog digunakan sebagai pengatur kecerahan LCD.
- Input analog bisa digunakan untuk kendali perintah pada LCD.
Sekian artikel bereksperimen dengan pin Analog Arduino, semoga kalian berhasil dan teruslah mencoba membuat variasi program dan rangkaian yang lain sesuai kebutuhan kamu ya.