Neste projeto, usaremos o sensor Arduino Nano e DHT11 para criar um sistema de monitoramento de temperatura e umidade. O Arduino Nano lerá os valores de temperatura e umidade do DHT11 e exibirá no OLED.
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 Arduino Nano
4: Instalando as bibliotecas necessárias
4.1: Biblioteca Arduino para Sensor DHT
4.2: Biblioteca Arduino para tela OLED
5: Verifique o endereço I2C da tela OLED no Arduino Nano
6: Interface Arduino Nano com sensor DHT11 e OLED
6.1: esquemático
6.2: código
6.3: saída
1: Introdução ao sensor DHT11
O sensor DHT11 é um dispositivo compacto e de baixo custo para medir a temperatura e a umidade. Arduino Nano com DHT11 é usado para projetar estações meteorológicas portáteis, sistemas HVAC e sistemas de automação residencial.
O sensor DHT11 consiste em um elemento de detecção de umidade e um elemento de detecção de temperatura, que são combinados em um único circuito integrado. O sensor é capaz de medir a umidade relativa e a temperatura e pode transmitir esses dados por meio de um sinal digital para um microcontrolador ou outro dispositivo.
O sensor DHT11 pode ser integrado e controlado usando o código Arduino. Ele pode ser conectado a um microcontrolador ou computador de placa única usando fios de jumper e uma placa de ensaio, e pode ser facilmente integrado a uma variedade de projetos.
Alguma grande especificação do DHT11:
Agora cobrimos o básico do sensor DHT11. Agora vamos discutir a pinagem do DHT11.
2: pinagem do sensor DHT11
O DHT11 tem duas variantes, uma com 4 pinos e outro com 3 pinos. A única diferença aqui é que o sensor de 4 pinos DHT11 tem um pino extra sem conexão. Este pino é rotulado como NC e não usado para nenhum propósito.
Os 3 pinos do DHT11 são:
2.1: 3 PIN DHT11 Sensor
A seguir, a pinagem é de 3 pinos DHT11:
1 | Dados | Leituras de temperatura de saída e valores de umidade |
2 | VCC | Tensão de entrada entre 3.5V a 5.5V |
3 | Gnd | Gnd |
2.Sensor 2: 4 pinos DHT11
Abaixo está a pinagem de 4 pinos do sensor DHT11:
Esses 4 pinos do sensor DHT11 incluem:
1 | VCC | Entrada 3.5V a 5.5V |
2 | Dados | Leituras de temperatura de saída e umidade |
3 | NC | Sem pino de conexão |
4 | Gnd | Gnd |
3: Módulo de exibição OLED com Arduino Nano
A tela OLED vem principalmente com dois protocolos de comunicação diferentes. Esses dois são i2c e spi. O protocolo SPI é mais rápido em comparação com I2C, mas o I2C é preferido e tem a vantagem sobre o SPI devido a menos pinos necessários.
A imagem a seguir ilustra um diagrama de conexão de nano Arduino com 128 × 64 pixels (0.96 ") OLED Display.
Abaixo da tabela Mostrar configuração de pinout de OLED com Nano:
Como interfigurmos o Arduino Nano com uma tela OLED. Para exibir dados em uma tela OLED, devemos instalar algumas bibliotecas necessárias primeiro.
4: Instalando as bibliotecas necessárias
Estamos interfacendo dois sensores; um é um monitor OLED e o outro é um sensor DHT11. Ambos os sensores exigiam bibliotecas separadas para funcionar. Agora vamos instalar bibliotecas separadas para telas DHT11 e OLED.
4.1: Biblioteca Arduino para Sensor DHT
Abra o IDE, vá para: Sketch> Incluir biblioteca> Gerenciar bibliotecas:
Pode -se também usar o Arduino Library Manager para instalar bibliotecas. Pesquise a biblioteca do sensor DHT11 e instale a versão atualizada. Esta biblioteca lerá dados do sensor DHT11.
Agora vamos instalar o Biblioteca de sensores unificados.
As bibliotecas de sensores DHT11 estão instaladas. Em seguida, as bibliotecas OLED precisam ser instaladas.
4.2: Biblioteca Arduino para tela OLED
Existem várias bibliotecas disponíveis para exibição OLED no IDE. Usaremos a biblioteca Adafruit GFX e SSD1306 para tela OLED.
Abra o IDE e pesquise na biblioteca SSD1306 no gerente da biblioteca:
Depois de instalar a biblioteca SSD1306, instale o GFX Biblioteca por Adafruit:
Instalamos bibliotecas para ambos os sensores e agora podemos fazer o upload de código no Arduino Nano. Mas antes disso é necessário verificar o endereço I2C OLED.
5: Verifique o endereço I2C da tela OLED no Arduino Nano
I2C permite que vários dispositivos sejam conectados e se comuniquem entre si em uma interface de dois fios. Cada dispositivo I2C deve ter um endereço exclusivo, variando de 0 a 127, para garantir que ele possa ser identificado e comunicado na linha I2C. Vários dispositivos com o mesmo endereço não podem ser conectados no mesmo barramento i2c.
Conecte a tela OLED com Arduino Nano e, depois de selecionar a placa e o porto no Arduino IDE, envie o código fornecido nos dispositivos I2C do artigo em Arduino. Após o upload do código, obteremos o endereço i2C da tela OLED que, em nosso caso, é 0x3c:
Definiremos esse endereço I2C dentro do código Arduino.
6: Interface Arduino Nano com sensor DHT11 e OLED
Para interface Arduino Nano com DHT11 Um alfinete digital do Nano Board será usado para leitura de dados. Para alimentar o DHT11 5V O pino da placa de nano será interfocado.
Para pinos da tela OLED I2C SDA e SCL no A4 e A5 pinos de arduino nano serão usados. Para alimentar um pino de 5V OLED de Arduino Nano será usado.
6.1: esquemático
Abaixo está o diagrama esquemático do Arduino Nano com o sensor DHT11 e para exibir valores de leitura, uma tela OLED é usada. Esta imagem esquemática é do sensor de 3 pinos DHT11. 10kΩ Pull Up Resistor é integrado na saída DHT11.
Da mesma forma, um sensor de 4 pinos DHT11 está conectado com uma placa de nano. A tela OLED está conectada aos pinos de nano A4 e A5 GPIO usando a comunicação I2C. DHT11 PIN 2 é saída de dados. O 4 pino DHT11 tem 1 pino extra, o que não usa utilidade.
6.2: código
Conecte o Arduino Nano e envie o código fornecido:
#include /*biblioteca de comunicação de arame* /No início do código, incluímos as bibliotecas de sensores OLED e DHT. O tamanho da tela OLED é definido em pixels. Depois desse tipo de sensor DHT, é inicializado. Se você estiver usando algum outro tipo de DHT11, descompor o nome do sensor de acordo com o código.
Em seguida no código, inicializamos o sensor DHT e OLED. O OLED está conectado no endereço 0x3c i2c. O endereço i2C pode ser verificado usando o código neste artigo.
As duas variáveis flutuantes t e h armazenará os valores de temperatura e umidade, respectivamente. Lasty no código Todos os valores são exibidos em uma tela OLED usando as funções da biblioteca GFX OLED.
6.3: saída
A saída mostra os valores de temperatura e umidade em tempo real exibidos na tela OLED:
Concluímos a interface do sensor OLED e DHT11 com o Arduino Nano Board.
Conclusão
Arduino Nano pode ser integrado com vários sensores. Este artigo abrange a interface do sensor OLED e DHT11 com o Arduino Nano. Usando o DHT11, medimos a temperatura e a umidade que são exibidos no OLED. Usando o código fornecido, qualquer um dos Arduino Nano pode ser programado para exibir leituras de sensores em uma tela OLED.