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.

Het belang van een goede luchtvochtigheid

Nadelige gevolgen te hoge CO2 concentratie 

Kant en klare oplossing 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 for Homeyduino made by Smart Home Blog https://huisvanvandaag.nl. 
// Take a look at my site for more Homeyduino en other Smart Home projects.

#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>"); // Enter WiFi netwerk and password 
    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();    //makes two separate voids, one per original code
co2loop();      //akes two separate voids, one per original code
ldrloop();      //akes two separate voids, one per original code
} 
 

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

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