Langsung ke konten utama

Program Arduino: Analog Input Potensiometer!

Seperti yang kita tahu, Potensiometer adalah jenis resistor yang ukuran resistansinya atau nilai hambatannya bisa kita rubah sesuai dengan kebutuhan kita. Nah pada Arduino, bahkan kita bisa melihat berapa nilai yang dihasilkan oleh potensiometer pada posisi tertentu. Lalu bisa kita manipulasi sesuai dengan kebutuhan kita.

Nah untuk pertama kalinya kita akan coba membuat program, agar si Potensiometer ini dapat mengatur kecepatan BLINK! Dan yang harus kamu siapkan adalah:

1x Arduino
1x Breadboard
1x Potensiometer
1x Led
7x Kabel Jumper

Buatlah rangkaian seperti 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, kamu bisa  gunakan sampel pada File=>Examples=>Analog=>AnalogInput. Atau sallin ulang sketch ini:


int sensorPin = A0;        // membuat variabel sensorPin untuk pin AO
int ledPin = 13;             // membuat variabel ledPin untuk pin 13
int sensorValue = 0;      // membuat variabel sensorValue untuk menentukan nilai awal sensor

void setup() {
   pinMode(ledPin, OUTPUT);     // membuat variabel ledPin menjadi OUTPUT
}

void loop() {
  sensorValue = analogRead(sensorPin);     // membuat variabel sensorValue untuk membaca nilai dari sensorPin

  digitalWrite(ledPin, HIGH);         // menyalakan ledPin
  delay(sensorValue);                    // memberi waktu jeda sebanyak sensorValue
  digitalWrite(ledPin, LOW);        // mematikan ledPin
  delay(sensorValue);                   // memberi waktu jeda sebanyak sensorValue
}

NOTES:   
  • int sensorPin = A0; digunakan untuk  membuat pin A0 menjadi variabel sensorPin dan karena pin AO adalah input analog, maka pada void setup tidak perlu dibuat program pinMode(sensorPin, INPUT); karena kalau pin analog sudah pasti INPUT, tidak bisa digunakan  untuk OUTPUT.
  • mengingat kembali fungsi dari sensorValue = analogRead(sensorPin); adalah untuk menyimpan nilai baca dari sensorPin kedalam variabel sensorValue.
  • delay(sensorValue); digunakan untuk memberikan waktu jeda berdasarkan nilai yang keluar dari sensorPin, jadi kecepatan lampu berkedip berdasarkan potensiometer.

Membaca Nilai dari Potensiometer  dan  Mengatur Terang Redup Cahaya LED (AnalogInOut)

Seperti yang kita tahu bahwa potensiometer adalah jenis resistor yang hambatannya  dapat berubah.

Masih dengan rangkaian yang sama (pin 13 dipindakan ke pin 9) kita akan membuat sketch program, untuk membaca nilai dari potensiometer. Yang mana kisaran nilai dari potensiometer adalah 0-225.
0 ketika tidak ada hambatan, dan 225 saat hambatan maksimal.

Untuk program kamu bisa buka FILE=>EXAMPLES=>ANALOG=>ANALOGINOUT.
Atau salin ulang sketch berikut ini:

const int analogInPin = A0;      // membuat variabel analogInPin untuk pin A0
const int analogOutPin = 9;     // membuat variabel analogOutPin untuk pin 9

int sensorValue = 0;        // variabel posisi awal pin AO
int outputValue = 0;        // variabel posisi awal nilai output

void setup() {
  Serial.begin(9600);     // menambahkan kode Serial untuk komunikasi Arduino ke Komputer
}

void loop() {
  sensorValue = analogRead(analogInPin);     // variabel membaca nilai analogInPin
  outputValue = map(sensorValue, 0, 1023, 0, 255);     //konversi 0-1023 ke 0-225
 
  analogWrite(analogOutPin, outputValue);     // menyalakan LED, dengan tingkat terang dari outputValue

  Serial.print("sensor = " );     // menampilkan text sensor=
  Serial.print(sensorValue);     // menampilkan sensor value
  Serial.print("\t output = ");     // menampilkan text output=
  Serial.println(outputValue);     // menampilkan nilai outputValue

  delay(2);     // memberikan waktu jeda selama 2 milidetik
}

NOTES:  
untuk melihat nilai yang dihasilkan dari Potensiometer kamu bisa pilih TOOLS=>SERIAL MONITOR atau CTRL+SHIFT+M , atau klik tombol yang ada di pojok kanan.

  • const int analogInPin = A0; program seperti sama seperti sebelumnya digunakan  untuk membuat variabel, tambahan kode const sebelum int adalah untuk penetapan nilai.
  • Serial.begin(9600); berfungsi agar arduino bisa berkomunikasi dengan komputer, 9600 adalah salah satu nilai yang dipilih untuk komunikasi.
  • outputValue = map(sensorValue, 0, 1023, 0, 255); nilai yang dihasilkan dari sensorValue adalah 0-1023, nilainya akan dikonversi menjadi 0-225 pada variabel outputValue.
  • analogWrite(analogOutPin, outputValue); menyalakan LED menggunakan PWM (agar bisa diatur terang cahanya berdasarkan outputValue.
  • Serial.print("sensor = " ); berguna untuk menampilkan teks yang ada didalam tanda kutip “sensor=“.
  • Serial.print(sensorValue); untuk menampilkan nilai yang ada pada sensorValue.
  • Serial.print("\t output = "); berguna untuk menampilkan teks yang ada didalam tanda kutip “\t output=“.
  • Serial.println(outputValue); untuk menampilkan nilai yang ada pada outputValue.

MARI LEBIH KREATIF!!!
Dengan membuat rangkaian seperti pada Gambar 1.5 B, kamu bisa membuat sketch program seperti;

  1. Jika nilai potensiometer < 100 lampu merah menyala, jika nilai potensiometer < 150 lampu kuning menyala, jika nilai potensiometer < 200 lampu hijau menyala.
Untuk membuat program seperti diatas tentu kamu membutuhkan kode if. Sebagai contoh:

if ( outputValue < 100) {
    digitalWrite(LEDmerah, HIGH);
}

OK! Selamat mengerjakan ;)

