Habe den Code versucht mit nur einem Sensor und er klappt nicht.
Mein Einzelcode für LCD ( Oled noch integriert, kann einfach auskommentiert werden) ist dieser:
#include <Adafruit_GFX.h> // OLED
#include <Adafruit_SSD1306.h> // OLED
#include <LiquidCrystal.h>
#include <DHT.h>
#define OLED_RESET 4 // OLED
Adafruit_SSD1306 display(OLED_RESET); // OLED
#define DHTPIN A0
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#if (SSD1306_LCDHEIGHT != 64) // OLED
#error("Height incorrect, please fix Adafruit_SSD1306.h!"); // OLED
#endif // OLED
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Start...");
delay(2000);
display.begin(SSD1306_SWITCHCAPVCC); // OLED
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
display.clearDisplay(); // OLED Display leeren
// für OLED Display
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.print("Temp:");
display.println(t); // neu
display.setCursor(0,30);
display.print("Luft:");
display.println(h); // neu
display.display();
// für LCD Display
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t); //neu
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Luft: ");
lcd.print(h); // neu
lcd.print("%");
}
Damit geht es.
Da ich nur einen DHT22 habe kann ich nicht mehr testen als einen.
Das ° funkt leider auch nicht wie angegeben
Martin