Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Senin, 22 Juni 2026

Arduino Mengontrol Motor Servo Menggunakan Sensor Cahaya (LDR)

Sensor cahaya atau Light Dependent Resistor (LDR) merupakan salah satu sensor yang banyak digunakan dalam proyek elektronika dan otomasi. Sensor ini mampu mendeteksi perubahan intensitas cahaya di lingkungan sekitar dan menghasilkan sinyal yang dapat dibaca oleh Arduino. Dengan memanfaatkan data tersebut, Arduino dapat mengambil keputusan secara otomatis berdasarkan kondisi pencahayaan yang terdeteksi.

 

Salah satu penerapan menarik dari sensor cahaya adalah sebagai pemicu pergerakan motor servo. Motor servo merupakan aktuator yang dapat bergerak ke sudut tertentu dengan tingkat presisi yang cukup tinggi. Kombinasi antara sensor cahaya dan motor servo sering digunakan pada berbagai proyek otomatisasi seperti sistem buka-tutup pintu otomatis, penjejak cahaya (light tracking system), panel surya otomatis, hingga berbagai aplikasi robotika.

 

Pada tutorial ini, Anda akan mempelajari cara menggunakan sensor cahaya dan Arduino Uno untuk mengendalikan motor servo secara otomatis. Arduino akan membaca nilai analog dari sensor cahaya, kemudian membandingkannya dengan nilai ambang batas tertentu. Jika kondisi cahaya memenuhi syarat yang telah ditentukan, motor servo akan bergerak ke sudut 90 derajat. Sebaliknya, jika intensitas cahaya berada di bawah ambang batas, motor servo akan kembali ke posisi awal yaitu 0 derajat.

Tujuan Tutorial

Melalui tutorial ini, Anda akan mempelajari cara membaca nilai analog dari sensor cahaya menggunakan Arduino, menentukan nilai ambang batas (threshold) sebagai dasar pengambilan keputusan, mengontrol motor servo berdasarkan intensitas cahaya yang terdeteksi, menggerakkan servo ke sudut tertentu secara otomatis, dan memahami integrasi antara sensor dan aktuator dalam proyek Arduino.

Perangkat Keras yang Dibutuhkan

- Arduino Uno R3

- Kabel USB

- Sensor cahaya (LDR)

- Resistor 10K Ohm

- Motor servo (SG90 atau sejenisnya)

- Kabel jumper 

Cara Kerja Sistem

Prinsip kerja rangkaian ini cukup sederhana. Sensor cahaya akan mendeteksi tingkat pencahayaan di lingkungan sekitar dan mengirimkan nilai analog ke Arduino melalui pin A0. Arduino kemudian membandingkan nilai tersebut dengan nilai ambang batas yang telah ditentukan dalam program. Pada contoh ini digunakan nilai threshold sebesar 500. Apabila nilai sensor lebih besar dari nilai ambang batas, Arduino akan menganggap kondisi cahaya cukup terang dan menggerakkan motor servo ke posisi 90 derajat. Sebaliknya, jika nilai sensor lebih kecil dari nilai threshold, Arduino akan mengembalikan motor servo ke posisi awal yaitu 0 derajat. Proses ini berlangsung secara terus-menerus sehingga posisi servo akan selalu menyesuaikan kondisi cahaya yang diterima sensor.

 

Baca juga: Arduino Mengontrol Motor Servo Menggunakan Potensiometer 

Wiring Diagram Arduino Mengontrol Motor Servo Menggunakan Sensor Cahaya (LDR)

Kode Program Arduino

Berikut adalah program Arduino untuk mengontrol motor servo menggunakan sensor cahaya:

 

#include <Servo.h>


// Konstanta

const int LIGHT_SENSOR_PIN = A0;  // Pin sensor cahaya

const int SERVO_PIN = 9;          // Pin motor servo

const int ANALOG_THRESHOLD = 500;


// Membuat objek servo

Servo servo;


void setup() {


  // Menghubungkan servo ke pin 9

  servo.attach(SERVO_PIN);


  // Posisi awal servo

  servo.write(0);

}