Komentar

  1. Kang,nuhun mau tanya bagaimana cara mengabungkan program antara sensor suhu dengan led?

    BalasHapus
    Balasan
    1. menyalakan led berdasarkan suhu ya maksudnya?

      silahkan buka postingan berikut:
      http://www.kelasrobot.com/2015/12/program-arduino-sensor-suhu-lm35.html

      Hapus
  2. Mas klo bleh tau. Yg analogi out itu di upload juga atau cuma yg perintahnya aj,mohon pencerahannya

    BalasHapus
  3. Gan kalo misal untuk sensor naik atau turun gimana? KAN ada 8 titik. Misal titik 2 ke 3 dianggap naik. Dan sebalikannya 8 ke 7, 4 ke 3 dianggap turun? Hanya ada 2 kondisi. Thanks

    BalasHapus
  4. terima kasih kang ilmunya, mau tanya gimana kalo pake 2 potensimeter

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Belajar Pemrograman Dasar Arduino!

Yang yang baru pertama kali belajar arduino silahkan masuk dulu ke KELAS ARDUINO . Seperti yang saya bilang pada postingan sebelumnya, bahasa pemrograman Arduino mirip bahasa C yang digunakan pada AVR. Akan tetapi lebih sederhana, dan lebih mudah untuk dipelajari. Ada yang bilang juga bahwa bahasa pemrograman Arduino adalah bahasa processing. Bagi saya bahasa pemrograman yang digunakan pada Arduino adalah bahasa pemrograman Arduino ;) hehe Nah pada kelas ini saya ingin mengajak kamu untuk belajar Bahasa Pemrograman Dasarnya. Penting sekali, supaya saat dipembahasan selanjutnya saya kasih kamu contoh program. Kamu sudah bisa memahami dan tidak bingung, karena kamu sudah tahu dasarnya. Ok! Baiklah kita akan mulai dari: void setup () { // semua kode yang disini akan dibaca sekali oleh Arduino } void loop () { //semua kode yang ada disini akan dibaca berulang kali (terus menerus) oleh Arduino } Semua kode program yang ada dalam void setup akan dibaca sekali oleh A...

Program Arduino: Sensor Cahaya LDR!

Light Dependent Resistor (LDR) adalah jenis resistor yang nilai hambatannya di pengaruhi oleh cahaya di sekitar. Maka kita bisa membuat LDR ini menjadi sensor cahaya. Karena memang sudah banyak aplikasinya. Misalnya pada lampu jalan, tidak ada saklar untuk mematikan dan menghidupkan lampu jalan. Dengan menggunakan sensor cahaya LDR, lampu jalan akan mati ketika siang dan akan hidup ketika malam secara otomatis. Sekarang kita akan buat program Arduino yang akan melakukan, "Lampu LED menyala ketika keadaan gelap dan mati ketika keadaan terang"  ( Automatic Lighting System ). Yang harus kamu siapkan: 1x Arduino 1x Breadboard 1x Sensor cahaya LDR 1x Resistor 10k 7x Kabel jumper Kemudian buat rangkaian seperti gambar dibawah ini. NOTES : Hubungkan 5V dan GND dari Arduino ke Breadboard. Hubungkan kaki kiri LDR ke 5V. Hubungkan kaki kanan LDR ke pin A2 Arduino. Hubungkan kaki kiri resistor ke celah antara kaki kanan LDR dan GND arduino. Hubungkan kak...

Menghidupkan Dan Mematikan LED dengan Satu Tombol - Program Arduino Button

Sebelumnya di tutorial, " Program Arduino: Digital Read Push Button! ." Ada banyak sekali komentar yang meminta untuk dibuatkan tutorial ini, seperti pada komentar: "Mau tanya mas,, kalo tombol di tekan led akan nyala dan tombol di lepas led tetap nyala sampai di tekan lg tombolnya baru led mati,," "Mas saya ada tugas nih. Kalo kita menggunakan 2 led tapi menggunakan 1 button.. Kita tekan button lampu led1 huidup.. lalu kita tekan button led 1 mati.. kita tekan lagi button led 2 yang hidup.. bagaimana program nya mas?" "Manthap && jos tutor'y.. Oya Mas,? mau tanya && minta ilmu || jurusnya, gimana cara menyalakan 5 led dalam satu button,,? Jadi jika button di tekan LED1 akan menyala dan tekan lagi LED2 menyala, sampai 5 led. Mohon bantuannya mas.? Hehe" Inti dari pertanyaan mereka jika saya simpulkan adalah bagaimana dengan satu tombol bisa menjalakan banyak fungsi, seperti menghidupkan dan mematikan led. Di ...