Cara Menggunakan Sensor BH1750 untuk Mengukur Cahaya (Lux ke Watt/m²)

 Cara Menggunakan Sensor BH1750 untuk Mengukur Intensitas Cahaya

Sensor BH1750 adalah salah satu sensor cahaya digital yang populer digunakan dalam berbagai aplikasi seperti monitoring pencahayaan, smart home, atau pengukuran intensitas cahaya matahari. Di artikel ini, Anda akan mempelajari cara menggunakan sensor BH1750 untuk mengukur intensitas cahaya dalam satuan lux, sekaligus mengonversinya ke Watt/m².


Apa Itu Sensor BH1750?

Sensor BH1750 adalah sensor digital yang dirancang untuk mengukur intensitas cahaya di lingkungan sekitar. Output dari sensor ini berupa nilai dalam satuan lux, yang menunjukkan tingkat pencahayaan. Beberapa kelebihan BH1750:

  • Akurat: Cocok untuk pengukuran cahaya matahari atau lampu buatan.
  • Mudah Digunakan: Berbasis I2C sehingga hanya membutuhkan dua pin komunikasi (SDA dan SCL).
  • Efisien Energi: Konsumsi daya rendah sehingga ideal untuk proyek berbasis baterai.

Komponen yang Dibutuhkan

Untuk mengikuti tutorial ini, siapkan komponen berikut:

  1. Sensor BH1750
  2. Arduino Nano/ESP8266
  3. Lcd 16x2 dan I2C
  4. Kabel jumper
  5. Breadboard

Langkah-Langkah Menggunakan Sensor BH1750

1. Rangkaian Koneksi

Hubungkan sensor BH1750 ke Arduino atau ESP8266 dengan konfigurasi berikut:

  • VCC ke 5V
  • GND ke GND
  • SDA ke A4 (Arduino) atau D2 (ESP8266)
  • SCL ke A5 (Arduino) atau D1 (ESP8266)

Hubungkan Lcd 16x2  ke Arduino atau ESP8266 dengan konfigurasi berikut:

  • VCC ke 5V
  • GND ke GND
  • SDA ke A4 (Arduino) atau D2 (ESP8266)
  • SCL ke A5 (Arduino) atau D1 (ESP8266)

2. Coding BH1750

Gunakan kode berikut untuk membaca data dari BH1750 dan mengonversinya ke Watt/m²:


#include <Wire.h>
#include <BH1750.h>
#include <LiquidCrystal_I2C.h>  // Menambahkan library LCD I2C

BH1750 lightMeter;

// Inisialisasi LCD, sesuaikan alamat dan ukuran LCD jika diperlukan (alamat default 0x27, ukuran 16x2)
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  Serial.begin(115200);  // Memulai komunikasi serial
  Wire.begin(D2, D1);    // Inisialisasi I2C (SDA di D2, SCL di D1)

  if (lightMeter.begin()) {
    Serial.println("Sensor BH1750 berhasil diinisialisasi.");
  } else {
    Serial.println("Sensor BH1750 gagal diinisialisasi.");
    while (1); // Menunggu jika sensor gagal diinisialisasi
  }

  // Inisialisasi LCD
  lcd.begin(16, 2);
  lcd.setBacklight(true);  // Mengaktifkan backlight LCD
}

void loop() {
  // Membaca level cahaya (lux) dari sensor BH1750
  float lux = lightMeter.readLightLevel();
 
  // Mengecek apakah pembacaan sensor berhasil
  if (lux < 0) {
    Serial.println("Gagal membaca nilai cahaya.");
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Cahaya error");
  } else {
    // Mengonversi lux ke W/m² menggunakan faktor konversi
    float wattsPerMeterSquared = lux * 0.0079;
   
    // Menampilkan nilai lux dan W/m² ke serial monitor
    Serial.print("Level Cahaya (lux): ");
    Serial.print(lux);
    Serial.print(" lux | ");
    Serial.print("Iradiasi (W/m²): ");
    Serial.println(wattsPerMeterSquared);

    // Menampilkan nilai di LCD
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Cahaya: ");
    lcd.print(lux);  // Menampilkan nilai lux
    lcd.setCursor(0, 1);
    lcd.print("Iradiasi: ");
    lcd.print(wattsPerMeterSquared);  // Menampilkan nilai iradiasi
  }

  delay(1000);  // Menunggu 1 detik sebelum pembacaan berikutnya
}


3. Penjelasan Konversi Lux ke Watt/m²

Sensor BH1750 secara default mengukur intensitas cahaya dalam lux. Untuk aplikasi tertentu, seperti pengukuran sinar matahari untuk panel surya, satuan Watt/m² lebih relevan.

1 lux = 0,0079 W/m² 



Kesimpulan

Sensor BH1750 adalah solusi sederhana namun efektif untuk mengukur intensitas cahaya. Dengan tambahan konversi ke Watt/m², sensor ini bisa digunakan untuk berbagai aplikasi, seperti pemantauan pencahayaan di rumah atau evaluasi performa panel surya.

Jangan ragu untuk mencoba tutorial ini dan kembangkan proyek kreatif Anda!

Komentar

Postingan populer dari blog ini

Simulasi lampu lalu lintas menggunakan arduino

Cara Menggunakan LCD 16 x 2 Tanpa I2C di Arduino

LCD 16x2 dengan I2C: Simpel dan Praktis di Arduino