Korzystanie z GY-302 z Raspberry Pi

Using the GY-302 with the Raspberry Pi

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ć

  1. Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
  2. Moduł czujnika światła GY-302
  3. Druty chleba i skoczków
  4. Komputer z dostępem do SSH do Raspberry Pi lub podłączonej klawiatury i monitorowania
  5. 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

  1. Otwórz narzędzie konfiguracyjne Raspberry Pi:
    sudo raspi-config
    
  2. Przejść do Opcje interfejsu> i2c i włącz to.
  3. Uruchom ponownie Raspberry Pi:
    sudo reboot
    

Krok 3: Zainstaluj wymagane biblioteki

  1. Zaktualizuj swoje Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Zainstaluj narzędzia I2C i biblioteki Python:
    sudo apt install -y i2c-tools python3-smbus python3-pip
    
  3. Sprawdź, czy GY-302 jest wykrywany w autobusie I2C:
    sudo i2cdetect -y 1
    
    Powinieneś zobaczyć adres urządzenia (zazwyczaj 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

  1. Inteligentne oświetlenie: Dostosuj oświetlenie oparte na poziomach światła otoczenia.
  2. Monitorowanie pogody: Zmierz intensywność światła jako część stacji pogodowych.
  3. Fotografia: Zastosowanie do kontroli ekspozycji w systemach kamer.
  4. Projekty IoT: Zintegruj dane intensywności światła z systemami automatyzacji.

Rozwiązywanie problemów

  1. Urządzenie nie wykryte:

    • Sprawdź połączenia SDA i SCL.
    • Upewnij się, że interfejs I2C jest włączony na Raspberry Pi.
  2. Niedokładne odczyty:

    • Sprawdź zakłócenia z zewnętrznych źródeł światła.
    • Upewnij się, że czujnik jest odpowiednio podłączony i zorientowany.
  3. 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ł!

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.