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 dan Sensor Cahaya (LDR) - Cara Membaca Intensitas Cahaya Menggunakan Arduino Uno

Sensor cahaya merupakan salah satu komponen elektronik yang banyak digunakan dalam berbagai proyek otomatisasi. Sensor ini mampu mendeteksi perubahan intensitas cahaya di lingkungan sekitar dan mengubahnya menjadi sinyal listrik yang dapat dibaca oleh mikrokontroler seperti Arduino. Berkat kemampuannya tersebut, sensor cahaya sering dimanfaatkan pada lampu otomatis, sistem penerangan pintar, alarm keamanan, hingga perangkat Internet of Things (IoT).

 

Dalam tutorial ini, kita akan menggunakan sensor cahaya jenis LDR (Light Dependent Resistor) atau yang sering disebut fotoresistor. Komponen ini memiliki karakteristik unik, yaitu nilai resistansinya akan berubah sesuai dengan jumlah cahaya yang diterimanya. Semakin terang cahaya yang mengenai permukaan LDR, maka resistansinya akan semakin kecil. Sebaliknya, ketika kondisi lingkungan semakin gelap, resistansinya akan meningkat.

 

Melalui panduan ini, Anda akan mempelajari cara kerja sensor cahaya, cara menghubungkannya ke Arduino Uno, serta cara membuat program untuk membaca tingkat pencahayaan di sekitar sensor. Selain itu, Anda juga akan belajar membuat sistem lampu otomatis menggunakan LED yang dapat menyala saat kondisi gelap dan mati ketika lingkungan menjadi terang.

Perangkat Keras yang Dibutuhkan

- Arduino Uno R3

- Kabel USB

- Sensor cahaya (LDR / Light Dependent Resistor)

- Resistor 10K Ohm

- Breadboard

- Kabel jumper

- LED (untuk proyek lampu otomatis) 

Mengenal Sensor Cahaya (LDR)

Sensor cahaya yang digunakan pada tutorial ini adalah Light Dependent Resistor (LDR) atau fotoresistor. Komponen ini termasuk jenis resistor yang nilai hambatannya dipengaruhi oleh intensitas cahaya yang diterima. LDR bekerja dengan prinsip perubahan resistansi. Saat terkena cahaya terang, nilai resistansi akan menurun sehingga arus listrik dapat mengalir lebih mudah. Sebaliknya, ketika kondisi gelap, resistansi akan meningkat dan menghambat aliran arus listrik. Karena sifat tersebut, LDR sangat cocok digunakan untuk mendeteksi perubahan kondisi pencahayaan di lingkungan sekitar.

 

Baca juga: Arduino dan Motor Servo - Panduan Lengkap Mengontrol Posisi Servo dengan Arduino 

Bentuk dan Pin Sensor LDR

LDR umumnya memiliki dua kaki (pin). Berbeda dengan komponen seperti LED atau transistor, kedua kaki pada LDR tidak memiliki polaritas khusus. Artinya, Anda dapat menghubungkan kedua kaki tersebut ke rangkaian tanpa perlu memperhatikan arah pemasangannya karena keduanya bersifat simetris.

Cara Kerja Sensor Cahaya

Prinsip kerja sensor cahaya cukup sederhana. Ketika cahaya mengenai permukaan sensor, material semikonduktor di dalam LDR akan mengalami perubahan karakteristik sehingga nilai resistansinya menurun. Semakin tinggi intensitas cahaya yang diterima sensor, maka resistansinya akan semakin kecil. Sebaliknya, semakin rendah intensitas cahaya, resistansinya akan semakin besar. Dengan mengukur perubahan resistansi tersebut menggunakan Arduino, kita dapat mengetahui tingkat pencahayaan lingkungan secara relatif.

Catatan: Perlu diketahui bahwa nilai yang dihasilkan sensor cahaya tidak menunjukkan tingkat pencahayaan secara absolut seperti satuan lux pada alat ukur profesional. Data yang diperoleh hanya menunjukkan perubahan intensitas cahaya secara relatif. Oleh karena itu, sensor LDR lebih cocok digunakan untuk aplikasi yang tidak memerlukan pengukuran cahaya dengan tingkat akurasi tinggi.

Arduino dan Pembacaan Sensor Cahaya

Arduino Uno memiliki enam pin analog, yaitu A0 hingga A5. Pin-pin tersebut dapat digunakan untuk membaca tegangan analog yang berasal dari berbagai sensor, termasuk LDR. Pin analog Arduino akan mengubah tegangan yang diterima menjadi nilai digital dalam rentang 0 hingga 1023. Nilai ini sering disebut sebagai nilai ADC (Analog to Digital Converter). Dengan menghubungkan rangkaian LDR ke salah satu pin analog, Arduino dapat membaca perubahan tegangan yang terjadi akibat perubahan intensitas cahaya. Pembacaan dilakukan menggunakan fungsi analogRead(A0). Nilai yang diperoleh kemudian dapat digunakan untuk menentukan kondisi pencahayaan lingkungan.

Wiring Diagram Membaca Intensitas Cahaya Menggunakan Arduino Uno

Program Arduino untuk Membaca Intensitas Cahaya

