Problem beim Auslesen von DS18B20 und Anzeige auf OLED

Hallo zusammen,

ich versuche gerade ein kleines Programm zum laufen zu bekommen, finde aber den Fehler nicht.

Es geht darum auf einem ESP32 mit OLED (WemosLolin32) einen DS18B20 auszulesen und anzuzeigen.

Das Auslesen funktioniert, aber sobald ich alles was mit “display” zu tun hat dazu schreibe gibt er mir auf der Seriellen Schnitstelle als auch auf dem Display nur noch “-127.00” aus. (Siehe Anhang)

Kommentiere ich alles zum “display” aus, liest er wieder den korrekten Wert.

Hier der Code:

#include <SSD1306.h>
#include <OneWire.h>
#include <DallasTemperature.h>

DeviceAddress adressen;
// DS18B20 Pin & OneWire
const int ONE_WIRE_BUS = 4;     
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

//Adressen
DeviceAddress sensor1 = { 0x28, 0xFF, 0xF7, 0x83, 0x15, 0x14, 0x0, 0x46 };

// OLED
SSD1306  display(0x3c, 5, 4);

void setup(void) {
 
  Serial.begin(115200);

  display.init();
  display.flipScreenVertically();
  display.setColor(WHITE);
  display.setTextAlignment(TEXT_ALIGN_CENTER);
  display.setFont(ArialMT_Plain_24);
  
  // DS1820 initialisieren mit Auflösung 12 Bit
  sensors.begin();
  delay(1000);
  sensors.setResolution(12);
  delay(1000);
}

void loop(void) {
  
  sensors.requestTemperatures(); 
  float temp = sensors.getTempC(sensor1);
  Serial.print(temp);
  Serial.println("ºC");
  
  display.clear();
  display.drawString(64, 20, String(temp));
  display.display();

  delay(1000);
}

Hat jemand eine Idee, woran das liegen kann?

So wie es aussieht, verwendest du für OneWire und I2C jeweils den Pin 4, das muss Probleme machen.

const int ONE_WIRE_BUS = 4;

SSD1306 display(0x3c, 5, 4);

-->Das beißt sich. Du nutzt Pin 4 als OneWire-Bus UND als OLED-Reset-Pin. Es war wohl der gleiche Fehler, der mich letztens meine GPS-Module gekostet hat

Wie peinlich! :-D Da sieht man den Wald vor lauter Bäumen nicht! Ich danke euch!

ps915: Wie peinlich! :-D Da sieht man den Wald vor lauter Bäumen nicht! Ich danke euch!

Ok....gerne.

Dabei ist der Wald doch nicht mehr so dicht. ;) liest man.