2016/07/13
Sketch Displaying Temperature and Humidity on Serial Monitor Using ESP8266 NodeMCU Dev Kit 1.0 and DHT11
Output
Sketch
// Modified by Befun Hung on Jul. 13, 2016 with Arduino IDE supporting ESP8266
// Runs on NodeMCU Dev Kit 1.0 without fails with DHT11 breakout
// Original source code from 14core.com commented out OLED part and correct typos
// "Wiring DHT11, DHT22, with OLED Screen on ESP8266 12E"
// Wiring diagram show data pin of DHT connect D6 (GPIO 12)
// While the sketch define DHTPIN 14 (D5)
// #include <Wire.h>
// #include <Adafruit_GFX.h>
// #include <ESP_Adafruit_SSD1306.h>
#include "ESP8266WiFi.h"
#include "DHT.h"
// #define OLED_RESET 4
// Adafruit_SSD1306 display(OLED_RESET);
// #define DHTPIN 12 // Connected to Pin D6 in NodeMCU
#define DHTPIN 14 // Connected to Pin D5 in NodeMCU
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
DHT dht(DHTPIN, DHTTYPE);
/*
byte img [] = {
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x0, 0x0,
0x0, 0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x1, 0xfc,
0x3f, 0x80, 0x0, 0x0, 0x3, 0xe0, 0x7, 0xc0, 0x0, 0x0, 0x7, 0x80, 0x1, 0xe0, 0x0,
0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x7f, 0xc0, 0x7, 0xe2, 0x0,
0x0, 0x4f, 0xe0, 0x7, 0x80, 0x0, 0x0, 0x1, 0xe0, 0xf, 0x0, 0x0, 0x0, 0x0, 0xf0,
0x1e, 0x0, 0x0, 0x0, 0x0, 0x70, 0xe, 0x0, 0x0, 0x0, 0x0, 0x78, 0xc, 0x0, 0x0,
0x0, 0x0, 0x30, 0xc, 0x0, 0x0, 0x0, 0x0, 0x30, 0xc, 0x0, 0x0, 0x0, 0x0, 0x30,
0xe, 0x0, 0x0, 0x0, 0x0, 0x70, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x70, 0xf, 0x0, 0x0,
0x0, 0x0, 0xf0, 0x7, 0x80, 0x0, 0x0, 0x1, 0xe0, 0x7, 0xe3, 0x80, 0x1, 0xc7, 0xe0,
0x3, 0xff, 0xc0, 0x3, 0xff, 0xc0, 0x0, 0xff, 0xf0, 0xf, 0xff, 0x0, 0x0, 0x20, 0xfc,
0x3f, 0x4, 0x0, 0x0, 0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x0, 0x0,
0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0x0, 0x0, 0x20, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x20, 0x0, 0x0, 0xe, 0x0,
0x0, 0x70, 0x0, 0x0, 0x0, 0x1, 0x80, 0x70, 0x0, 0x0, 0x0, 0x1, 0x80, 0xf8, 0x0,
0x0, 0x0, 0x3, 0xc0, 0xf8, 0x0, 0x0, 0x0, 0x3, 0xc0, 0xf8, 0x0, 0x0, 0x0, 0x3,
0xc0, 0x70, 0x0, 0x0, 0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xc0, 0x0, 0x0,
0x0, 0x0, 0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
};
*/
void setup() {
Serial.begin(115200);
Serial.println("DHTxx test!");
// dht begin
dht.begin();
// set display
// display.begin(SSD1306_SWITCHCAPVCC, 0x78>>1);
// display.display();
// delay(2000);
// display.clearDisplay();
}
/*
void showTemp(float temp,float hud) {
display.drawBitmap(0, 5, img, 48, 50, 1);
display.setTextSize(1);
display.setCursor(3,0);
display.println("Temperature/Humidity");
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(52,10);
display.print(temp);
display.println("C");
display.setCursor(52,30);
display.print(hud);
display.println("%");
display.setTextSize(1);
display.setCursor(52,50);
display.println("14CORE.COM");
display.display();
display.clearDisplay();
}
*/
void loop() {
delay(2000); // Wait a few seconds between measurements.
float h = dht.readHumidity();
// Serial.print("h= ");
// Serial.println(h);
float t = dht.readTemperature(); // Read temperature as Celsius
// Serial.print("t= ");
// Serial.println(t);
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
Serial.println();
return;
}
Serial.print("Humidity: "); // show in serial monitor
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: "); // show in serial monitor
Serial.print(t);
Serial.print(" *C \n");
// showTemp(t,h); // show temp
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment