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