Usando il GY-302 con il Raspberry Pi

Using the GY-302 with the Raspberry Pi

Il GY-302 è un modulo sensore di intensità della luce basato sul sensore BH1750. Fornisce misurazioni LUX (intensità della luce) accurate ed è ideale per applicazioni come illuminazione intelligente, monitoraggio del tempo e fotografia. Questa guida spiega come configurare e utilizzare GY-302 con un Raspberry Pi.


Cosa avrai bisogno

  1. Raspberry Pi (Qualsiasi modello con supporto GPIO, ad esempio PI 3, PI 4)
  2. Modulo sensore di luce GY-302
  3. Breadboard e fili jumper
  4. Un computer con accesso SSH a Raspberry Pi o una tastiera e un monitoraggio collegati
  5. Python installato su Raspberry Pi

Passaggio 1: Cablaggio della GY-302 a Raspberry Pi

Il GY-302 comunica con il Raspberry Pi usando il protocollo I2C.

Connessioni (modalità I2C)

PIN GY-302 Pin di lampone
VCC 3.3V (pin 1)
GND Terra (pin 6)
SDA SDA (PIN 3, GPIO2)
SCL SCL (PIN 5, GPIO3)

Passaggio 2: abilita l'interfaccia I2C su Raspberry Pi

  1. Apri lo strumento di configurazione Raspberry Pi:
    sudo raspi-config
    
  2. Navigare a Opzioni di interfaccia> i2c e abilitarlo.
  3. Riavvia il Raspberry Pi:
    sudo reboot
    

Passaggio 3: installa le librerie richieste

  1. Aggiorna il tuo Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installa gli strumenti I2C e le librerie Python:
    sudo apt install -y i2c-tools python3-smbus python3-pip
    
  3. Verificare che il GY-302 sia rilevato sul bus I2C:
    sudo i2cdetect -y 1
    
    Dovresti vedere l'indirizzo del dispositivo (in genere 0x23) nell'output.

Passaggio 4: leggere i dati dal GY-302

Il seguente script Python dimostra come leggere i dati di intensità della luce (LUX) dal GY-302.

Esempio di codice 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"Light Intensity: {light_level:.2f} lux")
        time.sleep(1)
except KeyboardInterrupt:
    print("Exiting...")

Passaggio 5: applicazioni di GY-302

  1. Illuminazione intelligente: Regola l'illuminazione in base ai livelli di luce ambientale.
  2. Monitoraggio del tempo: Misurare l'intensità della luce come parte delle stazioni meteorologiche.
  3. Fotografia: Utilizzare per il controllo dell'esposizione nei sistemi di telecamere.
  4. Progetti IoT: Integrare i dati di intensità della luce nei sistemi di automazione.

Risoluzione dei problemi

  1. Dispositivo non rilevato:

    • Verificare le connessioni SDA e SCL.
    • Assicurarsi che l'interfaccia I2C sia abilitata su Raspberry Pi.
  2. Letture imprecise:

    • Verificare l'interferenza da fonti di luce esterna.
    • Assicurarsi che il sensore sia correttamente collegato e orientato.
  3. Errori i2c:

    • Assicurati che non ci siano dispositivi contrastanti sul bus I2C.

Conclusione

Il modulo sensore di luce GY-302 fornisce un modo semplice ed efficace per misurare l'intensità della luce usando un PI di lampone. Seguendo questa guida, è possibile impostare il sensore e integrarlo in varie applicazioni, dai sistemi domestici intelligenti ai progetti IoT. Sperimenta con diversi scenari per esplorare il suo pieno potenziale!

Lascia un commento

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.