Homeyduino multi sensor: Co2-LDR-DHT11

Homeyduino multi sensor: Co2-LDR-DHT11

Dit keer wederom een nieuwe Multi sensor en wel een combinatie van een CO2-, licht- temperatuur- en luchtvochtigheidssensor.

Eerder hebben we al eens een andere multi sensor gemaakt met LDR – DHT11 in combinatie met een PIR (bewegingssensor) en hiervoor hebben we een losse Co2 sensor gemaakt. 

Maar dit keer dus een combinatie tussen een Co2-, luchtvochtigheid-, temperatuur- en lichtsensor, deze sensor meet je dus eenvoudige meerdere aspecten van je binnenklimaat en ook zal ik even kort uitleggen waarom dit van belang is.  Liever meteen door naar het project? Klik dan hier! 

Luchtvochtigheid

Een goede luchtvochtigheid heeft grote invloed op hoe je voelt. Zo zal een te lage luchtvochtigheid zorgen voor:

  • Droge huid en keel, branderige ogen, gebarsten lippen
  • Hoofdpijn, vermoeidheid, concentratieproblemen
  • Krimpen of scheuren van houten kozijnen, vloeren en meubels

Terwijl een te hoge luchtvochtigheid juist weer kan zorgen voor:

  • Toename van bacteriën en schimmels in huis
  • Uitzetten of rotten van houten meubels, kozijnen en vloeren
  • Warmteklachten: het menselijk lichaam kan de lichaamswarmte niet goed afvoeren bij een te hoge luchtvochtigheid
  • Hogere stookkosten: het opwarmen van vochtige lucht kost meer energie dan het opwarmen van droge lucht

De ideale luchtvochtigheid ligt binnen dan ook ergens tussen de 40 – 60 %

Aangesloten Multi sensor Co2 - LDR - DHT11 op de Wemos D1 Mini
Aangesloten Multi sensor Co2 – LDR – DHT11 op de Wemos D1 Mini
 

Nadelige gevolgen te hoge CO2 concentratie 

De nadelige gevolgen van een te hoge CO2 concentratie uit zich op verschillende wijze, maar enkele voorbeelden hiervan zijn je slaperig of lamlendig voelen. Dit komt doordat wanneer de hoeveelheid CO2 in je bloed stijgt, dit ten koste gaat van de hoeveelheid zuurstof die je opneemt.

Een acceptabel Co2 niveau binnenshuis ligt ergens tussen de 600-800 ppm (parts per milion). Vanaf 1000 ppm is het wenselijk te gaan ventileren omdat dit al invloed heeft op je gezondheid.

Op zoek naar een goede internetprovider? Eenvoudig kijken, vergelijken en overstappen doe je hier! 

Kant en klare oplossing

Uiteraard zijn hier online tal van kant en klare oplossingen voor te krijgen, bijvoorbeeld bovenstaande op Bol.com of iets goedkoper zoals deze op Aliexpress.  Al met al betaal je toch al gauw ergens tussen de € 100 en € 399,- voor enkel de CO2 meter.

Zelfbouw Co2 Multi sensor

Op Aliexpress vindt je echter de MH-Z19B sensor voor rond de € 20,-, combineer dat met een LDR- en een DHT11 sensor, een Wemos D1 van enkele euro’s en voor een bedrag tegen de€ 30,- heb je een multi sensor die niet alleen van alles meet, maar ook nog eens kan communiceren met je Smart Home. Dit doen we uiteraard weer middels Homeyduino, de handige koppeling tussen Arduino en Homey.

Op deze manier kun je het verloop van de luchtvochtigheid en CO2 concentratie monitoren via Homey Inzichten en kun je je zelfbouw sensoren gebruiken als trigger voor je flows. Bijvoorbeeld door het automatisch aansturen van je mechanische ventilatie.

Uitlezen van je Co2 - LDR - DHT11 multisensor via Homey Insights
Uitlezen van je Co2 – LDR – DHT11 multisensor via Homey Insights


De benodigdheden:

Ook nodig maar enkel op de boel eenmalig te configureren, een computer of laptop met daarop geïnstalleerd:

 

Aansluitschema

