In this particular example we are going to display temperature readings from a DHT11 on an OLED display, we will be using a Wemos mini and a variety of shields which make it easy to create projects like this with no wiring.
Lets take a look a the shields and boards that are required
Parts List
1 x Wemos Mini
1 x Wemos Dual Base
1 x OLED Shield
1 x DHT shield (DHt11)
I connect the Wemos Mini to the dual base and then put the OLED shield along side this, I then place the DHT shield on top of the Wemos Mini.
Code
Various libraries required – you can install these via the library manager, here are links to them
https://github.com/sparkfun/SparkFun_Micro_OLED_Arduino_Library
https://github.com/adafruit/DHT-sensor-library
https://github.com/adafruit/Adafruit_Sensor
[codesyntax lang=”cpp”]
#include “DHT.h” //https://github.com/adafruit/DHT-sensor-library and
//https://github.com/adafruit/Adafruit_Sensor
#include <Wire.h> // Include Wire if you’re using I2C
#include <SFE_MicroOLED.h> // Include the SFE_MicroOLED library
#define DHTPIN D4 // what pin we’re connected to
#define DHTTYPE DHT11 // DHT 11
#define PIN_RESET 255 //
#define DC_JUMPER 0 // I2C Addres: 0 – 0x3C, 1 – 0x3D
MicroOLED oled(PIN_RESET, DC_JUMPER); // Example I2C declaration
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600);
dht.begin();
oled.begin();
oled.clear(ALL); // Clear the display’s memory (gets rid of artifacts)
oled.display();
}
void loop()
{
// Wait a few seconds between measurements.
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t))
{
Serial.println(“Failed to read from DHT sensor!”);
return;
}
oled.clear(PAGE);
oled.setFontType(0); // set font type 0, please see declaration in SFE_MicroOLED.cpp
oled.setCursor(1, 3);
oled.print(“Humidity: “);
oled.setCursor(1, 12);
oled.print(h);
oled.print(” %\t”);
oled.setCursor(1, 21);
oled.print(“Temp :”);
oled.setCursor(1, 30);
oled.print(t);
oled.print(” *C “);
oled.display();
}
[/codesyntax]
Again if you don’t want to type all of this in then you can download wemos_oled_dht11
Output
Here you can see the output and my setup in another blurry image
Links
Smart Electronics D1 mini – Mini NodeMcu 4M bytes development board based ESP8266 by WeMos
0.66″ inch For Wemos Oled 64X48 IIC I2C LCD OLED LED Display Shield
Dual Base Expansion board for WeMos D1 mini NodeMCU ESP8266
DHT Shield for WeMos D1 mini DHT11 Single-bus digital temperature and humidity sensor module sensor