Afficher les données d'1 capteur sur 1 écran OLED

Bonjour,

Pour mon 1er projet, je voudrais créer une station météo…
J’utilise le BME280 et un ecran Oled .
J’utilise le code exemple du capteur. Maintenant, il faut envoyer les données sur l’ecran.
c’est là, que j’ai besoin de vous.

Pouvez vous me donner une direction ?

Guillaume

//sation météo solaire bme280 arduino nano

#include "U8glib.h"
#include <Wire.h>
#include <sSense-BMx280I2C.h>
#define SERIAL_SPEED 19200
unsigned long delayTime;
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);  // Display which does not send AC

BMx280I2C::Settings settings(
   BME280::OSR_X1,
   BME280::OSR_X1,
   BME280::OSR_X1,
   BME280::Mode_Forced,
   BME280::StandbyTime_1000ms,
   BME280::Filter_Off,
   BME280::SpiEnable_False,
   0x76 // I2C address. I2C specific.
);

BMx280I2C ssenseBMx280(settings);

// Declaration des variables pour les mesures
  float temp;   //Variable stockage température
  float pres;   //Variable stockage pression 
  float hum;    //Variable stockage humidite  

  void draw(void) {
  // graphic commands to redraw the complete screen should be placed here  
  u8g.setFont(u8g_font_unifont);
  //u8g.setFont(u8g_font_osb21);
  u8g.drawStr( 0, 22, "Hello World!");
}

void setup() 
{
  delay(5000);
  DebugPort.begin(SERIAL_SPEED);
  while(!DebugPort){} // attend
  DebugPort.println("s-Sense BME280 sensor!");

  Wire.begin();
  while (!ssenseBMx280.begin())
  {
    DebugPort.println("ne trouve pas BME sensor !");
    delay(1000);
  }
  switch(ssenseBMx280.chipModel())
  {
    case BME280::ChipModel_BME280:
       DebugPort.println("Found BME280 sensor! Humidity available.");
       break;
     case BME280::ChipModel_BMP280:
       DebugPort.println("Found BMP280 sensor! No Humidity available.");
       break;
     default:
       DebugPort.println("Found UNKNOWN sensor! Error!");
  }

   // Change some settings before using.
   settings.tempOSR = BME280::OSR_X4;

   ssenseBMx280.setSettings(settings);
    
  }


void loop() {
 printBMx280Data(&DebugPort);
   delay(500);
    

}

void printBMx280Data
(
   Stream* client
)
{
   float temp(NAN), hum(NAN), pres(NAN);

   BME280::TempUnit tempUnit(BME280::TempUnit_Celsius);
   BME280::PresUnit presUnit(BME280::PresUnit_Pa);

   ssenseBMx280.read(pres, temp, hum, tempUnit, presUnit);
    client->print("Temp: ");
   client->print(temp);
   //client->print("°"+ String(tempUnit == BME280::TempUnit_Celsius ? 'C' :'F'));
   client->print(" "+ String(tempUnit == BME280::TempUnit_Celsius ? 'C' :'F'));
   client->print("\t\tHumidity: ");
   client->print(hum);
   client->print("% RH");
   client->print("\t\tPressure: ");
   client->print(pres);
   client->println(" Pa");

   delay(1000);
}

quel est votre capteur bme280 ? celui de de https://itbrainpower.net/ ?
un exemple de bme280 sur oled avec biblios adafruit
adafruitssd1306 bme280 etc

exemple avec bmp280 et oled/u8g

bmp280 oled u8g

pour afficher avec u8g, les instructions doivent référer aux print de la biblio u8g genre:

pressure=bmp.readPressure()/100;

delay(1);
u8g.setPrintPos(32,10);
u8g.print(“Pressure”);
u8g.setPrintPos(65,45);
u8g.print(pressure);
u8g.setPrintPos(70,60);
u8g.print(“hPa”);