#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
#define DHTPIN 2
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
int SetpointTemp; //Maak variable SetpointTemp
int Sensor_Temperature; //Maak variable Sensor humidity
int Sensor_Humidity; //Maak variable sensor humidity
int error; //Maak variable error
int hysteresis; //maak variable hysteresis
int chk;
float hum; //Stores humidity value
float temp; //Stores temperature value
void setup() {
// Init
lcd.init();
lcd.backlight();
dht.begin();
pinMode(2, OUTPUT); //Zet digitale pin 2 als Output
Serial.begin(9600); //Begin de seriele monitor met 9600 snelheid
Serial.println("Temperatuur Controller"); //Print Temperatuur Controller op seriele monitor
lcd.setCursor(0, 0);
lcd.print("Gewenste waarde:");
lcd.setCursor(20, 1);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("Gemeten waarde:");
lcd.setCursor(20, 0);
lcd.print("C");
}
void loop() { //Programma die oneindig door gaat
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
SetpointTemp=analogRead(A3); //Zet waarde van variable SetpointTemp als waarde van analoge pin A0
Sensor_Temperature=temperature;
hysteresis=analogRead(A2)/511; //Zet waarde van variable Sensor als waarde van analoge pin A2
Serial.print("Gewenste waarde:");
Serial.print(SetpointTemp);
lcd.setCursor(17, 0);
lcd.print(SetpointTemp);
Serial.print("Gemeten waarde");
Serial.println(Sensor_Temperature); //Print Waarde van variable Sensor in seriele monitor
lcd.setCursor(17, 0);
lcd.print(Sensor_Temperature);
error= SetpointTemp-Sensor_Temperature; //Zet waarde error als waarde van SetpointTemp-Sensor
lcd.setCursor(17, 0);
lcd.print('Gemeten waarde:');
if(error>0) //Als waarde error groter dan null
{
digitalWrite(2, HIGH); //Zet digitale pin 2 op Hoog
}
else //Anders
{
digitalWrite(2, LOW); //Zet digitale pin 2 op laag
}
delay(1000);
}