Obtenga entrega gratuita en todas las órdenes más de £20!

Usando el GY-302 con la Raspberry Pi

Using the GY-302 with the Raspberry Pi

The GY-302 es un módulo sensor de intensidad de luz basado en el sensor BH1750. Proporciona mediciones precisas en lux (intensidad de luz) y es ideal para aplicaciones como iluminación inteligente, monitoreo meteorológico y fotografía. Esta guía explica cómo configurar y usar el GY-302 con una Raspberry Pi.


Qué necesitarás

  1. Raspberry Pi (cualquier modelo con soporte GPIO, p. ej., Pi 3, Pi 4)
  2. Módulo sensor de luz GY-302
  3. Protoboard y cables jumper
  4. Un ordenador con acceso SSH a la Raspberry Pi o un teclado y monitor conectados
  5. Python instalado en la Raspberry Pi

Paso 1: Conectar el GY-302 a la Raspberry Pi

El GY-302 se comunica con la Raspberry Pi usando el protocolo I2C.

Conexiones (modo I2C)

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

Paso 2: Habilitar la interfaz I2C en la Raspberry Pi

  1. Abre la herramienta de configuración de Raspberry Pi:
    sudo raspi-config
    
  2. Navega a Interface Options > I2C y actívala.
  3. Reinicia la Raspberry Pi:
    sudo reboot
    

Paso 3: Instalar las bibliotecas necesarias

  1. Actualiza tu Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Instala las herramientas I2C y las bibliotecas de Python:
    sudo apt install -y i2c-tools python3-smbus python3-pip
    
  3. Verifica que el GY-302 sea detectado en el bus I2C:
    sudo i2cdetect -y 1
    
    Deberías ver la dirección del dispositivo (típicamente 0x23) en la salida.

Paso 4: Lectura de datos desde el GY-302

El siguiente script en Python demuestra cómo leer datos de intensidad de luz (lux) desde el GY-302.

Ejemplo de código en Python

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"Intensidad de luz: {light_level:.2f} lux")
        time.sleep(1)
except KeyboardInterrupt:
    print("Saliendo...")

Paso 5: Aplicaciones del GY-302

  1. Iluminación inteligente: Ajusta la iluminación según los niveles de luz ambiental.
  2. Monitoreo meteorológico: Mide la intensidad de la luz como parte de estaciones meteorológicas.
  3. Fotografía: Úsalo para control de exposición en sistemas de cámaras.
  4. Proyectos IoT: Integra los datos de intensidad de luz en sistemas de automatización.

Solución de problemas

  1. Dispositivo no detectado:

    • Verifica las conexiones SDA y SCL.
    • Asegúrate de que la interfaz I2C esté habilitada en la Raspberry Pi.
  2. Lecturas inexactas:

    • Comprueba interferencias de fuentes de luz externas.
    • Asegúrate de que el sensor esté correctamente conectado y orientado.
  3. Errores I2C:

    • Asegúrate de que no haya dispositivos en conflicto en el bus I2C.

Conclusión

El módulo sensor de luz GY-302 proporciona una forma simple y eficaz de medir la intensidad de la luz usando una Raspberry Pi. Siguiendo esta guía, puedes configurar el sensor e integrarlo en diversas aplicaciones, desde sistemas de hogar inteligente hasta proyectos IoT. ¡Experimenta con distintos escenarios para explorar todo su potencial!

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.

1 comentario

Could you tell me where I can find instructions to use the GY-302 light sensor module with module ESP32 DEV, please?

Jose,

Escribir un comentario