Met behulp van de GY-302 met de Raspberry Pi

Using the GY-302 with the Raspberry Pi

De GY-302 is een lichtintensiteitssensormodule op basis van de BH1750-sensor. Het biedt nauwkeurige metingen van LUX (lichtintensiteit) en is ideaal voor toepassingen zoals slimme verlichting, weerbewaking en fotografie. Deze gids legt uit hoe u de GY-302 kunt instellen en gebruiken met een Raspberry Pi.


Wat u nodig hebt

  1. Raspberry Pi (Elk model met GPIO -ondersteuning, bijvoorbeeld PI 3, PI 4)
  2. GY-302 lichtsensormodule
  3. Breadboard en jumper draden
  4. Een computer met SSH -toegang tot de Raspberry Pi of een aangesloten toetsenbord en monitor
  5. Python geïnstalleerd op de Raspberry Pi

Stap 1: De GY-302 bedraden naar de Raspberry Pi

De GY-302 communiceert met de Raspberry Pi met behulp van het I2C-protocol.

Verbindingen (I2C -modus)

GY-302 pin Raspberry Pi Pin
VCC 3.3V (pin 1)
GND Grond (pin 6)
SDA SDA (Pin 3, GPIO2)
SCL SCL (Pin 5, GPIO3)

Stap 2: Schakel de I2C -interface in op de Raspberry Pi

  1. Open de Raspberry Pi -configuratie -tool:
    sudo raspi-config
    
  2. Navigeren naar Interface -opties> I2C en schakel het in.
  3. Start de Raspberry Pi opnieuw op:
    sudo reboot
    

Stap 3: Installeer vereiste bibliotheken

  1. Update uw Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installeer de I2C -tools en Python -bibliotheken:
    sudo apt install -y i2c-tools python3-smbus python3-pip
    
  3. Controleer of de GY-302 wordt gedetecteerd op de I2C-bus:
    sudo i2cdetect -y 1
    
    U zou het apparaatadres moeten zien (meestal 0x23) in de uitvoer.

Stap 4: Gegevens lezen van de GY-302

Het volgende Python-script laat zien hoe u LAG-intensiteitsgegevens (LUX) kunt lezen van de GY-302.

Python Code Voorbeeld

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...")

Stap 5: Toepassingen van de GY-302

  1. Slimme verlichting: Pas de verlichting aan op basis van omgevingslichtniveaus.
  2. Weermonitoring: Meet de lichtintensiteit als onderdeel van weerstations.
  3. Fotografie: Gebruik voor belichtingscontrole in camerasystemen.
  4. IoT -projecten: Lichtintensiteitsgegevens integreren in automatiseringssystemen.

Problemen oplossen

  1. Apparaat niet gedetecteerd:

    • Controleer SDA- en SCL -verbindingen.
    • Zorg ervoor dat de I2C -interface is ingeschakeld op de Raspberry Pi.
  2. Onnauwkeurige metingen:

    • Controleer op interferentie van externe lichtbronnen.
    • Zorg ervoor dat de sensor correct is aangesloten en georiënteerd.
  3. I2C -fouten:

    • Zorg ervoor dat er geen tegenstrijdige apparaten op de I2C -bus staan.

Conclusie

De GY-302 Light Sensor-module biedt een eenvoudige en effectieve manier om de lichtintensiteit te meten met behulp van een frambozen PI. Door deze gids te volgen, kunt u de sensor instellen en integreren in verschillende applicaties, van smart home -systemen tot IoT -projecten. Experimenteer met verschillende scenario's om het volledige potentieel ervan te verkennen!

Laat een reactie achter

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.