Jak używać czujnika intensywności światła GY-302 BH1750 z Arduino

How to Use the GY-302 BH1750 Light Intensity Sensor with Arduino

GY-302 to wybuchowa deska z czujnikiem intensywności światła BH1750, który mierzy poziom światła u Lux. Komunikuje się z mikrokontrolerami za pośrednictwem protokołu I2C, co czyni go doskonałym wyborem dla projektów zależnych od światła, takich jak inteligentne oświetlenie, urządzenia do śledzenia słonecznych i aplikacje fotograficzne. Ten samouczek poprowadzi Cię przez połączenie i użycie modułu GY-302 z Arduino.


Czego będziesz potrzebować

  1. Moduł czujnika światła GY-302 BH1750
  2. Arduino Board (np. UNO, Mega, Nano)
  3. Druty chleba i skoczków
  4. Komputer z zainstalowanym Arduino IDE

Krok 1: Zrozumienie modułu GY-302

GY-302 wykorzystuje czujnik BH1750 do pomiaru intensywności światła. Wynika wyniki w Lux, który jest standardową jednostką do pomiaru oświetlenia.

GY-302 Pinout

Szpilka Funkcjonować
VCC Zasilacz (3,3 V/5 V)
GND Grunt
SDA I2C Linia danych
Scl Linia zegara I2C

Adres I2C

  • Adres domyślny: 0x23
  • Alternatywny adres: 0x5C (Ustaw, ciągnąc przypływ Addr wysoko na niektóre moduły)

Krok 2: Okablowanie GY-302 do Arduino

Podłącz moduł GY-302 z Arduino w następujący sposób:

GY-302 PIN PIN Arduino
VCC 5v
GND GND
SDA A4
Scl A5

Notatka: Upewnij się, że prawidłowe piny I2C są używane na płycie Arduino (np. SDA I SCL Na Arduino Mega są szpilki 20 i 21).


Krok 3: Zainstaluj wymaganą bibliotekę

Aby uprościć komunikację z czujnikiem BH1750, zainstaluj bibliotekę „BH1750”.

Kroki do zainstalowania:

  1. Otwórz Arduino IDE.
  2. Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
  3. Wyszukaj „BH1750” i kliknij Zainstalować.

Krok 4: Prześlij kod

Oto przykład szkicu do odczytania danych intensywności światła z GY-302:

#include <Wire.h>
#include <BH1750.h>

BH1750 lightMeter;

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("Initializing BH1750...");

  if (!lightMeter.begin()) {
    Serial.println("BH1750 not detected. Check wiring.");
    while (1);
  }

  Serial.println("BH1750 ready.");
}

void loop() {
  float lux = lightMeter.readLightLevel(); // Read light level in lux

  Serial.print("Light Intensity: ");
  Serial.print(lux);
  Serial.println(" lx");

  delay(1000); // Wait 1 second before the next reading
}

Krok 5: Przetestuj konfigurację

  1. Podłącz Arduino do komputera za pomocą USB.
  2. Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
  3. Prześlij kod, klikając Wgrywać.
  4. Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na 9600.
  5. Obserwuj odczyty intensywności światła wyświetlane w Lux.

Opcjonalnie: Dostosowanie adresu I2C

Jeśli domyślny adres I2C (0x23) Nie działa, sprawdź konfigurację pinu Modułu. Niektóre moduły pozwalają przejść na alternatywny adres (0x5C) poprzez podłączenie PIN ADDR do VCC.


Zastosowania GY-302

  1. Inteligentne systemy oświetlenia
  2. Śledzenie panelu słonecznego
  3. Pomiar intensywności światła w fotografii
  4. Monitorowanie światła wewnętrznego i zewnętrznego

Rozwiązywanie problemów

  • Brak odpowiedzi od czujnika: Sprawdź okablowanie I2C i sprawdź adres modułu I2C.
  • Nieprawidłowe odczyty: Upewnij się, że czujnik nie jest blokowany ani odbierający odbicia światła.
  • Błędy biblioteczne: Potwierdź, że biblioteka BH1750 jest prawidłowo zainstalowana.

Wniosek

Z powodzeniem połączyłeś czujnik światła GY-302 BH1750 z Arduino. Ten wszechstronny czujnik zapewnia dokładne pomiary intensywności światła w Lux, co czyni go doskonałym narzędziem do różnych projektów wrażliwych na światło. Eksperymentuj dalej, integrując go z innymi komponentami lub systemami!

Zostaw komentarz

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.