#11Pemula

Mengukur Intensitas Cahaya dengan LDR

4.6(81)
138 selesai
Mengukur Intensitas Cahaya dengan LDR
Ingin melihat seberapa terang kamarmu dalam bentuk angka? LDR, komponen kecil yang bereaksi terhadap cahaya, mengukur cahaya di sekitarnya, dan Arduino menulis nilainya ke layar komputermu setiap setengah detik. Tutupi dengan tanganmu dan kamu akan melihat angkanya berubah; inilah langkah pertama menuju proyek seperti lampu tidur yang menyala sendiri.

Video

Skema rangkaian

Mengukur Intensitas Cahaya dengan LDR - Circuit

Kode sumber

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Mengukur Intensitas Cahaya dengan LDR
4// ─────────────────────────────────────────
5// Membaca cahaya sekitar di A0 lewat pembagi tegangan dari LDR dan
6// resistor 10k, lalu mengirim nilai 0-1023 ke Serial Monitor setiap 0.5 s.
7// Nilainya naik ketika cahaya makin terang.
8//
9// Pin:
10//   A0 -> Sambungan LDR dan resistor 10k
11//   Kaki lain LDR ke 5V, kaki lain 10k ke GND
12
13int value;   // Pembacaan cahaya (0-1023)
14
15void setup() {
16  Serial.begin(9600);   // Serial pada 9600 baud
17}
18
19void loop() {
20  value = analogRead(A0);   // Baca tegangan LDR
21  Serial.print("Value: ");
22  Serial.println(value);
23  delay(500);               // Tunggu 0.5 s
24}
25

FAQ

Bagaimana LDR bekerja?

Makin banyak cahaya yang jatuh ke LDR (resistor yang bergantung pada cahaya), makin kecil hambatannya. Ketika dibuat pembagi tegangan dengan resistor 10 kΩ, perubahan cahaya diubah menjadi perubahan tegangan dan bisa dibaca sebagai nilai antara 0 dan 1023 dengan `analogRead`.

Berapa seharusnya bacaan di kondisi terang dan gelap?

Tergantung jenis sambungannya; umumnya nilai tinggi terlihat di kondisi terang dan nilai rendah di kondisi gelap (atau sebaliknya). Catat nilai terang dan gelap di lingkungan sebenarnya dengan Serial Monitor; nilai-nilai ini akan dipakai untuk memilih ambang di proyek berikutnya.

Aku melihat karakter acak di Serial Monitor. Kenapa?

Baud rate di Serial Monitor harus sama dengan nilai di fungsi `Serial.begin()` di kode (mis. 9600). Jika berbeda, layar akan menampilkan karakter acak.

Adakah sensor cahaya yang lebih peka daripada LDR?

Ada, sensor cahaya I2C seperti BH1750 langsung mengukur cahaya dalam lux (lx) dan jauh lebih konsisten daripada LDR. LDR sudah cukup untuk lampu tidur sederhana dan deteksi gelap.