Program berikut digunakan untuk membaca nilai dari sensor cahaya dan mengelompokkan tingkat pencahayaan menjadi beberapa kategori, seperti gelap, redup, terang, dan sangat terang.


void setup() {

  // Memulai komunikasi serial

  Serial.begin(9600);

}


void loop() {


  // Membaca nilai analog dari sensor cahaya

  int analogValue = analogRead(A0);


  Serial.print("Analog reading: ");

  Serial.print(analogValue);


  if (analogValue < 10) {

    Serial.println(" - Dark");

  }

  else if (analogValue < 200) {

    Serial.println(" - Dim");

  }

  else if (analogValue < 500) {

    Serial.println(" - Light");

  }

  else if (analogValue < 800) {

    Serial.println(" - Bright");

  }

  else {

    Serial.println(" - Very bright");

  }


  delay(500);

}


Penjelasan Program

Pada fungsi setup(), Arduino mengaktifkan komunikasi serial dengan kecepatan 9600 bps agar data sensor dapat ditampilkan pada Serial Monitor. Di dalam fungsi loop(), Arduino membaca nilai analog dari pin A0 menggunakan fungsi analogRead(). Nilai tersebut kemudian dibandingkan dengan beberapa batas tertentu untuk menentukan kategori tingkat pencahayaan. Jika nilai yang terbaca sangat rendah, sistem akan menampilkan status Dark atau gelap. Jika nilai semakin besar, status akan berubah menjadi Dim, Light, Bright, hingga Very Bright. Data hasil pembacaan akan terus diperbarui setiap setengah detik dan ditampilkan secara real-time pada Serial Monitor.

Cara Menjalankan Program

Hubungkan Arduino Uno ke komputer menggunakan kabel USB. Setelah itu buka Arduino IDE dan pilih board serta port yang sesuai. Salin kode program ke Arduino IDE kemudian klik tombol Upload untuk mengunggah program ke board Arduino. Setelah proses upload selesai, buka Serial Monitor melalui menu Tools → Serial Monitor. Arahkan sumber cahaya seperti lampu atau senter ke sensor LDR, kemudian amati perubahan nilai yang muncul pada Serial Monitor. Anda akan melihat kategori tingkat pencahayaan berubah sesuai intensitas cahaya yang diterima sensor.

 

Wiring Diagram Membuat Lampu Otomatis Menggunakan Sensor Cahaya dan LED

Membuat Lampu Otomatis Menggunakan Sensor Cahaya dan LED

Selain membaca tingkat cahaya, sensor LDR juga dapat digunakan untuk membuat sistem lampu otomatis. Pada proyek ini, LED akan menyala ketika kondisi lingkungan gelap dan akan mati ketika lingkungan cukup terang. Konsep ini banyak digunakan pada lampu jalan otomatis, lampu taman, maupun sistem penerangan hemat energi.

Program Arduino Sensor Cahaya dan LED


// Konstanta

const int LIGHT_SENSOR_PIN = A0;

const int LED_PIN = 3;

const int ANALOG_THRESHOLD = 500;


// Variabel

int analogValue;


void setup() {

  pinMode(LED_PIN, OUTPUT);

}


void loop() {


  analogValue = analogRead(LIGHT_SENSOR_PIN);


  if (analogValue < ANALOG_THRESHOLD)

    digitalWrite(LED_PIN, HIGH);

  else

    digitalWrite(LED_PIN, LOW);

}


Penjelasan Program Lampu Otomatis

Program ini menggunakan sebuah nilai ambang batas atau threshold sebesar 500. Ketika nilai sensor berada di bawah angka tersebut, Arduino menganggap kondisi lingkungan sedang gelap sehingga LED akan dinyalakan menggunakan perintah digitalWrite(LED_PIN, HIGH). Sebaliknya, jika nilai sensor berada di atas batas yang ditentukan, Arduino akan mematikan LED dengan perintah digitalWrite(LED_PIN, LOW). Dengan cara ini, LED dapat berfungsi sebagai lampu otomatis yang merespons perubahan cahaya di sekitarnya.

Koneksi Rangkaian

Hubungkan salah satu kaki 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 (voltage divider). Untuk LED, hubungkan kaki anoda LED ke pin digital 3 Arduino melalui resistor pembatas arus. Kemudian hubungkan kaki katoda LED ke GND. Pastikan seluruh sambungan telah terpasang dengan benar sebelum mengunggah program ke Arduino.

Hasil Pengujian

Saat kondisi ruangan terang, nilai sensor akan berada di atas ambang batas sehingga LED tetap mati. Ketika sensor ditutupi atau kondisi ruangan menjadi gelap, nilai pembacaan sensor akan turun. Arduino kemudian mendeteksi kondisi tersebut dan secara otomatis menyalakan LED. Proses ini berlangsung secara terus-menerus sehingga sistem dapat beradaptasi terhadap perubahan intensitas cahaya secara real-time.

 


 


Baca juga: Arduino Mengontrol Motor Servo Menggunakan Potensiometer




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

0 on: "Arduino dan Sensor Cahaya (LDR) - Cara Membaca Intensitas Cahaya Menggunakan Arduino Uno"