Search Code

Menggunakan LDR dengan Arduino dan saklar kontrol untuk menyalakan Arduino

Menggunakan LDR dengan Arduino dan saklar kontrol untuk menyalakan Arduino

Dalam tutorial ini, kita akan menjelajahi cara menggunakan Resistor Tergantung Cahaya (LDR) dengan Arduino untuk mengontrol cahaya berdasarkan tingkat cahaya ambient. LDR mengubah resistansinya tergantung pada intensitas cahaya; dengan demikian, dapat digunakan untuk mendeteksi apakah suatu lingkungan terang atau gelap. Ketika cahaya berada di bawah ambang tertentu, kita akan menghidupkan pin output untuk mengaktifkan cahaya.

LDR Illustration and symbol

Komponen utama yang Anda perlukan termasuk papan Arduino, resistor 10k ohm, LDR, dan beberapa kabel jumper. LDR akan dihubungkan dalam konfigurasi pembagi tegangan dengan resistor untuk membaca tegangan analog, yang akan berubah berdasarkan intensitas cahaya. Kami akan menggunakan tegangan ini untuk mengontrol LED atau perangkat keluaran lainnya.

Untuk demonstrasi visual dari pengaturan dan kode, pastikan untuk memeriksa video terkait (dalam video pada 0:10).

Penjelasan Perangkat Keras

Resistor Tergantung Cahaya (LDR) adalah jenis resistor yang resistansinya menurun seiring dengan meningkatnya intensitas cahaya yang jatuh. Ini biasanya digunakan dalam aplikasi di mana tingkat cahaya perlu dipantau. Dalam pengaturan kami, LDR akan digunakan untuk mendeteksi tingkat cahaya sekitar dan akan mengirimkan tegangan analog yang sesuai ke Arduino.

Arduino akan membaca tegangan ini melalui salah satu pin analognya dan memutuskan apakah akan menyalakan atau mematikan lampu yang terhubung berdasarkan ambang batas yang ditentukan. Resistor 10k ohm digunakan dalam konfigurasi pembagi tegangan dengan LDR untuk menciptakan keluaran tegangan yang stabil yang dapat dibaca oleh Arduino.

Detail Lembar Data

PabrikanGenerik
Nomor bagianLDR
Resistansi (ringan)100 - 500 Ω
Ketahanan (gelap)10 kΩ - 1 MΩ
Tegangan kerja3,3 V - 5 V
Waktu respons20 ms (tip.)
PaketLubang tembus

  • Pastikan level tegangan yang tepat; jangan melebihi 5V.
  • Gunakan resistor tarik ke bawah untuk menstabilkan pembacaan.
  • Pilih nilai resistor yang sesuai (10kΩ) untuk pembagi tegangan.
  • Pertimbangkan untuk menggunakan kapasitor untuk penyaringan kebisingan jika diperlukan.
  • Jauhkan LDR dari sumber cahaya langsung saat pengujian.

Petunjuk Pengkabelan

Wiring LDR with Arduino
Wiring LDR with Arduino

Untuk mengatur rangkaian, mulai dengan menghubungkan satu terminal LDR ke sumber daya 3,3V pada Arduino. Terminal lainnya dari LDR akan terhubung ke salah satu ujung resistor 10k ohm. Ujung lainnya dari resistor harus dihubungkan ke ground.

Selanjutnya, buatlah sambungan antara persimpangan LDR dan resistor ke pin input analog, sepertiA0Koneksi ini akan memungkinkan Arduino untuk membaca tegangan. Pastikan untuk menghubungkan ground Arduino ke ground bersama dari rangkaian Anda untuk memastikan fungsionalitas yang tepat.

Contoh Kode & Panduan

Potongan kode berikut menginisialisasi komunikasi serial dan membaca nilai analog dari LDR. Nilai tersebut kemudian diubah menjadi tegangan dan dicetak ke monitor serial.

int LDRvalue = analogRead(A0); // Read the analog value from LDR
float voltage = LDRvalue * (5.0 / 1023.0); // Convert to voltage
Serial.print("Voltage ="); // Print label
Serial.print(voltage); // Print actual voltage

Dalam kode ini, variabelLDRvaluemenyimpan pembacaan analog mentah dari LDR. Tegangan dihitung berdasarkan nilai analog maksimum (1023) dan referensi tegangan (5V).

Selanjutnya, kami memeriksa apakah tegangan ini di bawah ambang batas (3V dalam kasus ini) untuk mengontrol pin keluaran.

if(voltage < 3 ){ 
  digitalWrite(10, HIGH); // Turn on the light
}else{
  digitalWrite(10, LOW); // Turn off the light
}

Di sini, jika tegangan yang diukur di bawah 3 volt, kami mengatur pin output (10) ke HIGH, menyalakan lampu; jika tidak, diatur ke LOW, mematikannya. Pengecekan konstan terhadap kondisi lampu memungkinkan kontrol waktu nyata berdasarkan tingkat cahaya sekitar.

Demonstrasi / Apa yang Diharapkan

Setelah menyelesaikan pengkabelan dan mengunggah kode Anda, Anda seharusnya melihat pembacaan tegangan di monitor serial berubah saat Anda mengubah intensitas cahaya pada LDR. Jika Anda menutupi LDR, tegangan seharusnya meningkat, dan saat terkena cahaya, seharusnya menurun. Perilaku ini akan langsung mempengaruhi pin output, yang mengontrol cahaya.

Hati-hati terhadap jebakan umum, seperti input yang mengambang atau tingkat tegangan yang salah, yang dapat menyebabkan pembacaan yang keliru (dalam video pada 12:30).

Stempel Waktu Video

  • 00:00Pengantar LDR
  • 01:30Pengaturan perangkat keras
  • 03:45Penjelasan kode
  • 06:00Menjalankan kode
  • 09:15Tips pemecahan masalah

Gambar

Wiring LDR with Arduino
Wiring LDR with Arduino
An LDR
An LDR
LDR Illustration and symbol
LDR Illustration and symbol
14-Using an LDR with an Arduino and a control switch for a light
Bahasa: C++
/*
 * Sumber asli: https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage
 * 
 * Kode ini digunakan dengan video tutorial untuk RoboJax.com
 * Diterbitkan pada 31 Agustus 2017 dari Ajax, ON, Kanada.
 * Ditulis/Diedit oleh ABS
 */
/void setup()

{

  Serial.begin(9600); // Pengaturan serial
  pinMode(10, OUTPUT);
}



void loop(){

  int LDRvalue = analogRead(A0);
 // Ubah pembacaan analog (yang berkisar dari 0 - 1023) menjadi tegangan (0 - 5V):
  float voltage = LDRvalue * (5.0 / 1023.0);
 // Cetak nilai yang Anda baca:
  Serial.print("Voltage ="); // mencetak teks "Voltage ="
  Serial.print(voltage); // mencetak tegangan aktual

 // periksa apakah voltage kurang dari 3, lalu atur pin 10 ke tinggi atau ON
  if(voltage < 3 ){
    digitalWrite(10, HIGH);
  }else{
    digitalWrite(10, LOW); // atau tetap MATI saat voltage lebih besar dari 3
  }
  Serial.println();
  delay(300);

}

Sumber daya & referensi

Belum ada sumber daya.

Berkas📁

File lainnya