Leituras com o sensor DHT22 e display OLED e Wemos ESP8266

Eletrônica

Neste exemplo em particular, vamos simplesmente exibir a temperatura. leituras de pressão e altitude de um sensor DHt22 em um display OLED. Estes são todos os escudos usados ​​para tornar este um projeto simples de construir.


Sobre o sensor DHT22

O RHT03 (também conhecido como DHT22) é um sensor de temperatura e umidade com comunicação digital de fio único. O sensor é calibrado para operar sem componentes adicionais, para que você possa obter facilmente informações de temperatura e umidade.


Especificações:

Tensão de entrada: 3,3V até 6V

Corrente em medição: 1 a 1,5mA

Corrente em standby: 40 a 50uA

Range de umidade de 0 a 100% RH

Range de temperatura de -40 a 80ºC

Precisão de umidade: +-2%

Precisão de temperatura: +-0.5ºC



Sobre o display OLED i2c


Esse display OLED i2c azul-amarelo de 0,96 polegadas é uma opção muito interessante para quem busca ver uma pequena quantidade de informações e ainda assim ser bem claro. Isso é possível devido à alta taxa de contraste dos displays OLED (Organic Light Emitting Diode).


O chip controlador SSD1306 controla cada pixel 128×64 individualmente via I2C. As telas OLED têm luz própria, portanto, não há necessidade de luz de fundo, aumentando o contraste e economizando muita energia. Para facilitar sua vida, uma tira de 4 pinos foi soldada na qual você pode conectar diretamente à placa de montagem.


Especificações:
– Tensão de operação: 2,2-5,5V
– Controlador: SSD1306
– Cor: Azul e Amarelo
– Comunicação: I2C
– Resolução: 128×64
– Dimensões: 30 x 27mm
– Peso: 10g

Pinagem:
– GND: GND
– VCC: 2,2-5,5V
– SCL: Clock (Nivel Alto 2,2-5,5V)
– SDA: Dados (Nivel Alto 2,2-5,5V)

Requisitos

1 x Wemos Mini

1 x Wemos Dual Base

1 x OLED Shield

1 x DHT Pro Shield




Você pode ver o que montei na foto acima, eu poderia ter empilhado em uma coluna mas queria ver o OLED e também deixar o DHt22 descoberto.


O Código

Várias bibliotecas necessárias - você pode instalá-las através do gerenciador de bibliotecas, ou pode acessar os links abaixo para baixar diretamente do GIT:




#include "DHT.h"
#include <Wire.h>  // Include Wire if youre using I2C
#include <SFE_MicroOLED.h>  // Include the SFE_MicroOLED library

#define DHTPIN D4     // what pin were connected to
#define DHTTYPE DHT22   // DHT 22  (AM2302)
#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 displays 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(" %	");
  oled.setCursor(1, 21);
  oled.print("Temp :");
  oled.setCursor(1, 30);
  oled.print(t);
  oled.print(" *C ");
  oled.display();
}

Veja a Saída

Aqui você pode ver a saída no display oled.




Documentação:

Fonte
http://www.esp8266learning.com/wemos-dht22-readings-oled-display-simple-project.php
Mais Dicas