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
- Raspberry Pi (Qualsiasi modello con supporto GPIO, ad esempio PI 3, PI 4)
- Modulo sensore di luce GY-302
- Breadboard e fili jumper
- Un computer con accesso SSH a Raspberry Pi o una tastiera e un monitoraggio collegati
- 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
- Apri lo strumento di configurazione Raspberry Pi:
sudo raspi-config
- Navigare a Opzioni di interfaccia> i2c e abilitarlo.
- Riavvia il Raspberry Pi:
sudo reboot
Passaggio 3: installa le librerie richieste
- Aggiorna il tuo Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Installa gli strumenti I2C e le librerie Python:
sudo apt install -y i2c-tools python3-smbus python3-pip
- Verificare che il GY-302 sia rilevato sul bus I2C:
Dovresti vedere l'indirizzo del dispositivo (in generesudo i2cdetect -y 1
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
- Illuminazione intelligente: Regola l'illuminazione in base ai livelli di luce ambientale.
- Monitoraggio del tempo: Misurare l'intensità della luce come parte delle stazioni meteorologiche.
- Fotografia: Utilizzare per il controllo dell'esposizione nei sistemi di telecamere.
- Progetti IoT: Integrare i dati di intensità della luce nei sistemi di automazione.
Risoluzione dei problemi
-
Dispositivo non rilevato:
- Verificare le connessioni SDA e SCL.
- Assicurarsi che l'interfaccia I2C sia abilitata su Raspberry Pi.
-
Letture imprecise:
- Verificare l'interferenza da fonti di luce esterna.
- Assicurarsi che il sensore sia correttamente collegato e orientato.
-
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!