De GY-302 is een breakout-bord met de BH1750-lichtintensiteitssensor, die lichtniveaus meet in LUX. Het communiceert met microcontrollers via het I2C-protocol, waardoor het een uitstekende keuze is voor lichtafhankelijke projecten zoals Smart Lighting, Solar Trackers en fotografietoepassingen. Deze zelfstudie zal u begeleiden door de GY-302-module te verbinden en te gebruiken met Arduino.
Wat u nodig hebt
- GY-302 BH1750 Lichtsensormodule
- Arduino Board (bijv. UNO, Mega, Nano)
- Breadboard en jumper draden
- Een computer met de Arduino Ide geïnstalleerd
Stap 1: Inzicht in de GY-302-module
De GY-302 gebruikt de BH1750-sensor om de lichtintensiteit te meten. Het voert de resultaten uit in LUX, de standaardeenheid voor het meten van verlichtingsverlichting.
GY-302 pinout
Pin | Functie |
---|---|
VCC | Voeding (3.3V/5V) |
GND | Grond |
SDA | I2C -gegevenslijn |
SCL | I2c kloklijn |
I2C -adres
- Standaardadres:
0x23
- Alternatief adres:
0x5C
(ingesteld door de ADDR -pin hoog te trekken op sommige modules)
Stap 2: De GY-302 bedraden aan Arduino
Sluit de GY-302-module als volgt aan op uw Arduino:
GY-302 pin | Arduino Pin |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Opmerking: Zorg ervoor dat de juiste I2C -pinnen worden gebruikt voor uw Arduino -bord (bijv.
SDA
EnSCL
Op Arduino Mega zijn pennen 20 en 21).
Stap 3: Installeer de vereiste bibliotheek
Installeer de communicatie met de BH1750 -sensor om de bibliotheek "BH1750" te vereenvoudigen.
Stappen om te installeren:
- Open de Arduino Ide.
- Gaan naar Schetsen > Library innemen > Bibliotheken beheren.
- Zoek naar "BH1750" en klik Installeren.
Stap 4: Upload de code
Hier is een voorbeeldschets om gegevens over lichtintensiteit van de GY-302 te lezen:
#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
}
Stap 5: Test de installatie
- Sluit de Arduino via USB aan op uw computer.
- Open de Arduino IDE en selecteer de juiste Bord En Haven onder de Hulpmiddelen menu.
- Upload de code door te klikken Uploaden.
- Open de seriële monitor (Hulpmiddelen > Serie -monitor) en stel het baudrates in op
9600
. - Bekijk de lichtintensiteitswaarden die worden weergegeven in LUX.
Optioneel: het I2C -adres aanpassen
Als het standaard I2C -adres (0x23
) werkt niet, controleer de ADDR -pin -configuratie van de module. Met sommige modules kunt u overschakelen naar een alternatief adres (0x5C
) door de ADDR -pin aan te sluiten op VCC.
Toepassingen van de GY-302
- Slimme verlichtingssystemen
- Solar Panel Tracking
- Lichtintensiteitsmeting in fotografie
- Binnen- en buitenlichtmonitoring
Problemen oplossen
- Geen reactie van de sensor: Controleer de I2C -bedrading en controleer het I2C -adres van de module.
- Onjuiste metingen: Zorg ervoor dat de sensor niet wordt belemmerd of licht reflecties ontvangt.
- Bibliotheekfouten: Bevestig dat de BH1750 -bibliotheek correct is geïnstalleerd.
Conclusie
Je hebt met succes de GY-302 BH1750-lichtsensor met Arduino gekoppeld. Deze veelzijdige sensor biedt nauwkeurige lichtintensiteitsmetingen in LUX, waardoor het een uitstekend hulpmiddel is voor een verscheidenheid aan lichtgevoelige projecten. Experimenteer verder door het te integreren met andere componenten of systemen!