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ć
- Moduł czujnika światła GY-302 BH1750
- Arduino Board (np. UNO, Mega, Nano)
- Druty chleba i skoczków
- 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
ISCL
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:
- Otwórz Arduino IDE.
- Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
- 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ę
- Podłącz Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
- Prześlij kod, klikając Wgrywać.
- Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na
9600
. - 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
- Inteligentne systemy oświetlenia
- Śledzenie panelu słonecznego
- Pomiar intensywności światła w fotografii
- 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!