Ashampoo_Snap_2020.09.02_09h17m39s_001_

Temperatuur op LCD

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