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.

Hieronder een korte toelichting over het belang van een goede luchtvochtigheid en weer daaronder een stukje over de gevolgen op je gezondheid van een te hoog CO2 gehalte.

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 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.

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

Benodigdheden

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

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

Aansluitschema

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

SensorNodeMCU pin
DHT11D4
LDRA0
MH-Z19BD2
AansluitschemaMulti sensor Co2 - LDR - DHT11 op de Wemos D1 Mini, gekoppeld met Homeyduino

Code CO2 sensor

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.

Via de seriële monitor kun je de Multi sensor CO2, ldr, temperatuur en luchtvochtigheid 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.

Koppeling met mechanische ventilatie

Helemaal mooi is wanneer je deze sensor gebruikt in combinatie met mechanische ventilatie, zoals bijvoorbeeld onderstaand systeem van Itho Daalderop. Deze is namelijk ook te koppelen aan Homey via de Spider app.

Wanneer de CO2 concentratie binnenshuis te hoog word schakelt kan deze via een ‘flow’ automatisch de mechanische ventilatie starten. Op deze manier heb je altijd een gezond binnenklimaat.

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

Één gedachte over “Homeyduino multi sensor: Co2-LDR-DHT11

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 »