Volg onderstaand schema en afbeelding om de sensor aan te sluiten op de Wemos D1 Mini.

 
Sensor NodeMCU pin
DHT11 D4
LDR A0
MH-Z19B D2

 

AansluitschemaMulti sensor Co2 - LDR - DHT11 op de Wemos D1 Mini, gekoppeld met Homeyduino
AansluitschemaMulti sensor Co2 – LDR – DHT11 op de Wemos D1 Mini, gekoppeld met Homeyduino


 Code 

Onderstaand de code, net als de bij de andere Homeyduino projecten gaat het uploaden gaat via Arduino IDE, mocht je hier niet bekend mee zijn lees dan hier voor een uitgebreide handleiding. Zorg dat je bij instellingen in Arduino IDE het juiste board hebt geselecteerd en dat je op 9600 baud de code upload.  In de sketch staat ook de aansluiting om de metingen via UART uit te lezen. Hier maken we  in deze situatie echter geen gebruik van, we lezen de sensor alleen uit via PWM.


// Code aangepast voor Homeyduino door Domoticablog https://huisvanvandaag.nl. 
// Kijk op de site voor meer Homeyduino en andere Smart Home gerelateerde posts.

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <Homey.h>
#include <SimpleDHT.h>
#include <SoftwareSerial.h>
#include <MHZ.h>

#define PIN_DHT D4 // DHT11 
SimpleDHT11 dht11; // DHT11

#define CO2_IN D2 // D2 19 // Co2 
#define MH_Z19_RX D6  // Co2
#define MH_Z19_TX D5  // Co2 
MHZ co2(MH_Z19_RX, MH_Z19_TX, CO2_IN, MHZ19B); // Co2

unsigned long previousMillis = 0; // DHT11
const unsigned long interval = 10000; //Interval in milliseconds // DHT11

int LDRsensor = A0; // LDR

void wifi() {
  if (WiFi.status() != WL_CONNECTED) {
    WiFi.begin("<SSID>", "<PASSWORD>"); // Vul hier je WiFi netwerk en wachtwoord in 
    uint8_t timeout = 30;
    while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(".");
      if (timeout<1) break;
    }
    if (WiFi.status() == WL_CONNECTED) {
      //Print IP address
      Serial.print("Connected to WiFi! (");
      Serial.print(WiFi.localIP());
      Serial.println(")");
    }
  }
}

void setup() { // DHT11
  Serial.begin(9600);
  Homey.begin("LDR-DHT11-Co2 Multi-sensor");
  Homey.setClass("sensor");
  Homey.addCapability("measure_humidity"); // DHT11
  Homey.addCapability("measure_temperature");// DHT11
  Homey.addCapability("measure_co2"); // Co2 
  pinMode(CO2_IN, INPUT); // Co2
  Homey.addCapability("measure_luminance"); // LDR
}

  
 void  co2loop() { // void voor Co2
  wifi(); // Beide
  Homey.loop(); // Beide
  int ppm_pwm = co2.readCO2PWM();
  Serial.print("PPMpwm: ");
  Serial.print(ppm_pwm);
  Homey.setCapabilityValue("measure_co2", (int) ppm_pwm); 

Serial.println("\n------------------------------");
  delay(5000);
 }


void dhtloop() { // void voor DHT11
  wifi(); // Beide
  Homey.loop(); // Beide
   unsigned long currentMillis = millis(); // DHT11
  if(currentMillis - previousMillis > interval) { // DHT11
    previousMillis = currentMillis; // DHT11
    updateSensor(); // DHT11
  }
}

