Advertisement
Megafish1024

Temperate and Humitidy Display via OLED 0.96" 128x32, DHT11 sensor and Arduino

Mar 5th, 2025
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <Adafruit_GFX.h>
  3. #include <Adafruit_SSD1306.h>
  4. #include <Adafruit_Sensor.h>
  5. #include <DHT.h>
  6.  
  7. #define SCREEN_WIDTH 128 // OLED display width, in pixels
  8. #define SCREEN_HEIGHT 32 // OLED display height, in pixels
  9.  
  10. #define OLED_RESET -1
  11. Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
  12.  
  13. #define DHTPIN 8 // digital pin connected to sensor
  14. #define DHTTYPE    DHT11     // DHT 11
  15. //#define DHTTYPE    DHT22     // DHT 22 (AM2302)
  16.  
  17.  
  18. DHT dht(DHTPIN, DHTTYPE);
  19.  
  20.  
  21. void setup() {
  22.   Serial.begin(115200);
  23.   dht.begin();
  24.   display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  25.   delay(2000);
  26.   display.clearDisplay();
  27.   display.setTextColor(WHITE);
  28. }
  29.  
  30. void loop() {
  31.   float t = dht.readTemperature();
  32.   float h = dht.readHumidity();
  33.   if (isnan(h) || isnan(t)) {
  34.     Serial.println("Failed to read from DHT sensor!");
  35.   }
  36.  
  37.   //clear display
  38.   display.clearDisplay();
  39.  
  40.   // display temperature
  41.   display.setTextSize(1);
  42.   display.setCursor(0,0);
  43.   display.print("Temperature: ");
  44.   display.setTextSize(2);
  45.   display.setCursor(10,9);
  46.   display.print(t);
  47.   display.print(" ");
  48.   display.setCursor(80,10);
  49.   display.setTextSize(1);
  50.   display.cp437(true);
  51.   display.write(167);
  52.   display.setTextSize(2);
  53.   display.print("C");
  54.  
  55.   // display humidity
  56.   display.setTextSize(1);
  57.   display.setCursor(30, 25);
  58.   display.print("Humidity: ");
  59.   display.setTextSize(1);
  60.   display.setCursor(85, 25);
  61.   display.print(h);
  62.   display.setCursor(115, 25);
  63.   display.print(" %");
  64.  
  65.   display.display();
  66. }
Tags: Arduino DHT11 i2c
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement