Anschluss des Sensors

Im nächsten Schritt soll der Sensor zur Erfassung von Luftfeuchtigkeit und Temperatur ergänzt werden.

Für dieses Projekt wird der populäre digitale Sensor DHT11 bzw. DHT22 (teurer aber genauer) eingesetzt.

Unten ist ein Programmcode aufgeführt, der um die Einbindung des DHT22 Sensors und weiterer Signalleuchten zur Darstellung von Temperatur- und Feuchtigkeitsgrenzen ergänzt wurde.

#include <ESP8266WiFi.h>
#include <DHT.h>

#define DHTPIN D4
#define DHTTYPE DHT22 // DHT 22 (AM2302)

// Sensor
DHT dht(DHTPIN, DHTTYPE);
long lastSensorTime = 0;
float lastTemperature = 0.0f;
float lastHumidity = 0.0f;

// local hardware
const int leds[]={D0, D1, D2, D3, D5, D6, D7, D8};
const int ledCount = 8;
const int signalTCold = D0;
const int signalTOK = D1;
const int signalTHot = D2;
const int signalHDry = D3;
const int signalHOK = D5;
const int signalHWet = D6;
const int signalFan = D7;
const int signalHeating = D8;
bool activateFan=false;
bool activateHeating=false;

void processInputs() {
 long now = millis();
 float t= dht.readTemperature();
 float h= dht.readHumidity();
 if(!isnan(t) && !isnan(h)) {
   lastSensorTime = now;
   lastTemperature = t;
   lastHumidity = h; 
 }
}

void processOutputs() {
 digitalWrite(signalTCold, LOW);
 digitalWrite(signalTOK, LOW);
 digitalWrite(signalTHot, LOW); 
 if(lastTemperature < 18){
   digitalWrite(signalTCold, HIGH);
 } else if(lastTemperature > 22) {
   digitalWrite(signalTHot, HIGH); 
 } else {
   digitalWrite(signalTOK, HIGH);
 }

 digitalWrite(signalHWet, LOW);
 digitalWrite(signalHOK, LOW);
 digitalWrite(signalHDry, LOW); 
 if(lastHumidity < 50){
   digitalWrite(signalHDry, HIGH);
 } else if(lastHumidity > 60) {
   digitalWrite(signalHWet, HIGH); 
 } else {
   digitalWrite(signalHOK, HIGH);
 }
 digitalWrite(signalFan, activateFan ? HIGH : LOW);
 digitalWrite(signalHeating, activateHeating ? HIGH : LOW);
}

void loop() {
 processInputs();
 processOutputs();
}

 Auftrag

Nehmen Sie den Sensor und die zusätzlichen Signalleuchten in folgenden Schritten in Betrieb:

  • Installieren Sie die erforderliche Bibliothek für den Sensor DHT22
  • Erstellen Sie eine Funktionsbeschreibung des Progamms
  • Schließen Sie die LEDs als Signalleuchten an die durch das Programm vorgegebenen Ausgänge

Schreibe einen Kommentar