Hi
Nun denn - da wird der Kompiler wohl irgend einen Fehler anmeckern.
... Welchen überhaupt ??
DAS kannst Du herausfinden, wenn Du Dir die vollständigen Meldungen ausgeben lässt - sind in den Voreinstellungen zwei Haken, Die ganz gerne gesetzt werden wollen (wo nur der Herrgott selber weiß, warum Diese standardmäßig abgestellt sind).
MfG
*Edit*
Kompiliert (sogar ohne eine einzige Warnung) - wenn man die verwendete Library in der IDE eingebunden hat.
// Test Programm von TR mit LCD Display - abspecken!
// Jb - 12.04.2019 - läuft!!
#include <SimpleDHT.h> //Fügt DHT22 Libary ein
#include <LiquidCrystal.h> // läd das LCD-Programm (library code)
LiquidCrystal lcd(12, 11, 10, 9, 8, 7); // definiert die LCD pins / Anschlüsse am Arduino (rs, enable, d4, d5, d6, d7)
SimpleDHT22 dht22; // Typ DHT22 zuordnen
float h = 0; // Variable für Luftfeuchtigkeit definieren als "float" (Fliesskomma Wert mit Nachkommastelle.von -3.4028235E+38 bis 3.4028235E+38)
float t = 0; // Variable für Temperatur definieren als "float"
void setup()
{
pinMode(6, INPUT); // pin 6 als Eingang (DHT definieren)
lcd.begin(16, 2); // Display mit 16 Zeichen - in 2 Zeilen
lcd.clear(); // Display löschen
}
void loop() {
int err = dht22.read2(6, &t, &h, NULL);
if (analogRead(A0) > 500) // if(err != SimpleDHTErrSuccess) Fehler mit Taster an A0 simulieren!
{
lcd.setCursor(0, 0); lcd.println("Read DHT22 fail "); // Serial.println("Read DHT22 failed, err= "+err);
lcd.setCursor(0, 1); lcd.print("err= "); lcd.print(+err); lcd.print(" ");
}
else
{
lcd.clear();
lcd.setCursor(0, 0); lcd.print("Temp."); lcd.setCursor(8, 0); lcd.print(t); lcd.setCursor(12, 0); lcd.print(" "); lcd.write (223); lcd.print("C");
lcd.setCursor(0, 1); lcd.print("Feuchte"); lcd.setCursor(8, 1); lcd.print(h); lcd.setCursor(12, 1); lcd.print(" %rF");
delay(2000); // 2 Sekunden Pause
}
}