Esptop 10 DHTTOP 10 Leituras de temperatura e umidade em tela OLED usando Arduino IDE

Esptop 10 DHTTOP 10 Leituras de temperatura e umidade em tela OLED usando Arduino IDE

O ESP32 é uma placa de microcontrolador avançada que pode executar várias instruções para gerar saídas. Uma tela OLED é usada para exibir diferentes tipos de dados. Usando ESP32 com sensor DHT11, podemos fazer leituras de temperatura e umidade. Todos esses dados podem ser representados em uma tela OLED. Este tutorial abrange todas as etapas necessárias para interface esses sensores com o ESP32.

Este tutorial abrange o seguinte conteúdo:

1: Introdução ao sensor DHT11

2: pinagem do sensor DHT11

2.1: 3 PIN DHT11 Sensor

2.Sensor 2: 4 pinos DHT11

3: Módulo de exibição OLED com ESP32

4: Instalando as bibliotecas necessárias

4.1: Biblioteca Arduino para Sensor DHT

4.2: Biblioteca Arduino para tela OLED

5: Interface Esp32 com o sensor DHT11

5.1: esquemático

5.2: código

5.3: saída

1: Introdução ao sensor DHT11

O DHT11 é um dos sensores de monitoramento de temperatura e umidade comumente usados ​​na comunidade eletrônica. É mais preciso para dar temperatura e umidade relativa. Ele gera um sinal digital calibrado que cospe em duas leituras diferentes de temperatura e umidade.

Ele usa a técnica de aquisição de signo digital que oferece confiabilidade e estabilidade. O sensor DHT11 contém um componente de medição de umidade do tipo resistivo e apresenta um componente de medição de temperatura do NTC. Ambos são integrados a um microcontrolador altamente eficiente de 8 bits, que oferece resposta rápida, capacidade anti-interferência e custo-efetividade.

Aqui estão algumas especificações técnicas principais do DHT11:

    • O sensor DHT11 opera a uma tensão de 5V a 5.5V.
    • A corrente operacional enquanto a medição é 0.3MA e durante o tempo de espera é 60ua.
    • Ele produziu dados seriais em sinal digital.
    • Temperatura do sensor DHT11 varia de 0 ° C a 50 ° C.
    • Faixa de umidade: 20% a 90%.
    • Precisão de ± 1 ° C para medição de temperatura e ± 1% para leituras de umidade relativa.

Como cobrimos uma introdução básica ao sensor DHT11 agora vamos para a pinagem do DHT11.

2: pinagem do sensor DHT11

Na maioria das vezes, o sensor DHT11 vem em duas configurações diferentes de pinos. O sensor DHT11, que vem em 4 pinos, tem 3 pinos que não estão funcionando ou rotulados como nenhuma conexão.

O módulo sensor DHT11 de 3 pinos vem em três pinos que incluem potência, gnd e pino de dados.

1: 3 PIN DHT11 Sensor

A imagem dada mostra 3 configurações de pinos do sensor DHT11.


Esses três pinos são:

1. Dados Temperatura de saída e umidade nos dados seriados
2. VCC Poder de entrada 3.5V a 5.5V
3. Gnd Gnd de circuito

Sensor 2: 4 pinos DHT11

A imagem a seguir ilustra 4 pinos DHT11 Módulo do sensor:


Esses 4 pinos incluem:

1. VCC Poder de entrada 3.5V a 5.5V
2. Dados Temperatura de saída e umidade nos dados seriados
3. NC Sem conexão ou não é usado
4. Gnd Gnd de circuito

3: Módulo de exibição OLED com ESP32

A tela OLED vem principalmente com dois protocolos de comunicação diferentes. Os dois protocolos são i2c e spi. A interface periférica em série (SPI) é geralmente mais rápida que o I2C, mas preferimos o protocolo I2C sobre o SPI, pois exigia um número menor de pinos.

A imagem a seguir ilustra o diagrama de conexão ESP32 com 128 × 64 pixels (0.96 ") OLED Display.


Abaixo está a tabela de conexão:


Depois que o ESP32 é interfocado com uma tela OLED, a próxima etapa da lista é instalar todas as bibliotecas necessárias para programação ESP32 usando Arduino IDE.

4: Instalando as bibliotecas necessárias

Aqui vamos interface dois sensores diferentes com o ESP32, para que ambos requerem bibliotecas separadas para operar. Agora vamos instalar bibliotecas para DHT11 e OLED Display.

1: Biblioteca Arduino para Sensor DHT

Abra o Arduino IDE, vá para: Sketch> Incluir biblioteca> Gerenciar bibliotecas

Como alternativa, também podemos abrir o gerente da biblioteca do botão lateral na interface Arduino IDE.

Pesquise a biblioteca DHT e instale a versão mais recente atualizada. A biblioteca DHT ajudará a ler dados do sensor.


Depois de instalar a biblioteca DHT em seguida, temos que instalar um Biblioteca de sensores unificados por Adafruit.

2: Biblioteca Arduino para tela OLED

Várias bibliotecas estão disponíveis no Arduino IDE para programar ESP32 com uma tela OLED. Aqui estaremos usando duas bibliotecas da Adafruit: SSD1306 e GFX Library.

Abra o IDE e clique em Gerenciador de bibliotecas e pesquise a biblioteca OLED SSD1306. Instale a biblioteca SSD1306 por Adafruit na barra de pesquisa.

Como alternativa, também se pode ir para: Sketch> Incluir biblioteca> Gerenciar bibliotecas


A próxima biblioteca que precisamos instalar é o GFX Biblioteca por Adafruit.


Instalamos bibliotecas para a tela OLED e o sensor DHT11. Agora podemos facilmente interface com o ESP32.

5: Interface Esp32 com o sensor DHT11 e OLED

Para interface Esp32 com o sensor DHT11, precisamos de um pino digital para leitura de dados do sensor e para alimentação do sensor DHT11, podemos usar o pino 3v3 ou o pino VIN do ESP32.

Para exibição OLED I2C PINS SDA e SCL serão usados. Para poder, podemos usar o VIN ou um pino de 3v3 do ESP32.

1: esquemático

Na imagem dada, podemos ver o diagrama esquemático do ESP32 com o DHT11 e, para a saída, uma tela OLED é usada. Esta imagem representa o módulo de sensor de 3 pinos que interface com o ESP32. Lembre -se de conectar um resistor pull up de 10kΩ.


Da mesma forma, 4 pinos DHT11 também podem ser conectados, a única diferença aqui é o 3 pino que não usa utilidade ou denominado como nenhuma conexão. O pino de dados está no pino 2 do sensor.

A tela OLED está conectada usando os pinos I2C SDA e SCL em D21 e D22, respectivamente.

2: código

Conecte o ESP32 com PC e abra Arduino IDE. Carregue o código fornecido para a placa ESP32.

#include /*Incluir biblioteca de comunicação de arame* /
#incluir
#include /*Biblioteca de exibição OLED* /
#incluir
#include /*Biblioteca de sensores de temperatura e umidade* /
#Define screen_width 128 /*Largura da tela OLED 128 pixels* /
#Define screen_height 64 /*altura da tela OLED 64 pixels* /
Adafruit_ssd1306 Display (Screen_width, Screen_Height, & Wire, -1); /*Ssd1306 I2C Display Inicialização*/
#Define dhtpin 4 /*pino de sinal para sensor dht11* /
#Define DHTTYPE DHT11
Dht dht (dhtpin, dhttype);
Void Setup ()
Serial.começar (115200);
dht.começar();
se(!mostrar.BEGIN (SSD1306_SWITCHCAPVCC, 0x3C)) /*i2c Endereço no qual OLED está conectado* /
Serial.println (f ("alocação SSD1306 falhou"));
para(;;);

Atraso (2000);
mostrar.clearDisplay ();
mostrar.setTextColor (branco); / *Saída de texto cor branca */

Void Loop ()
atraso (5000);
flutuar t = dht.readTemperature (); /*Leia a temperatura*/
flutuar h = dht.readhumidity (); /*Leia a umidade*/
if (isnan (h) || isnan (t))
Serial.println ("Falha ao ler do sensor DHT!");

mostrar.clearDisplay (); /*Clear OLED Display antes de exibir a leitura*/
mostrar.setTextsize (1); /*Tamanho da fonte de texto OLED*/
mostrar.setCursor (0,0);
mostrar.print ("Temperatura:");
mostrar.setTextsize (2);
mostrar.setCursor (0,10);
mostrar.impressão (t); /*Imprimir temperatura em Celsius*/
mostrar.imprimir(" ");
mostrar.setTextsize (1);
mostrar.CP437 (verdadeiro);
mostrar.Escreva (167);
mostrar.setTextsize (2);
mostrar.print ("c");
mostrar.setTextsize (1);
mostrar.setCursor (0, 35);
mostrar.impressão ("umidade:");
mostrar.setTextsize (2);
mostrar.setCursor (0, 45);
mostrar.impressão (h); /*Imprime a porcentagem de umidade*/
mostrar.imprimir(" %");
mostrar.mostrar();


O código iniciado incluindo as bibliotecas necessárias para sensores OLED e DHT11. Depois disso, as dimensões da tela OLED são definidas. Em seguida, o tipo de sensor DHT é definido se você estiver usando o DHT22, substitua -o de acordo.

Na parte de configuração, o sensor DHT e o OLED são inicializados. A tela OLED está conectada em um endereço I2C de 0x3c. Caso alguém queira verificar o endereço I2C, faça o upload do código fornecido neste artigo.

Os valores de temperatura e umidade são armazenados dentro da variável flutuante t e h respectivamente. Depois disso, esses dois valores são impressos em uma tela OLED.

3: saída

Na saída, podemos ver a temperatura e a umidade medidas em tempo real exibidas na tela OLED.



Concluímos com sucesso a interface do ESP32 com o sensor DHT11 e a tela OLED.

Conclusão

Displays OLED com ESP32 podem mostrar vários dados que são lidos usando os sensores externos. Aqui, este artigo cobre todas as etapas para interface Esp32 com o sensor DHT11 para medir a temperatura e a umidade de uma sala. Depois disso, todos os dados de leitura são exibidos no módulo de exibição I2C OLED.