Le GY-302 est une planche de rupture avec le capteur d'intensité de lumière BH1750, qui mesure les niveaux de lumière dans Lux. Il communique avec les microcontrôleurs via le protocole I2C, ce qui en fait un excellent choix pour les projets dépendants de la lumière comme l'éclairage intelligent, les trackers solaires et les applications de photographie. Ce tutoriel vous guidera à travers la connexion et l'utilisation du module GY-302 avec Arduino.
Ce dont vous aurez besoin
- Module de capteur lumineux GY-302 BH1750
- Board Arduino (par exemple, Uno, Mega, Nano)
- Fils de planche à pain et de cavalier
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre le module GY-302
Le GY-302 utilise le capteur BH1750 pour mesurer l'intensité de la lumière. Il produit les résultats de Lux, qui est l'unité standard pour mesurer l'illuminance.
Pinout GY-302
Épingle | Fonction |
---|---|
VCC | Alimentation (3,3 V / 5V) |
GND | Sol |
SDA | Ligne de données I2C |
SCL | Ligne d'horloge i2c |
Adresse I2C
- Adresse par défaut:
0x23
- Adresse alternative:
0x5C
(réglé en tirant la broche addr sur certains modules)
Étape 2: Câblage du GY-302 à Arduino
Connectez le module GY-302 à votre Arduino comme suit:
Broche GY-302 | Épingle arduino |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Note: Assurez-vous que les broches I2C sont utilisées pour votre carte Arduino (par exemple,
SDA
etSCL
sur Arduino Mega sont des broches 20 et 21).
Étape 3: Installez la bibliothèque requise
Pour simplifier la communication avec le capteur BH1750, installez la bibliothèque "BH1750".
Étapes à installer:
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- Recherchez "BH1750" et cliquez Installer.
Étape 4: Téléchargez le code
Voici un exemple de croquis pour lire les données d'intensité de lumière du 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
}
Étape 5: tester la configuration
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code en cliquant Télécharger.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - Observez les lectures d'intensité lumineuse affichées dans Lux.
Facultatif: ajustement de l'adresse I2C
Si l'adresse I2C par défaut (0x23
) ne fonctionne pas, vérifiez la configuration de la broche addr du module. Certains modules vous permettent de passer à une adresse alternative (0x5C
) en connectant la broche addr à VCC.
Applications du GY-302
- Systèmes d'éclairage intelligent
- Suivi du panneau solaire
- Mesure de l'intensité de la lumière en photographie
- Surveillance de la lumière intérieure et extérieure
Dépannage
- Aucune réponse du capteur: Vérifiez le câblage I2C et vérifiez l'adresse I2C du module.
- Lectures incorrectes: Assurez-vous que le capteur n'est pas obstrué ou ne reçoit pas de réflexions lumineuses.
- Erreurs de bibliothèque: Confirmez que la bibliothèque BH1750 est correctement installée.
Conclusion
Vous avez réussi à interfacer le capteur lumineux GY-302 BH1750 avec Arduino. Ce capteur polyvalent fournit des mesures précises d'intensité lumineuse dans Lux, ce qui en fait un excellent outil pour une variété de projets sensibles à la lumière. Expérimentez plus loin en l'intégrant à d'autres composants ou systèmes!