Nouveau dans la boutique: GY-302

Bonjour,

Beaucoup d'entre vous ont certainement déjà travaillé avec la postconstruction d'une station météorologique ou de matériel domestique DIY. Pour ce domaine d'intervention, je voudrais vous présenter aujourd'hui un nouveau capteur de lumière.

Jusqu'à présent, nous n'avions qu'une seule Photodiode sur un panneau de réservation et la Photodiode avec LM393 et le contact de commutation réglable dans notre portefeuille autour de la luminosité de l'environnement, maintenant nous avons enfin un capteur de lumière qui peut différencier non seulement les lumières et les ténèbres, mais aussi donne des valeurs à Lux.

Sur notre nouvelle Détecteur GY-302 est un BH1750 des valeurs pouvant être reproductibles de manière fiable dans Lux sortie. Grâce au régulateur de tension fixe, il est possible de faire fonctionner sans problème les Raspberrys, les ESP et les Arduinos.

 

Bien sûr, ce module de capteur n'est pas un appareil de mesure de laboratoire, mais avec ces valeurs, il y a beaucoup plus d'attrapes que les capteurs KY habituels. Lors de mes tests avec le capteur à la maison, j'ai remarqué que les valeurs en sortie permettent même de différencier la lampe dans mon salon de séjour.

Le capteur BH1750 est assez répandu et plusieurs bibliothèques sont donc disponibles. Pour ESPEasy:

et Tasmota:

prennent en charge cette puce de capteur.

Puisqu'il s'agit d'un détecteur à interface I2C, quatre connexions seulement sont nécessaires, pour notre exemple d'utilisation d'aujourd'hui, nous utilisons une UNOR3.

 Arduino ONU GY-302
GND GND
5V C.C.
A4 SDA
A5 SCL

 

Aujourd'hui, nous nous sommes opposés à la bibliothèque du gestionnaire de bibliothèque d'Arduino-IDE, car les modifications apportées à la résolution du détecteur n'ont pas abouti au résultat souhaité et ont trouvé une alternative pratique:

Ici, sur la bibliothèque GitHub de sorcières.

Il y a beaucoup de façons de charger une bibliothèque de Git dans l'ESI. dont nous avons fait preuve ici..

A cette bibliothèque, nous avons beaucoup apprécié les choses, et l'une est la communion allemande de la AS_BH1750.h Le développeur fournit un exemple d'application avec affichage à cristaux liquides, en particulier en détail et en structure.

Par conséquent, après avoir installé la bibliothèque et le test fonctionnel, vous pouvez utiliser le détecteur Shield LCD rallier et connecter le SCL/SDA Pins comme d'habitude, c'est notre "LightMeter".

Pour les exemples-> AS_BH1750-> Light_Meter_LCD, vous n'avez pas besoin de modifier le Sketch.

Voici une nouvelle fois le code exemple fourni:

 

#include <Wire.h>
#include <AS_BH1750.h>
#include <LiquidCrystal.h>

/* 
 * LightMeter_LCD
 * 
 * Version 1.2
 * Date: 05.08.2013
 * 
 * Le programme utilise le BH1750 (Détecteur de lumière ambiante)
 * et affiche les valeurs de Lux sur un écran LCD 16x2.
 * 
 * Câblage (ONU, Nano ...)
 * 
 * BH1750:
 * Sensor SCL pin à A5
 * Détecteur SDA pin à A4
 * Détecteur VDD pin à 5V
 * capteur GND pin sur GND
 * Détecteur ADDR pin libre
 *  
 * LCD en mode 4 bits:
 * LCD RS pin sur digital pin 8
 * LCD RW pin sur la broche numérique 13
 * LCD Enable pin sur digital pin 9
 * LCD D4 pin pin pin 4
 * LCD D5 pin an pin pin 5
 * LCD D6 pin an pin 6
 * LCD D7 pin sur digital pin 7
 * 
 *
 * Copyright (c) 2013 Alexander Schulz.  Tout ce qui est réservé.
 *  
 * This program program is free software: you can redistribute it and / or modify
 * it under the terms of the GNU General Public License as published by
 * la Free Software Foundation, version 3 de la Licence, or
 * (at option your option) any later version.
 * 
 * This program program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY ; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  mer
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

AS_BH1750 lightmètre;

// Setup LCD-Shield
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);

void setup() {   // Initialisation de l'affichage   lcd.clear();    lcd.begin(16, 2); // 16x2 caractères   lcd.setCursor(0,0);    lcd.print("LightMeter v1.0");    lcd.setCursor(0,1);    lcd.print("Initializing ...");    Délay(1000);   lcd.clear();   if(!lightmètre.begin()){     // Vérifiez que le détecteur est présent     lcd.clear();     lcd.setCursor(0,0);      lcd.print("BH1750 not found");     lcd.setCursor(0,1);      lcd.print("Check wiring!");     while (1) {       Délay(1000);     }   }

}

void boucle() {   char clux[9];   // Lire et préparer les valeurs   float lux = lightmètre.readLightLevel();   dtostrf(lux, 8, 1, clux);   lcd.setCursor(0,0);    lcd.print("Light level:");   lcd.setCursor(5,1);    lcd.print(clux);   lcd.print("lx");   Délay(500);
}



 

Jusqu'à la contribution suivante:)

 

 

ProduktvorstellungenSensoren

1 commentaire

Pohl, Michael

Pohl, Michael

Ich verwende den ESP32. Meine Frage: kann man über die I2C Schnittstelle ohne Probleme die Signale, die etwa 3.3V maximal sein dürfen, allgemein – d. h. auch für andere Sensoren über die I2C Schnittstelle – ohne Gefahr empfangen? Gibt es für den ESP32 entsprechende Libraries?
Mic

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés