plaatje

Temp met LCD schermpje

24 augustus met Ruben gemaakt.
+++++++++++++++++++++++++++++++++
/*
* Bas on Tech – DHT11 / DHT22
* Deze les is onderdeel van de lessen op https://arduino-lessen.nl
*
* (c) Copyright 2018 – Bas van Dijk / Bas on Tech
* Deze code en inhoud van de lessen mag zonder schriftelijke toestemming
* niet voor commerciele doeleinden worden gebruikt
*
* YouTube:    https://www.youtube.com/c/BasOnTechNL
* Facebook:   https://www.facebook.com/BasOnTechChannel
* Instagram:  https://www.instagram.com/BasOnTech
* Twitter:    https://twitter.com/BasOnTech
*
* —————————————————————————
*
* PIN AANSLUITINGEN DHT11 & DHT22
*
* Vcc  –> 3.3V
* Data –> 12
* NC
* GND  –> GND
*
* 4K7 (4700) Ohm weerstand tussen 3.3V en Data pin
*
*/

#include “DHT.h”             // Bibliotheek voor DHT sensoren

// Bibliotheek voor communicatie met I2C / TWI apparaten
#include <Wire.h>

// Bibliotheek voor het LCD scherm
#include <LiquidCrystal_I2C.h>

/*
* Stel hier in welke chip en foromaat LCD je hebt
* Gebruik 0x27 als je chip PCF8574 hebt van NXP
* Gebruik 0x3F als je chip PCF8574A hebt van Ti (Texas Instruments)
* De laatste twee getallen geven het formaat van je LCD aan
* bijvoorbeeld 20×4 of 16×2
*
*/
LiquidCrystal_I2C lcd(0x27, 16, 2);
//LiquidCrystal_I2C lcd(0x3F, 16, 2);

#define dhtPin 12            // data pin

/*
* Stel hier in welke DHT chip je gebruikt
*/
#define dhtType DHT11        // DHT 11
//#define dhtType DHT22      // DHT 22  (AM2302), AM2321
//#define dhtType DHT21      // DHT 21 (AM2301)

DHT dht(dhtPin, dhtType);    // Initialiseer de DHT bibliotheek

float humidityVal;           // luchtvochtigheid
float tempValC;              // temperatuur in graden Celcius
float tempValF;              // temperatuur in graden Fahrenheit
float heatIndexC;            // gevoelstemperatuur in graden Celcius
float heatIndexF;            // gevoelstemperatuur in graden Fahrenheit

void setup() {
Serial.begin(9600);        // stel de seriële monitor in

dht.begin();               // start het DHT sensor uitlezen

lcd.init();                  // initialiseer het LCD scherm
lcd.backlight();             // zet de backlight aan
lcd.clear();                 // wis het scherm

lcd.setCursor(0, 0);
lcd.print(“Temp=”);

lcd.setCursor(0, 1);
lcd.print(“Vocht=”);
}

void loop() {

humidityVal = dht.readHumidity();        // vraag de luchtvochtigheid aan de DHT sensor
tempValC = dht.readTemperature();        // vraag de temperatuur in graden Celcius aan de DHT sensor
tempValF = dht.readTemperature(true);    // vraag de temperatuur in graden Fahrenheit aan de DHT sensor

// Controleer of alle waarden goed zijn uitgelezen, zo niet probeer het opnieuw
if (isnan(humidityVal) || isnan(tempValC) || isnan(tempValF)) {
Serial.println(“Uitlezen van DHT sensor mislukt!”);

// Beëindig de loop() functie
return;
}

// Bereken de gevoelstemperatuur in graden Celcius
heatIndexC = dht.computeHeatIndex(tempValC, humidityVal, false);

// Bereken de gevoelstemperatuur in graden Fahrenheit
heatIndexF = dht.computeHeatIndex(tempValF, humidityVal);

lcd.setCursor(8, 0);
lcd.print(tempValC);

lcd.setCursor(8, 1);
lcd.print(humidityVal);

// Print alle waarden naar de seriële monitor
// \t print een tab, \n print een nieuwe regel karakter
Serial.print(humidityVal);
Serial.print(“\t”);
Serial.print(tempValC);
Serial.print(“\n”);

delay(2000);
}

Comments are closed.