Cum se folosește senzorul de intensitate a luminii GY-302 BH1750 cu Arduino

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

GY-302 este o placă de întrerupere cu senzorul de intensitate a luminii BH1750, care măsoară nivelurile de lumină în Lux. Comunică cu microcontrolere prin protocolul I2C, ceea ce îl face o alegere excelentă pentru proiecte dependente de lumină, cum ar fi iluminat inteligent, trackere solare și aplicații de fotografie. Acest tutorial vă va ghida prin conectarea și utilizarea modulului GY-302 cu Arduino.


Ce vei avea nevoie

  1. GY-302 BH1750 Modul senzor de lumină
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Tablă de pâine și jumper
  4. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea modulului GY-302

GY-302 folosește senzorul BH1750 pentru a măsura intensitatea luminii. Acesta produce rezultatele în Lux, care este unitatea standard pentru măsurarea iluminării.

GY-302 PINOUT

Ac Funcţie
VCC Sursă de alimentare (3.3V/5V)
GND Sol
SDA Linia de date I2C
SCL Linia de ceas I2C

Adresa I2C

  • Adresa implicită: 0x23
  • Adresa alternativă: 0x5C (setat prin tragerea pinului addr ridicat pe unele module)

Pasul 2: Cablarea GY-302 către Arduino

Conectați modulul GY-302 la Arduino după cum urmează:

Pinul GY-302 Pinul Arduino
VCC 5V
GND GND
SDA A4
SCL A5

Nota: Asigurați -vă că pinii I2C corecți sunt folosiți pentru placa dvs. Arduino (de exemplu, SDA şi SCL Pe Arduino Mega sunt pinii 20 și 21).


Pasul 3: Instalați biblioteca necesară

Pentru a simplifica comunicarea cu senzorul BH1750, instalați biblioteca „BH1750”.

Pași pentru instalare:

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. Căutați „BH1750” și faceți clic pe Instala.

Pasul 4: Încărcați codul

Iată un exemplu de schiță pentru a citi date de intensitate a luminii de la 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
}

Pasul 5: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul făcând clic pe Încărcați.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 9600.
  5. Observați citirile de intensitate a luminii afișate în Lux.

Opțional: Reglarea adresei I2C

Dacă adresa I2C implicită (0x23) nu funcționează, verificați configurația pinului ADDR a modulului. Unele module vă permit să treceți la o adresă alternativă (0x5C) prin conectarea pinului addr la VCC.


Aplicațiile GY-302

  1. Sisteme de iluminat inteligent
  2. Urmărirea panoului solar
  3. Măsurarea intensității luminii în fotografie
  4. Monitorizare a luminii interioare și exterioare

Depanare

  • Fără răspuns din partea senzorului: Verificați cablarea I2C și verificați adresa I2C a modulului.
  • Citiri incorecte: Asigurați -vă că senzorul nu este obstrucționat sau nu primește reflecții ușoare.
  • Erori de bibliotecă: Confirmați că biblioteca BH1750 este instalată corect.

Concluzie

Ați interfațat cu succes senzorul de lumină GY-302 BH1750 cu Arduino. Acest senzor versatil oferă măsurători exacte de intensitate a luminii în Lux, ceea ce îl face un instrument excelent pentru o varietate de proiecte sensibile la lumină. Experimentați în continuare integrându -l cu alte componente sau sisteme!

Lasă un comentariu

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.