1#include <SPI.h>
2#include <Adafruit_GFX.h>
3#include <Adafruit_SSD1306.h>
4#include <dht11.h>
5
6
7#define SCREEN_WIDTH 128
8#define SCREEN_HEIGHT 64
9
10
11#define OLED_CLK 13
12#define OLED_MOSI 11
13#define OLED_CS 10
14#define OLED_DC 9
15#define OLED_RESET 8
16
17#define DHT11PIN 4
18
19
20Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &SPI, OLED_DC, OLED_RESET, OLED_CS);
21
22dht11 DHT11;
23
24void setup() {
25 Serial.begin(9600);
26 Serial.println("Initializing OLED...");
27
28
29 if (!display.begin(SSD1306_SWITCHCAPVCC)) {
30 Serial.println(F("SSD1306 initialization failed!"));
31 for (;;);
32 }
33
34 Serial.println("OLED initialized successfully!");
35
36
37 display.clearDisplay()
38}
39
40void loop() {
41
42 int chk = DHT11.read(DHT11PIN);
43
44
45
46 display.clearDisplay();
47
48
49 display.setTextSize(2);
50 display.setTextColor(SSD1306_WHITE);
51 display.setCursor(0, 0);
52 display.println("Temp:");
53 display.println((float)DHT11.temperature, 2);
54 display.println("Humidity:");
55 display.println((float)DHT11.humidity, 2);
56 display.setCursor(60,16);
57 display.print("C");
58 display.setCursor(60,48);
59 display.print("%");
60 display.display();
61 delay(200);
62}