OLED I2C 128x64 - Aiuto

Ecco il nuovo codice:

#include "U8glib.h"
#include "DHT.h"
#include <Wire.h>
#include <SPI.h>

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_DEV_0); // I2C / TWI
DHT dht(2,DHT22); //Definisco il pin al quale è collegato il sensore e il tipo

float h;
float t;

void draw(void) {
  u8g.setFont(u8g_font_unifont);
  u8g.setPrintPos(0, 10);
  u8g.print("H:");
  u8g.setPrintPos(30, 10);
  u8g.print(h);
  u8g.setPrintPos(80, 10);
  u8g.print("%");
  u8g.setPrintPos(0,40);
  u8g.print("T:");
  u8g.setPrintPos(30, 40);
  u8g.print(t);
  u8g.setPrintPos(80, 40);
  u8g.print("*C");
}

void setup(void) {

  // assign default color value
  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
    u8g.setColorIndex(255); // white

  }
  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
    u8g.setColorIndex(3); // max intensity

  }
  else if ( u8g.getMode() == U8G_MODE_BW ) {
    u8g.setColorIndex(1); // pixel on

  }
  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
    u8g.setHiColorByRGB(255, 255, 255);

  }
}

void loop(void) {
  h = dht.readHumidity();
  t = dht.readTemperature(); 
  // picture loop
  u8g.firstPage();
  do {
    draw();
  } while ( u8g.nextPage() );

  // rebuild the picture after some delay
  delay(2000);
}