Kalian pasti sudah mengetahui, Potensiometer merupakan jenis resistor yang ukuran resistansinya atau nilai hambatannya dapat kita ubah-ubah sesuai dengan kebutuhan kita. Dan pada Arduino sendiri, kalian bahkan dapat melihat tampilan berapa nilai yang dihasilkan oleh potensiometer pada posisi tertentu. Kemudian dapat kita manipulasi sesuai dengan kebutuhannya.
Sekarang untuk pertama kalinya kita akan mencoba membuat program, supaya Potensiometer ini dapat mengatur kecepatan Blink dari lampu LED.
Sebelumnya yang harus kalian siapkan adalah :
1x Arduino
1x Breadboard
1x Potensiometer
1x Led
7x Kabel Jumper
Apabila sudah lengkap, buatlah rangkaian seperti gambar dibawah ini :
Rangkaian :
1. Sambungkan 5V dan GND dari Arduino ke Breadboard.
2. Sambungkan kaki kanan Potensiometer ke VCC.
3. Sambungkan kaki kiri Potensiometer ke GND.
4. Sambungkan kaki tengah Potensiometer ke pin A3 Arduino.
5. Sambungkan kaki +LED ke Arduino Uno pin 13, dan kaki -LED ke GND.
Apabila sudah selesai dirangkai, saatnya untuk membuat kode programnya di Arduino IDE. Kalian dapat juga menggunakan sampel pada Arduino IDE dengan cara meng-klik didalam menu File=>Examples=>Analog=>AnalogInput. Atau dapat juga dengan menyalin ulang sketch kode program dibawah ini :
byte sensor= A0;
byte led= 13;
int nilai;
void setup(){
pinMode(led, OUTPUT);
}
void loop(){
nilai= analogRead(sensor);
digitalWrite(led, HIGH);
delay(nilai);
digitalWrite(led, LOW);
delay(nilai);
}
Keterangan :
1. int sensorPin = A0;
Kode program ini digunakan untuk membuat pin A0 pada Arduino menjadi variabel sensorPin. Karena pin A0 sebagai input analog, maka pada baris kode program Arduino IDE void setup tidak perlu dibuat program pinMode(sensorPin, INPUT); hal ini dikarenakan apabila pin analog Arduino sudah pasti sebagai INPUT, tidak dapat digunakan sebagai OUTPUT sensor.
2. Didalam baris program void loop fungsi dari kode program sensorValue = analogRead(sensorPin);
Difungsikan untuk menyimpan nilai hasil pembacaan dari sensorPin kedalam variabel sensorValue.
3. delay(sensorValue);
Fungsi ini digunakan untuk memberikan waktu jeda nyala lampu LED berdasarkan nilai yang keluar dari sensorPin, sehingga kecepatan lampu berkedip berdasarkan nilai analog dari potensiometer.
Membaca Nilai dari Potensiometer dan Mengatur Terang Redup Lampu LED (AnalogInOut)
Potensiometer adalah jenis resistor yang hambatannya dapat berubah-ubah. Tetap dengan rangkaian yang sama seperti diatas (cobalah sambungan pin 13 dipindakan ke pin 9 Arduino) kita akan membuat sketch kode program untuk membaca nilai analog dari potensiometer. Diman rentang kisaran nilainya dari potensiometer adalah 0-225.
- Nilainya 0 ketika tidak ada hambatan.
- Dan nilainya 225 saat hambatan maksimal.
Sketch untuk kode programnya, kalaian dapat membukanya di Arduino IDE pada menu FILE=>EXAMPLES=>ANALOG=>ANALOGINOUT. Jika ingin cepat salin ulang sketch berikut ini :
byte sensor= A0;
byte led= 9;
int nilai;
int output;
void setup(){
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop(){
nilai= analogRead(sensor);
output= map(nilai, 0, 1023, 0, 255);
analogWrite(led, output);
Serial.print("sensor: ");
Serial.print(nilai);
Serial.print(" ");
Serial.print("output: ");
Serial.print(output);
delay(2);
}
Apabila inging melihat nilai yang dihasilkan dari Potensiometer, kalian dapat pilih TOOLS=>SERIAL MONITOR atau CTRL+SHIFT+M , atau klik tombol yang ada di pojok kanan seperti dibawah ini.
Catatan :
1. const int analogInPin = A0;
Kode program sama seperti yang sebelumnya digunakan untuk membuat variabel, tambahan kode const sebelum int adalah untuk penetapan nilainya.
2. Serial.begin(9600);
Kode program ini berfungsi agar arduino dapat berkomunikasi dengan komputer, dan 9600 adalah salah satu nilai yang dipilih untuk komunikasi.
3. outputValue = map(sensorValue, 0, 1023, 0, 255);
Merupakan nilai yang dihasilkan dari sensorValue adalah range antara 0-1023, dan nilainya akan dikonversi menjadi nialai dengan range antara 0-225 pada variabel outputValue.
4. analogWrite(analogOutPin, outputValue);
Kode program untuk menyalakan LED menggunakan PWM (agar dapat diatur terang redup cahaya LEDnya berdasarkan outputValue.
5. Serial.print("sensor = " );
Fungsi ini berguna untuk menampilkan teks yang ada didalam tanda kutip "sensor=".
6. Serial.print(sensorValue);
Kode program untuk menampilkan nilai yang ada pada sensorValue.
7. Serial.print("t output = ");
Digunakan untuk menampilkan teks yang berada didalam tanda kutip "t output=".
8. Serial.println(outputValue);
Berfungsi untuk menampilkan nilai yang ada pada outputValue.
Apabila divariasi lagi kode programnya :
Dengan membuat rangkaian seperti pada rangkaian diatas kalian dapat membuat sketch kode program seperti berikut :
- Jika nilai potensiometer < 100 lampu LED merah menyala, jika nilai potensiometer < 150 lampu LED kuning menyala, jika nilai potensiometer < 200 lampu LED hijau menyala.
Sehingga untuk membuat sketch kode program seperti diatas tentu saja kalian membutuhkan kode program if. Adapun sebagai contohnya :
if ( outputValue < 100) {
digitalWrite(LEDmerah, HIGH);
}
Posting Komentar untuk "Program Arduino Analog Input Dengan Potensiometer"