GY-302 jest modułem czujnika intensywności światła opartego na czujniku BH1750. Zapewnia dokładne pomiary Lux (intensywność światła) i jest idealny do zastosowań takich jak inteligentne oświetlenie, monitorowanie pogody i fotografia. Ten przewodnik wyjaśnia, jak skonfigurować i korzystać z GY-302 z Raspberry Pi.
Czego będziesz potrzebować
- Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
- Moduł czujnika światła GY-302
- Druty chleba i skoczków
- Komputer z dostępem do SSH do Raspberry Pi lub podłączonej klawiatury i monitorowania
- Python zainstalowany na Raspberry Pi
Krok 1: Okablowanie GY-302 do Raspberry Pi
GY-302 komunikuje się z Raspberry Pi za pomocą protokołu I2C.
Połączenia (tryb I2C)
GY-302 PIN | Pin Raspberry Pi |
---|---|
VCC | 3,3 V (pin 1) |
GND | Uziemienie (pin 6) |
SDA | SDA (pin 3, GPIO2) |
Scl | SCL (pin 5, GPIO3) |
Krok 2: Włącz interfejs I2C na Raspberry Pi
- Otwórz narzędzie konfiguracyjne Raspberry Pi:
sudo raspi-config
- Przejść do Opcje interfejsu> i2c i włącz to.
- Uruchom ponownie Raspberry Pi:
sudo reboot
Krok 3: Zainstaluj wymagane biblioteki
- Zaktualizuj swoje Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Zainstaluj narzędzia I2C i biblioteki Python:
sudo apt install -y i2c-tools python3-smbus python3-pip
- Sprawdź, czy GY-302 jest wykrywany w autobusie I2C:
Powinieneś zobaczyć adres urządzenia (zazwyczajsudo i2cdetect -y 1
0x23
) W wyjściu.
Krok 4: Czytanie danych z GY-302
Poniższy skrypt Python pokazuje, jak odczytać dane intensywności światła (Lux) z GY-302.
Przykład kodu Pythona
import smbus2
import time
# Define I2C address and commands
BH1750_ADDRESS = 0x23
CONTINUOUS_HIGH_RES_MODE = 0x10
# Initialize I2C bus
bus = smbus2.SMBus(1)
def read_light():
data = bus.read_i2c_block_data(BH1750_ADDRESS, CONTINUOUS_HIGH_RES_MODE, 2)
lux = (data[0] << 8) | data[1]
return lux / 1.2
try:
while True:
light_level = read_light()
print(f"Light Intensity: {light_level:.2f} lux")
time.sleep(1)
except KeyboardInterrupt:
print("Exiting...")
Krok 5: Zastosowania GY-302
- Inteligentne oświetlenie: Dostosuj oświetlenie oparte na poziomach światła otoczenia.
- Monitorowanie pogody: Zmierz intensywność światła jako część stacji pogodowych.
- Fotografia: Zastosowanie do kontroli ekspozycji w systemach kamer.
- Projekty IoT: Zintegruj dane intensywności światła z systemami automatyzacji.
Rozwiązywanie problemów
-
Urządzenie nie wykryte:
- Sprawdź połączenia SDA i SCL.
- Upewnij się, że interfejs I2C jest włączony na Raspberry Pi.
-
Niedokładne odczyty:
- Sprawdź zakłócenia z zewnętrznych źródeł światła.
- Upewnij się, że czujnik jest odpowiednio podłączony i zorientowany.
-
Błędy I2C:
- Upewnij się, że w autobusie I2C nie ma sprzecznych urządzeń.
Wniosek
Moduł czujnika światła GY-302 zapewnia prosty i skuteczny sposób pomiaru intensywności światła za pomocą Raspberry Pi. Postępując zgodnie z tym przewodnikiem, możesz skonfigurować czujnik i zintegrować go z różnymi aplikacjami, od inteligentnych systemów domowych po projekty IoT. Eksperymentuj z różnymi scenariuszami, aby zbadać pełny potencjał!