Comment utiliser le capteur d'intensité de lumière GY-302 BH1750 avec Arduino

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

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

  1. Module de capteur lumineux GY-302 BH1750
  2. Board Arduino (par exemple, Uno, Mega, Nano)
  3. Fils de planche à pain et de cavalier
  4. 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 et SCL 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:

  1. Ouvrez l'ide Arduino.
  2. Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
  3. 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

  1. Connectez l'Arduino à votre ordinateur via USB.
  2. Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
  3. Téléchargez le code en cliquant Télécharger.
  4. Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur 9600.
  5. 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

  1. Systèmes d'éclairage intelligent
  2. Suivi du panneau solaire
  3. Mesure de l'intensité de la lumière en photographie
  4. 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!

Laissez un commentaire

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.