Neu im Shop: GY-302 - AZ-Delivery

Hallo allemaal

Velen van jullie hebben zeker al gewerkt aan de replica van een weerstation of doe-het-zelf smart home-apparaten. Vandaag wil ik een nieuwe lichtsensor presenteren voor dit toepassingsgebied.

Tot nu toe hadden we er maar één Fotodiode op een breakout-bord evenals de Fotodiode met LM393 en instelbaar schakelcontact in ons portfolio om de omgevingshelderheid te meten, nu hebben we eindelijk een lichtsensor die niet alleen onderscheid kan maken tussen licht en donker, maar ook waarden in lux uitvoert.

Over onze nieuwe GY-302 sensor is een BH1750 die betrouwbaar reproduceerbare waarden in Lux problemen. Dankzij de gebruikte vaste spanningsregelaar is een probleemloze werking op frambozen, ESP's en Arduinos mogelijk.

 

Deze sensormodule is zeker geen gekalibreerd laboratoriummeetapparaat, maar u kunt met deze waarden veel meer beginnen dan met de gebruikelijke KY-sensoren. Tijdens mijn tests met de sensor thuis, ontdekte ik dat het zelfs mogelijk is om te onderscheiden welke lamp in mijn woonkamer oplicht met de gegeven waarden.

De BH1750-sensor is heel gebruikelijk en er zijn verschillende bibliotheken beschikbaar. Beide voor ESPEasy:

evenals Tasmota:

ondersteunen deze sensorchip.

Omdat het een sensor is met een I2C-interface, zijn er slechts vier verbindingen nodig, gebruiken we een UNOR3 voor ons huidige toepassingsvoorbeeld:

Arduino UNO GY-302
BND BND
5V VCC
A4 SDA
A5 SCL

 

We hebben vandaag gekozen tegen de bibliotheek van de bibliotheekbeheerder van de Arduino-IDE, omdat veranderingen in de resolutie van de sensor niet tot het gewenste resultaat hebben geleid en een praktisch alternatief hebben ontdekt:

Hier is de GitHub bibliotheek van heksenmeesters.

Er zijn veel manieren om een ​​bibliotheek van Git in de IDE te laden, een van deze hebben we hier laten zien.

In deze bibliotheek hebben wij heel goed genoten van verschillende dingen, enerzijds de Duitse opmerking van de AS_BH1750.h vooral gedetailleerd en gestructureerd, en de ontwikkelaar biedt een voorbeeld van een toepassing met LCD-weergave.

Dus u kunt onze sensoren gebruiken na het installeren van de bibliotheek en de functietest LCD-scherm SCL/SDA-pinnen aansluiten zoals gewoonlijk, onze "LightMeter" is klaar.

Onder voorbeelden ->AS_BH1750 ->Light_Meter_LCD vindt u de schets, wijzigingen zijn niet vereist.

Hier is de voorbeeldcode die wordt verstrekt:

 

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

/* 
 * LightMeter_LCD
 * 
 * Versie 1.2
 * Datum: 05.08.2013
 * 
 * Het programma gebruikt de BH1750 (omkeerbare lichtsensor)
 * en geeft de waarden weer in Lux op een 16x2-symbool LCD.
 * 
 * Wiring (UNO, Nano...)
 * 
 * BH1750:
 * Sensor SCL pin an A5
 * Sensor SDA pin an A4
 * Sensor VDD pin op 5V
 * Sensor GND pin to GND
 * Sensor ADDR pin free
 *  
 * LCD in 4-bits mode:
 * LCD RS pin an digital pin 8
 * LCD RW pin an digital pin 13
 * LCD Aktivieren Sie Pin an digitalen Pin 9
 * LCD D4 pin an digital pin 4
 * LCD D5 pin an digital pin 5
 * LCD D6 pin an digital pin 6
 * LCD D7 pin an digital pin 7
 * 
 *
 * Copyright (c) 2013 Alexander Schulz. All right reserved.
 *  
 * Dieses Programm ist freie Software: Sie können es neu verteilen und/oder ändern
 * het onder de voorwaarden van de GNU General Public License zoals gepubliceerd door
 * die Free Software Foundation, entweder Version 3 der Lizenz, oder
 * (in Ihrer Option) jede spätere Version.
 * 
 * Dieses Programm wird verteilt in der Hoffnung, dass es nützlich sein wird,
 * aber WITHOUT ANY WARRANTY; ohne die implizite Garantie von
 * MERCHANTABILITT oder FITNESS FR EINE PARTIKULARURPOSION.
 * GNU General Public License voor meer details.
 *
 * U had een kopie van de GNU General Public License moeten ontvangen
 * sisterammen mit diesem Programm. Wenn nicht, siehe <http://www.gnu.org/licenses/>.
 */

AS_BH1750 light meter;

// LCD-scherm instellen
Vloeibaar Kristal lcd(8, 13, 9, 4, 5, 6, 7);

nietig instellen() {   // Initialiseer het display   lcd.duidelijk();    lcd.beginnen(16, 2); // 16x2 tekens   lcd.setCursor(0,0);    lcd.afdrukken("LightMeter v1.0");    lcd.setCursor(0,1);    lcd.afdrukken("Bezig met initialiseren ...");    vertraging(1000);   lcd.duidelijk();   als(!lichtmeter.beginnen()){     // Controleer of er een sensor is     lcd.duidelijk();     lcd.setCursor(0,0);      lcd.afdrukken("BH1750 niet gevonden");     lcd.setCursor(0,1);      lcd.afdrukken("controleer bedrading!");     terwijl (1) {       vertraging(1000);     }   }

}

nietig lus() {   char Clux[9];   // Uitlezen en waarden voorbereiden   zweven lux = lichtmeter.readLightLevel();   dtostrf(lux, 8, 1, Clux);   lcd.setCursor(0,0);    lcd.afdrukken("Lichtniveau:");   lcd.setCursor(5,1);    lcd.afdrukken(Clux);   lcd.afdrukken("lx");   vertraging(500);
}



 

Tot het volgende bericht :)

 

 

ProduktvorstellungenSensoren

1 Reactie

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

Laat een reactie achter

Alle opmerkingen worden voor publicatie gecontroleerd door een moderator

Aanbevolen blogberichten

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery