Projet LoRaWan TTGO Oled Captor Temp Mr312

Hello, I realize a LoRaWan project and I would like to display the temperature on the Oled screen of the TTGO Sensor. Here is the Arduino code that I use, it uploads well to the sensor but on arrival it shows me “-0.0625” instead of the temperature. If someone to the solution or a beginning of track?

when I remove the display.init () it shows the correct temperature in the serial monitor, but ducoup more nothing on the screen Oled … what to do?

Thank you in advance.

/*####################################################################
 FILE: TCN75A_example.ino
 VERSION: 1.0
 PURPOSE: Digital Temperature Sensor with TCN75A test sketch

 Description:
 * Communicates with the TCN75A sensor via the I2C bus.
 * Readings are converted to Celsius degrees and displayed on the Serial Monitor.

 Connections:
 * BOARD -> ARDUINO
 * Vcc   -> 5V
 * GND   -> GND
 * SDA   -> A4
 * SCL   -> A5

 HISTORY:
  Mirko Prosseda - Original version (20/11/2012)
#######################################################################*/

/*****************************************************
 * ESP32 DHT Reading and OLED diplay 
 * DHT Input: ==> GPIO22.
 * 128 X 32 SSD1306  - Library by Daniel Eichhorn
 * 
 *****************************************************/
 
/* modified font created at http://oleddisplay.squix.ch/ */
#include "modified_font.h"

/*  SSD1306 */
#include "SSD1306.h" 
#define SDA_PIN 4// GPIO21 -> SDA
#define SCL_PIN 15// GPIO22 -> SCL
#define SSD_ADDRESS 0x3c
SSD1306 display(0x3c, 4, 15);
#include <Wire.h>   // library used with I2C protocol
#include <TCN75A.h>

TCN75A sensor;

/* DHT */
#include "DHT.h"
#define DHTPIN 22  
#define DHTTYPE DHT11 
DHT dht(DHTPIN, DHTTYPE);

float t = sensor.read();

void setup()
{
  int w_reg;
  Serial.begin(115200);
  sensor.begin();
  sensor.set_address(0);
  sensor.set_resolution(3);
  Serial.println("Microbot Digital Temperature Sensor with TCN75A Test Program");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(TCN75ALIB_VERSION);

  pinMode(16,OUTPUT);
  pinMode(2,OUTPUT);
  digitalWrite(16, LOW);    // set GPIO16 low to reset OLED 
  digitalWrite(16, HIGH); // while OLED is running, must set GPIO16 in hi
  
  dht.begin();
  display.init();
}

void loop()
{
  float t = sensor.read();
  
  // displays temperature in the Serial Monitor
  Serial.print("Temperature: ");
  Serial.println(t,4);         // temperature is displayed with 4 decimal places
  delay(500);                  // wait 500ms before repeating the cycle
  
  getDHT();
  displayData();

 
}

void displayData(){
  
  //display.clear();   // clear the display
  display.drawString(0, 0,  "temp: ");
  display.drawString(40, 0,  String(t));
  display.drawString(90, 0,  "°C");
  display.display();   // write the buffer to the display
  
}

void getDHT()
{
  float tempIni = t;
  t = sensor.read();
  if (isnan(t))   // Check if any reads failed and exit early (to try again).
  {
    t = tempIni;
    return;
  }
}