Yayasan Peduli Fajar Imani

Mengontrol Servo dengan Sensor Cahaya LDR dan Arduino

Ditulis oleh agan

بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم

Halooo sahabat Arduino yang masih diberikan kesehatan dan semangat dalam hidup ini :)
Selamat datang saya ucapkan untuk kalian semua yang sedang mengunjungi blog ini..

Tidak terasa ya, sekarang sudah mendekati waktu Idul Fitri atau "Lebaran". Ya, Lebaran adalah hari yang sangat ditunggu-tunggu oleh Umat Muslim Dunia untuk merayakan hari kemenangannya. Pada hari lebaran seluruh kaum muslimin dan muslimat baru saja menuntaskan kewajiban agama islam yang berat yaitu menahan hawa nafsu melalui ibadah shaum di bulan suci Ramadhan yang penuh Berkah ini, Amiin.

Dan seperti biasanya, kita sebagai Warga Muslim Negara Indonesia selalu merayakan hari itu dengan banyak acara, yaitu dengan mudik atau pulang kampung (bagi yang merantau), dll.

Oke, sudah dulu ya gan berceritanya, mari langsung saja kita fokus ke tutorialnya.
dikesempatan kali ini kita akan mengontrol servo dengan Arduino dan Sensor cahaya (LDR) dalam tutorial ini, kita akan belajar menggunakan Knob dengan Arduino, Ayo di simak gan!

Alat dan Bahan yang dibutuhkan :
  • 1x Arduino UNO (Compatible)
  • 1x LDR (Photoresistor)
  • 1x Motor Servo
  • 1x Resistor 10K Ohm
  • Kabel jumper secukupnya
  • Breadboard (Project Board)

Langkah - Langkahnya :

1.) Susunlah rangkaian seperti gambar dibawah ini


Keterangan Konfigurasi Kabel :
  • Pin VCC pada Arduino dihubungkan ke Kabel Merah Servo
  • Pin GND pada Arduino dihubungkan ke Kabel Hitam Servo
  • Pin 6 pada Arduino dihubungkan ke Kabel Kuning Servo
  • Pin A0 pada Arduino dihubungkan ke Salah satu kaki LDR
2.) Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
3.) Download dan Install program Arduino IDE di Arduino.cc ( If Needed )
4.) Setelah terinstall, jalankan program Arduino-nya.
5.) Klik menu "Tools -> Board -> Arduino Uno"
6.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )
7.) Lalu masukan Sketch dibawah ini, dan terakhir klik upload.

Klik LIHAT DONG untuk melihat sketch
#include <Servo.h>              //Library untuk motor servo
Servo myservo;                     //Membuat object 1 buah Servo
int pinSensorLDR = 0;          //Pin input untuk sensor LDR
int hasil;                                 //Membuat variable untuk hasil sensor

void setup() {
  myservo.attach(6);               //Hubungkan servo pada Pin 6 Arduino
}

void loop() {
  hasil = analogRead(pinSensorLDR);       //hasil = input dari sensor LDR
  hasil = map(hasil, 10, 800, 0, 180);         //Convert hasil LDR untuk Servo
  myservo.write(hasil);                               //Putar servo sesuai hasil LDR
  delay(15);                                                  //Delay
}

Lihat video simulasi dibawah ini


 
Terimakasih telah berkunjung, selamat mencoba dan semoga bermanfaat.

Blog, Updated pada: 00:57:00

12 comments:

  1. klo sensor ldr nya di ganti sama kluaran tegangan solar cell gimana skethnya gan??

    ReplyDelete
    Replies
    1. Diganti solar cell? maksundya mau dijadikan bagaimana?

      Delete
  2. gan misalkan dari kita menentukan misalkan nilai ldr 0-100 servo putar kekiri stop, 200-400 servo putar ke kanan stop gimana ya caranya, makasih wassalam

    ReplyDelete
    Replies
    1. Pakai if else gan, misal

      if(ldr == 0 && ldr <= 100){
      derajat++;
      servo.write(derajat);
      }
      else if(ldr > 299 && ldr <= 400){
      derajat = derajat;
      Servo.write(derajat);
      }

      Delete
  3. gan,saya baru belajar menggunakan arduino dan mau membuat jika ada benda dengan jarak < 30cm, maka akan menghidupkan LED selama benda itu jaraknya masih <30 cm. ketika benda itu di pindah menjadi 40 cm, maka lampu LEDnya LOW. itu gimana gan? saya menggunakan while, tapi gagal. saya pakai sensor ultrasonic.

    ReplyDelete
    Replies
    1. if(jarak > 0 && jarak <= 30){
      digitalWrite(LED, HIGH);
      }
      else if{jarak >= 40){
      digitalWrite(LED, LOW);
      }

      Delete
  4. hasil = map(hasil, 10, 800, 0, 180);
    ini apaan ya gan ? yang 10 800 0 180
    klo ane mau jadiin keluarannya untuk lampu gimana ya ? terimakasih

    ReplyDelete
    Replies
    1. Itu untuk mengubah rentang nilai hasil LDR 0 sampai 800 menjadi 0 sampai 180 untuk mengontrol servo.

      Kalau untuk menyalakan lampu, sudah ada tutorialnya di blog ini... Ketik saja "saklam lampu otomatis" di pencarian blog ini.

      Delete
  5. klo menggunakan 4 ldr dan 2 motor servo gimana programnya?

    ReplyDelete
  6. gan cara agar servo bergerak lambat saat terkena cahaya dan bergerak cepat saat tidak ada cahaya gimana?

    ReplyDelete
    Replies
    1. Di map aja nilai LDR nya, untuk write posisi servo.

      Delete

Masih Bingung atau Hal Lainnya? Silahkan Bertanya di Kolom Komentar :)

~ Dilarang SARA
~ Dilarang PORNOGRAPHY
~ Dilarang SPAM
~ Dilarang MENINGGALKAN LINK AKTIF
~ Maaf untuk Anonymous, tidak bisa Berkomentar.

Apabila Komentar anda belum muncul, Tunggu sampai di Moderasi.
Terimakasih atas Perhatiannya.


English French German Spain Italian Dutch Russian


Back to top