Program Arduino: Analog Input Potensiometer!
Seperti yang kita tahu, Potensiometer yaitu jenis resistor yang ukuran resistansinya atau nilai hambatannya sanggup kita rubah sesuai dengan kebutuhan kita. Nah pada Arduino, bahkan kita sanggup melihat berapa nilai yang dihasilkan oleh potensiometer pada posisi tertentu. Lalu sanggup kita manipulasi sesuai dengan kebutuhan kita.
Nah untuk pertama kalinya kita akan coba menciptakan program, biar si Potensiometer ini sanggup mengatur kecepatan BLINK! Dan yang harus kau siapkan adalah:
Buatlah rangkaian menyerupai gambar dibawah ini:
NOTES:
- Hubungkan 5V dan GND dari Arduino ke Breadboard.
- Hubungkan kaki kanan Potensiometer ke VCC.
- Hubungkan kaki kiri Potensiometer ke GND.
- Hubungkan kaki tengah Potensiometer ke pin A3 Arduino.
- Untuk LED rangkaiannya tidak jauh berbeda dengan pembahasan sebelumnya.
***
Untuk programnya, kau bisa gunakan sampel pada File=>Examples=>Analog=>AnalogInput. Atau sallin ulang sketch ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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); } |
NOTES:
- int sensorPin = A0; dipakai untuk menciptakan pin A0 menjadi variabel sensorPin dan sebab pin AO yaitu input analog, maka pada void setup tidak perlu dibentuk program pinMode(sensorPin, INPUT); sebab kalau pin analog sudah pasti INPUT, tidak sanggup digunakan untuk OUTPUT.
- mengingat kembali fungsi dari sensorValue = analogRead(sensorPin); yaitu untuk menyimpan nilai baca dari sensorPin kedalam variabel sensorValue.
- delay(sensorValue); digunakan untuk memperlihatkan waktu jeda menurut nilai yang keluar dari sensorPin, jadi kecepatan lampu berkedip menurut potensiometer.
***
Membaca Nilai dari Potensiometer dan Mengatur Terang Redup Cahaya LED (AnalogInOut)
Seperti yang kita tahu bahwa potensiometer yaitu jenis resistor yang hambatannya sanggup berubah.
Masih dengan rangkaian yang sama (pin 13 dipindakan ke pin 9) kita akan menciptakan sketch program, untuk membaca nilai dari potensiometer. Yang mana kisaran nilai dari potensiometer yaitu 0-225.
0 ketika tidak ada hambatan, dan 225 ketika kendala maksimal.
Untuk kegiatan kau sanggup buka FILE=>EXAMPLES=>ANALOG=>ANALOGINOUT.
Atau salin ulang sketch berikut ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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); } |
untuk melihat nilai yang dihasilkan dari Potensiometer kau sanggup pilih TOOLS=>SERIAL MONITOR atau CTRL+SHIFT+M , atau klik tombol yang ada di pojok kanan.
NOTES:
- const int analogInPin = A0; kegiatan menyerupai sama menyerupai sebelumnya digunakan untuk menciptakan variabel, komplemen arahan const sebelum int yaitu untuk penetapan nilai.
- Serial.begin(9600); berfungsi biar arduino sanggup berkomunikasi dengan komputer, 9600 yaitu salah satu nilai yang dipilih untuk komunikasi.
- outputValue = map(sensorValue, 0, 1023, 0, 255); nilai yang dihasilkan dari sensorValue yaitu 0-1023, nilainya akan dikonversi menjadi 0-225 pada variabel outputValue.
- analogWrite(analogOutPin, outputValue); menyalakan LED menggunakan PWM (agar sanggup diatur terperinci cahanya menurut outputValue.
- Serial.print(“sensor = ” ); berkhasiat untuk menampilkan teks yang ada didalam tanda kutip “sensor=“.
- Serial.print(sensorValue); untuk menampilkan nilai yang ada pada sensorValue.
- Serial.print(“t output = “); berkhasiat untuk menampilkan teks yang ada didalam tanda kutip “t output=“.
- Serial.println(outputValue); untuk menampilkan nilai yang ada pada outputValue.
MARI LEBIH KREATIF!!!
Dengan menciptakan rangkaian menyerupai pada Gambar 1.5 B, kau sanggup menciptakan sketch kegiatan seperti;
- Jika nilai potensiometer < 100 lampu merah menyala, bila nilai potensiometer < 150 lampu kuning menyala, bila nilai potensiometer < 200 lampu hijau menyala.
Untuk menciptakan kegiatan menyerupai diatas tentu kau membutuhkan arahan if. Sebagai contoh:
if ( outputValue < 100) {
digitalWrite(LEDmerah, HIGH);
}
Komentar
Posting Komentar