كيفية عرض قراءات درجة الحرارة والرطوبة من مستشعر DHT11 في شاشة SSD1306 OLED باستخدام ESP8266 - DIY Channel3

DIY Channel3

Arduino│ESP8266│ESP32│Drone│Robot

كيفية عرض قراءات درجة الحرارة والرطوبة من مستشعر DHT11 في شاشة SSD1306 OLED باستخدام ESP8266

مشاركة هذا


 تعرف على كيفية عرض قراءات درجة الحرارة والرطوبة من مستشعر DHT11 / DHT22 في شاشة SSD1306 OLED باستخدام ESP32 أو ESP8266 مع Arduino IDE.


- المكونات الاساسية :

+ ESP8266 NodeMCU
0.96 inch OLED display


 
+ DHT22 or DHT11 temperature and humidity sensor
+ Breadboard

+ Jumper wires

-  مخطط الرسم البياني :


- كود أردوينو :

// ESP8266 DHT Temperature and Humidity Readings in OLED Display
// By: Abdellatif Mimoune
// My YouTube Channel:https://www.youtube.com/c/DIYChannel2019

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>

#define SCREEN_WIDTH 128 
#define SCREEN_HEIGHT 64 

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

#define DHTPIN 14     

#define DHTTYPE    DHT11     
    

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);

  dht.begin();

  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
  }
  delay(2000);
  display.clearDisplay();
  display.setTextColor(WHITE);
}

void loop() {
  delay(5000);

  //read temperature and humidity
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
  }
  
  display.clearDisplay();
  
  
  display.setTextSize(1);
  display.setCursor(0,0);
  display.print("Temperature: ");
  display.setTextSize(2);
  display.setCursor(0,10);
  display.print(t);
  display.print(" ");
  display.setTextSize(1);
  display.cp437(true);
  display.write(167);
  display.setTextSize(2);
  display.print("C");
  
  display.setTextSize(1);
  display.setCursor(0, 35);
  display.print("Humidity: ");
  display.setTextSize(2);
  display.setCursor(0, 45);
  display.print(h);
  display.print(" %"); 
  
  display.display(); 
}

DIY channel


No comments:

Post a Comment