Come utilizzare il sensore di intensità di luce GY-302 BH1750 con Arduino

How to Use the GY-302 BH1750 Light Intensity Sensor with Arduino

Il GY-302 è una tavola di breakout con il sensore di intensità della luce BH1750, che misura i livelli di luce in Lux. Comunica con i microcontrollori tramite il protocollo I2C, rendendolo una scelta eccellente per progetti dipendenti dalla luce come illuminazione intelligente, tracker solari e applicazioni fotografiche. Questo tutorial ti guiderà attraverso la connessione e l'utilizzo del modulo GY-302 con Arduino.


Cosa avrai bisogno

  1. Modulo sensore di luce GY-302 BH1750
  2. Arduino Board (ad es. Uno, Mega, Nano)
  3. Breadboard e fili jumper
  4. Un computer con l'IDE Arduino installato

Passaggio 1: Comprensione del modulo GY-302

Il GY-302 utilizza il sensore BH1750 per misurare l'intensità della luce. Output i risultati in Lux, che è l'unità standard per misurare l'illuminanza.

Pinout GY-302

Spillo Funzione
VCC Alimentazione (3.3V/5V)
GND Terra
SDA Linea di dati I2C
SCL Linea di orologio i2c

Indirizzo i2c

  • Indirizzo predefinito: 0x23
  • Indirizzo alternativo: 0x5C (Impostato tirando il perno ADDR in alto su alcuni moduli)

Passaggio 2: Cablaggio della GY-302 ad Arduino

Collega il modulo GY-302 al tuo Arduino come segue:

PIN GY-302 Arduino Pin
VCC 5v
GND GND
SDA A4
SCL A5

Nota: Assicurati che i pin I2C corretti siano utilizzati per la tua scheda Arduino (ad es. SDA E SCL Su Arduino Mega sono pin 20 e 21).


Passaggio 3: installare la libreria richiesta

Per semplificare la comunicazione con il sensore BH1750, installare la libreria "BH1750".

Passi da installare:

  1. Apri l'IDE Arduino.
  2. Vai a Schizzo > Includi la libreria > Gestisci le biblioteche.
  3. Cerca "BH1750" e fai clic su Installare.

Passaggio 4: caricare il codice

Ecco uno schizzo di esempio per leggere i dati di intensità della luce da GY-302:

#include <Wire.h>
#include <BH1750.h>

BH1750 lightMeter;

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("Initializing BH1750...");

  if (!lightMeter.begin()) {
    Serial.println("BH1750 not detected. Check wiring.");
    while (1);
  }

  Serial.println("BH1750 ready.");
}

void loop() {
  float lux = lightMeter.readLightLevel(); // Read light level in lux

  Serial.print("Light Intensity: ");
  Serial.print(lux);
  Serial.println(" lx");

  delay(1000); // Wait 1 second before the next reading
}

Passaggio 5: testare l'installazione

  1. Collega l'Arduino al tuo computer tramite USB.
  2. Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
  3. Carica il codice facendo clic Caricamento.
  4. Apri il monitor seriale (Utensili > Monitor seriale) e impostare il tasso di baud su 9600.
  5. Osserva le letture di intensità della luce visualizzate in Lux.

Opzionale: regolazione dell'indirizzo I2C

Se l'indirizzo I2C predefinito (0x23) non funziona, controlla la configurazione del pin ADDR del modulo. Alcuni moduli consentono di passare a un indirizzo alternativo (0x5C) collegando il pin ADDR a VCC.


Applicazioni del GY-302

  1. Sistemi di illuminazione intelligenti
  2. Tracciamento del pannello solare
  3. Misurazione dell'intensità della luce in fotografia
  4. Monitoraggio della luce interna ed esterna

Risoluzione dei problemi

  • Nessuna risposta dal sensore: Verifica il cablaggio I2C e controlla l'indirizzo I2C del modulo.
  • Letture errate: Assicurarsi che il sensore non sia ostruito o riceva riflessi di luce.
  • Errori della libreria: Conferma che la libreria BH1750 sia installata correttamente.

Conclusione

Hai interfacciato con successo il sensore di luce GY-302 BH1750 con Arduino. Questo sensore versatile fornisce misurazioni accurate di intensità della luce in Lux, rendendolo uno strumento eccellente per una varietà di progetti sensibili alla luce. Sperimenta ulteriormente integrandolo con altri componenti o sistemi!

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.