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
- GY-302 BH1750 Modul senzor de lumină
- Arduino Board (de exemplu, Uno, Mega, Nano)
- Tablă de pâine și jumper
- 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
şiSCL
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:
- Deschideți IDE Arduino.
- Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
- 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
- Conectați Arduino la computer prin USB.
- Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
- Încărcați codul făcând clic pe Încărcați.
- Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la
9600
. - 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
- Sisteme de iluminat inteligent
- Urmărirea panoului solar
- Măsurarea intensității luminii în fotografie
- 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!