#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE); // สร้างอ็อบเจกต์ DHT
#include <Adafruit_SSD1306.h>
#include <Wire.h>
#include <SPI.h>
#define SCREEN_WIGHT 128
#define SCREEN_HIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 OLED(SCREEN_WIGHT,SCREEN_HIGHT,&Wire,0x3C);
void setup() {
OLED.begin(SSD1306_SWITCHCAPVCC,0X3C);
dht.begin();
OLED.clearDisplay();
OLED.setCursor(0,0);
OLED.setTextSize(2);
OLED.setTextColor(WHITE);
OLED.println("NATTAWUT");
OLED.setCursor(0,20);
OLED.setTextSize(2);
OLED.setTextColor(WHITE);
OLED.println("LEKMINOY");
OLED.display();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("ไม่สามารถอ่านค่าได้!");
return;
}
display.drawBitmap(0, 0, epd_bitmap_result_image__1_, 30, 30, WHITE);
OLED.setCursor(0,35);
OLED.setTextSize(1);
OLED.setTextColor(WHITE);
OLED.println(t);
display.drawBitmap(0, 0, epd_bitmap_result_fire , 30, 30, WHITE);
OLED.setCursor(35,40);
OLED.setTextSize(1);
OLED.setTextColor(WHITE);
OLED.println(h);
OLED.display();
}
// 'result_image (1)', 30x30px
const unsigned char epd_bitmap_result_image__1_ [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x07, 0xc0, 0x00,
0x00, 0x0c, 0x60, 0x00, 0x00, 0x1c, 0x30, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x33, 0x18, 0x00,
0x00, 0x66, 0x0c, 0x00, 0x00, 0xcc, 0x06, 0x00, 0x00, 0x88, 0x02, 0x00, 0x01, 0x98, 0x03, 0x00,
0x01, 0xb0, 0x01, 0x00, 0x01, 0x30, 0x01, 0x00, 0x01, 0x30, 0x01, 0x00, 0x01, 0x30, 0x01, 0x00,
0x01, 0x90, 0x01, 0x00, 0x00, 0x98, 0x03, 0x00, 0x00, 0xc0, 0x02, 0x00, 0x00, 0x60, 0x06, 0x00,
0x00, 0x70, 0x1c, 0x00, 0x00, 0x1e, 0xf0, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'result_fire', 30x30px
const unsigned char epd_bitmap_result_fire [] PROGMEM = {
0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc,
0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xfe, 0x0f, 0xfc,
0xff, 0xec, 0xe5, 0xfc, 0xff, 0xed, 0xe0, 0xfc, 0xff, 0xfd, 0x27, 0xfc, 0xff, 0x8d, 0x27, 0xfc,
0xfd, 0x3d, 0x27, 0xfc, 0xfe, 0x7d, 0x20, 0xfc, 0xfe, 0xfd, 0x27, 0xfc, 0xfe, 0xfd, 0x27, 0xfc,
0xfe, 0x7d, 0x27, 0xfc, 0xfe, 0x7d, 0x20, 0xfc, 0xfd, 0x19, 0x20, 0xfc, 0xff, 0xc9, 0x33, 0xfc,
0xff, 0xf3, 0x13, 0xfc, 0xff, 0xe2, 0x13, 0xfc, 0xff, 0xf3, 0x13, 0xfc, 0xff, 0xf9, 0xf7, 0xfc,
0xff, 0xfc, 0xc7, 0xfc, 0xff, 0xfe, 0x0f, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc,
0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc
};
// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 288)
const int epd_bitmap_allArray_LEN = 2;
const unsigned char* epd_bitmap_allArray[2] = {
epd_bitmap_result_fire,
epd_bitmap_result_image__1_
};