void updateSensor() { // DHT11
  byte temperature = 0; // DHT11
  byte humidity = 0; // DHT11
  int err = SimpleDHTErrSuccess; // DHT11
  if ((err = dht11.read(PIN_DHT, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) { // DHT11
    Serial.print("Read DHT11 failed, err="); Serial.println(err); // DHT11
    return; // DHT11
  }

  Serial.print((int)temperature); Serial.print(" *C, "); // DHT11
  Serial.print((int)humidity); Serial.println(" H"); // DHT11

  Homey.setCapabilityValue("measure_temperature", (int) temperature); // DHT11
  Homey.setCapabilityValue("measure_humidity", (int) humidity); // DHT11

}
void ldrloop() {
    wifi();
  Homey.loop();
  Serial.print("LDR waarde: ");
  Serial.print(analogRead( LDRsensor));
  Serial.println("");
  Homey.setCapabilityValue("measure_luminance", analogRead( LDRsensor));
  delay(1000); // wacht 1 minuut 60000 ms
}
void loop(){ // Beide
dhtloop();    //maakt er twee aparte voids aan, één per originele code
co2loop();      //maakt er twee aparte voids aan, één per originele code
ldrloop();      //maakt er twee aparte voids aan, één per originele code
} 
 
Mult sensor Homeyduino: Co2 - LDR - DHT11

Testen

Nu het je gelukt is om de code te uploaden gaan we deze meteen testen. Dit doen we  door de Seriële Monitor in Arduino IDE te openen, klik hiervoor op Hulpmiddelen en dan Seriële Monitor of gebruik de sneltoets CTRL+SHIFT+M.

Vervolgens opent er een scherm waarop je de waardes van de sensor uit kunt lezen. De eerste keer dat je de CO2 sensor opstart kan het zeker 3 minuten of langer duren voordat deze warm geworden is, dus geen paniek wanneer er niet meteen iets verschijnt. Een andere tip die ik je wil meegeven is om de sensor ook buiten te laten meten, liefst wanneer het buiten ruim boven het vriespunt is, dit zodat je een beeld hebt of de waardes die je afleest enigszins kloppen. Zoals eerder in dit artikel al aangegeven zit de buitenwaarde voor Co2 rond de 417 ppm, bij mijn eigen metingen kwam ik buiten rond de 530 ppm uit.

De andere waarden die de sensor weergeeft zijn dus de lumen (lichtintensiteit), de luchtvochtigheid en de temperatuur. 

Via de seriële monitor kun je de Multi sensor CO2, ldr, temperatuur en luchtvochtigheid uitlezen.
Via de seriële monitor kun je de Multi sensor uitlezen.

Homeyduino sensoren koppelen in Homey 2.0? Hoe je dat doet lees je hier!

Conclusie

Al met al bouw je op deze manier, met beperkte middelen, een goed werkende Multi sensor. Normaal gesproken zou je voor dergelijke sensor hoogstwaarschijnlijk enkele honderden euro’s betalen, terwijl die maar een fractie van de mogelijkheden heeft.

De LDR lichtsensor gebruik ik zelf al dan niet in combinatie met aanwezigheidsdetectie om automatisch de verlichting in te schakelen wanneer het te donker is binnen. Dit werkt mijn inziens beter dan gebruik te maken van bijvoorbeeld het tijdstip van zonsondergang.

Gebruik de multi sensor om ahv Co2, luchtvochtigheid, temperatuur of lichtsterkte een flowop Homey te starten
Schakel automatisch je verlichting in wanneer het binnen te donker word.
 

Hier in huis is de Co2 sensor gekoppeld aan de mechanische ventilatie van Itho Daalderop, gekoppeld aan Homey via de Spider thermostaat en gateway.  Op gezette tijden gaat de mechanische ventilatie altijd al aan, maar mocht deze niet aanstaan en komt de Co2 waarde boven 1000 ppm, dan schakelt deze als nog in, in de ‘Boost mode’ dat wil zeggen gedurende 30 minuten op de hoogste stand. Ditzelfde kun je uiteraard ook doen met de luchtvochtigheid, met name wanneer deze te hoog zou zijn.

Homeyduino Co2 flow in Homey
Homey Co2 flow die automatisch start bij de te hoge Co2 concentratie
Spider thermostaat en Gateway van Itho Daalderop, hiermee koppel je eenvoudig de mechanische ventilatie met Homey

Spider thermostaat en Gateway van Itho Daalderop, hiermee koppel je eenvoudig de mechanische ventilatie met Homey

Mechanische ventilatie van Itho Daalderop, eenvoudig te koppelen met Homey voor een gezonder binnenklimaat.

 

Binnenkort weer meer!  Schrijf je hier alvast in om niets te hoeven missen!

 

Mike | Huisvanvandaag

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Aanbevolen
Nog altijd niet officieel gelanceerd in Nederland, maar gelukkig al wel goed verkrijgbaar.  De alweer…
Translate »