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);
}