void loop() {


  // Membaca nilai sensor cahaya

  int analogValue = analogRead(LIGHT_SENSOR_PIN);


  // Mengontrol servo berdasarkan nilai sensor

  if (analogValue > ANALOG_THRESHOLD)

    servo.write(90); // Servo bergerak ke 90 derajat

  else

    servo.write(0);  // Servo kembali ke 0 derajat

}

 

Penjelasan Program

Program diawali dengan memanggil library Servo yang diperlukan untuk mengendalikan motor servo.

 

#include <Servo.h>

 

Selanjutnya dibuat beberapa konstanta untuk menentukan pin sensor cahaya, pin servo, dan nilai ambang batas.

 

const int LIGHT_SENSOR_PIN = A0;

const int SERVO_PIN = 9;

const int ANALOG_THRESHOLD = 500;

 

Kemudian dibuat objek servo yang akan digunakan untuk mengontrol posisi motor servo.

 

Servo servo;

 

Pada fungsi setup(), servo dihubungkan ke pin digital 9 menggunakan fungsi berikut:

 

servo.attach(SERVO_PIN);

 

Setelah itu, servo diarahkan ke posisi awal 0 derajat.

 

servo.write(0);

 

Di dalam fungsi loop(), Arduino membaca nilai analog dari sensor cahaya menggunakan:

 

int analogValue = analogRead(LIGHT_SENSOR_PIN);

 

Nilai yang diperoleh kemudian dibandingkan dengan nilai threshold. Jika nilai sensor lebih besar dari 500:

 

servo.write(90);

 

Motor servo akan bergerak ke posisi 90 derajat. Sebaliknya, jika nilai sensor berada di bawah nilai threshold:

 

servo.write(0);

 

Motor servo akan kembali ke posisi awal yaitu 0 derajat.

Koneksi Rangkaian

1. Hubungkan salah satu kaki sensor LDR ke tegangan 5V Arduino. Kaki lainnya dihubungkan ke pin analog A0 dan resistor 10K Ohm secara bersamaan. Ujung resistor yang lain dihubungkan ke GND sehingga membentuk rangkaian pembagi tegangan.

2. Untuk motor servo, hubungkan kabel sinyal servo ke pin digital 9 Arduino. Kabel VCC servo dihubungkan ke pin 5V Arduino, sedangkan kabel GND servo dihubungkan ke pin GND Arduino.

3. Pastikan seluruh koneksi telah terpasang dengan benar sebelum program diunggah ke Arduino.

Langkah-langkah Menjalankan Program

1. Hubungkan Arduino Uno ke komputer menggunakan kabel USB.

2. Buka aplikasi Arduino IDE kemudian pilih board Arduino Uno dan port yang sesuai.

3. Salin kode program yang telah disediakan ke dalam editor Arduino IDE.

4. Klik tombol Upload dan tunggu hingga proses unggah program selesai.

5. Setelah program berjalan, arahkan sumber cahaya seperti lampu atau senter ke sensor cahaya.

6. Cobalah menutupi sensor menggunakan tangan atau benda lain untuk mengurangi intensitas cahaya yang diterima sensor.

7. Amati perubahan posisi motor servo ketika kondisi cahaya berubah.

Hasil Pengujian

Ketika sensor menerima cahaya yang cukup sehingga nilai analog melebihi ambang batas yang ditentukan, motor servo akan bergerak ke posisi 90 derajat. Saat sensor berada dalam kondisi yang lebih gelap dan nilai pembacaan turun di bawah threshold, motor servo akan kembali ke posisi 0 derajat. Dengan mekanisme ini, servo dapat berfungsi sebagai aktuator otomatis yang merespons perubahan cahaya secara real-time.

 

Baca juga: Arduino dan Sensor Ultrasonik HC-SR04 - Cara Mengukur Jarak dengan Akurat

 

 

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.  

0 on: "Arduino Mengontrol Motor Servo Menggunakan Sensor Cahaya (LDR)"