De data van de BME280 sensor wordt via het WiFi netwerk naar de Domoticz server op de Raspberri Pi zero gestuurd.
De data van de BME280 sensor wordt door de ESP-1 op de LCD getoont.
Opmerking: volgens de specificaties van Bosch, is de BME280 sensor alleen geschikt voor een omgeving zonder condensatie.
Dit maakt de sensor minder geschikt om hem buitenshuis te gebruiken.
De LDR output is aangesloten op de analoge input van de Wemos chip.
De LDR wordt gebruikt om het licht te meten en om eventueel (in de vakantie!) lampen in te schakelen.
De LDR kan ook gebruikt worden om de achtergrond verlichting van de LCD in te schakelen.
De ESP-1 is naast de thermostaat in de huiskamer bevestigd.
De netvoeding (7,5 Volt) is via een lange kabel aangesloten op zolder.
De hardware is ingebouwd in een Kradex Behuizing van 118x78x55mm, die gekozen is vanwege de afmetingen van de LCD display.
Deze LCD is past precies in het deksel. In de bodem zijn de Wemos, BME280, LDR lichtsensor, de Sparkfun i2c level convertor en de 5 Volt voeding
Aansluitingen:
Bedrading: | ||
Signaal | Omschrijving | Kleur |
---|---|---|
SCL | I2C bus clock | Geel |
SDA | I2C bus data | Groen |
Vcc | Voedings spanning | Rood 5 Volt voor LCD |
Vdd | Voedings spanning | Oranje 3,3 Volt voor BME280 en lichtsensor |
ADC | Analoge spanning | Paars LDR output |
GND | Ground | Zwart |
Foto LCD print: met rechts boven de PCF8574T (I2C) adapter.
Het I2C adres van de PCF8574T chip op de adapter is 0x27.
Foto Wemos, BME280, LDR, Sparkfun en voeding:
Een volgend aandachtspunt is het adres van de BME280 en de LCD display.
Met een i2c scan programma kunnen we de adressen checken.
In het "Tools" menu van ESP Easy is een i2c scanner programma, om te detecteren welke adressen zijn aangesloten op de ESP8266 chip.
Voorbeeld: ... resultaat, LCD display en BME280 sensor.
Opmerking: het is van belang om weten welke pinnen gebruikt moeten worden voor input of output.
Een gedetailleerd overzicht staat op de website:
RandomnerdTutorials: ESP8266 Pinout Reference: Which GPIO pins should you use?
Bepaalde I/O pins worden bijvoorbeeld voor de seriële I2C of SPI gebruikt.
De volgende stappen:
Om de BME280 sensor aan de Domoticz server toe te voegen, moet eerst "dummy device" in Domoticz gemaakt worden.
Er staan voorbeelden beschreven op de pagina's:
Opmerking: voor de setup van de BME280 en de LCD:
De "Name" van de devices moeten uniek zijn, de BME280 device is "Huiskamer", de LCD device is "Woonkamer".
Details van deze sensor staat in de documentatie: espeasy.readthedocs BME280
Specifications:Details: ... (fabrikant: Bosch)
De eerste stap is het configureren van de BME280 in Domoticz, zie: Domoticz: ESP-Easy
Als de BME280 in Domoticz is toegevoegd krijgt deze een 'index', 'IDX' = 13
De tweede stap is het configureren van de BME280 in ESP Easy.
Dit wordt uitgevoerd in het 'devices' scherm van de ESP Easy webserver.
Configuratie: "devices" ... NB: IDX = 13!
Zeer beknopt is de LCD in de documentatie opgenomen:
espeasy.readthedocs LCD2004
De PCF8574 I2C interface zorgt voor de aanpassing van de I2C interface van de Wemos naar de parallel interface van de LCD.
Hardware:
Opmerking: de instelling van de "Contrast" stond default op minimaal, niet erg handig!
Een leuk detail vond ik op de pagina:
github.com letscontrolit: issues-2928
zag ik de tekst: ... lcd,2,1,"I: [var#1#D1.1]{D}C" ...
{D} geeft "graad" character voor graden Celcius op de LCD display!
Configuratie "devices"
Resultaat: T =temperatuur / H =vochtigheid / P =luchtdruk op de LCDOpmerking: normaal kijkt men niet zo vaak naar de luchtdruk.
Toevallig komt de druk van 1013 hPa = "hecto-Pascal" (de oude millibar) overeen met een barometer stand van 76 cm kwik, een gemiddelde druk, "veranderlijk" op de oude barometer, hoger dan 1013 hPa geeft mooier, zonniger weer!
LDR in de (oude wiki) documentatie: letscontrolit.com: Photosensitive resistor
Hardware:
Er wordt nog onderzoek gedaan naar de configuratie van de LDR.
Bij daglicht is geen achtergrond verlichting nodig van de LCD display, maar in de avond wel!
De LDR heeft een potentiometer, om de gevoeligheid van de digitale uitgang in te stellen.
Deze kan gebruikt worden om de achtergrond verlichting van de LCD aan of uit te schakelen.
Een tweede stap is het instellen van de maximale helderheid.
Een eenvoudige schakeling vond ik op het Arduino forum:
forum.arduino: trying-to-dim-an-lcd-backlight
Het bestaat uit een NPN transistor en een potentiometer, die in de plaats komen van de jumper.
Een andere schakeling vond ik op:
electronicsforu.com: Dimming LCD Backlight
Presented here is a power-saving LCD backlight control circuit.
Aanvankelijk had ik bij de eerste setup van de hardware een probleem met de LCD.
Bij een i2c scan via het menu van de ESP Easy werd alleen de BME280 gedetecteerd.
Achteraf bleek er een slechte soldeerverbinding te zijn bij de voeding van de i2c level converter.
Hierdoor werd de LCD niet aangesproken!
Ik overwoog om de i2c bus te checken door een blokgolf op de data en clock uitgang te zetten, en die met een oscilloscoop te meten.
Hiervoor moeten de uitgangen van data en clock als normale outputs worden ingesteld.
Met het volgende commando wordt een "PWM" Pulsbreedtemodulatie: PBM of PWM van het Engelse pulse-width modulation signaal op de Wemos output gezet.
Zie de (oude) wiki: letscontrolit.com: GPIO
Met details: ... To set a certain PWM level.
http://<espeasyip>/control?cmd=PWM,13,500
Zie ook wiki: letscontrolit.com: GPIO
Meer details ... to send a long pulse to a certain pin ... Example to send an active high (1) pulse on GPIO 15 for 1 second:
http://<espeasyip>/control?cmd=LongPulse_mS,15,1,1000
Nadat de soldeerverbinding van de level convertor was hersteld, en de ESP Easy configuratie was ingesteld, was er nog niets te zien op de LCD Display...
De simpele oplossing was de potentiometer instelling op het "PCF8574" adapter board, die achter op de LCD gemonteerd zit.
Deze adapter is om de parallel poort van de LCD aan te passen naar het i2c protocol van de Wemos.
Voor het dimensioneren van de voeding is het stroomverbruik van belang!
De Wemos, BME280, LCD en de LDR verbruiken ca 110 mA met ingeschakelde (maximale) LCD-achtergrond verlichting.
Zonder achtergrond verlichting is het stroomverbruik ca 70 mA
De meting is uitgevoerd met een "KWS-MX17", zie: IoT: power