Projeto de Sensor de Temperatura e Umidade Arduino DHT11
January 7, 2025
Projeto de Sensor de Temperatura e Umidade Arduino DHT11
A linha de sensores DHT (DHT11/22) é uma das mais usadas em muitos projetos eletrônicos, desde estações meteorológicas domésticas até sistemas de automação de plantas,devido à sua simplicidade e compacidade como sensor de temperatura/umidadeEmbora o mais preciso e caro DHT22 possa ser substituído (com algumas alterações no código), o módulo de sensor DHT11 será usado neste projeto.O sensor DHT11 que será usado neste projeto não é a versão independente do sensor de 4 pinos, mas sim, um módulo de 3 pinos que tem um capacitor e resistor de puxa-up embutidos, eliminando assim a necessidade de componentes adicionais ao construir este circuito.O módulo de sensor DHT11 pode ser conectado diretamente a um pin digital que processa e alimenta os dados em série do sensor para o microcontrolador, para nós lermos.
NesteProjeto de PCBA DIY, os dados de temperatura e umidade do sensor DHT11 serão exibidos em uma tela OLED (diodo emissor de luz orgânico) de 0,96′′ 128×64 para lermos visivelmente.Uma vantagem de usar um ecrã OLED i2c em comparação com outros tipos de ecrã é que ele requer apenas uma conexão de 4 fios para a placa Arduino e com uma ampla variedade de bibliotecasUma característica notável de um ecrã OLED é a sua clareza, nitidez e qualidade visual de textos, figuras e imagens que ele pode exibir.
No geral, este é um projeto de circuito bastante simples que é adequado para iniciantes absolutos, pois requer apenas alguns componentes e algumas habilidades básicas de codificação.,Este projeto pode definitivamente ser melhorado e atualizado para acrescentar mais recursos, como comunicação sem fios (RF, LoRa,PCB BluetoothA fim de realizar este projeto, a Comissão lançou um programa de investigação e de desenvolvimento, que inclui um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI), um programa de investigação e de desenvolvimento (PECI) e um programa de investigação e de desenvolvimento (PECI).Você vai precisar de comprar componentes:
Arduino Nano (outras placas compatíveis com Arduino funcionarão)
Cabo USB (compatível com a placa Arduino)
Painéis
Cabos de salto masculino-macho (7)
0.96′′ 128×64 i2c OLED Display
Módulo Sensor DHT11
Conexão
Para este projeto, a FS Technology está utilizando um Arduino Nano, o que requer o uso de um painel de desenvolvimento..No entanto, se um Arduino Uno estiver sendo usado em vez disso, os fios de jumper podem ser conectados diretamente aos pinos da placa, eliminando a necessidade da placa de painel.a fiação para o módulo de sensor DHT11 e a tela OLED para a placa Arduino permanece consistenteAlém disso, o diagrama de fiação para o circuito do sensor de temperatura e umidade DHT11 é fornecido abaixo.
Módulo de Sensor DHT11: Conectar o pin (S) do sensor ao D2, o pin positivo (+) ao +5v e o pin negativo (-) ao GND.
OLED: Conectar SDA (dados em série) a A4, SCL/SCK (relógio em série) a A5, VDD/VCC (voltagem de alimentação) a +5v e GND a GND.
Agora, pode ligar a sua placa Arduino através do cabo USB ao computador.
Código do projecto
#incluir
#incluir
#incluir
#definirlargura da tela128
#definirScreen_height (altura da tela)64
#definirOLED_RESET4
Adafruit_SSD1306exibição(largura da tela, altura da tela);
#incluir¢ DHT.h ¢
#definirDHTPIN2
#definirDHTTYPEDHT11
DHTDht(DHTPIN, DHTTYPE);
não válidoconfiguração(){
Dht.Começar();
exibição.Começar(SSD1306_SWITCHCAPVCC, 0x3C);
exibição.ClearDisplay();
}
não válidoLoop(){
exibição.ClearDisplay();
exibição.setTextSize(1);
exibição.setTextColor(SSD1306_BLANCO);
exibição.setCursor(0,15);
exibição.impressão(Temperatura:);
exibição.setCursor(80,15);
exibição.impressão(Dht.leituraTemperatura(i);
exibição.setCursor(110,15);
exibição.impressão( C );
exibição.setCursor(0,35);
exibição.impressão(Umidade:);
exibição.setCursor(80,35);
exibição.impressão(Dht.leituraHumidade(i);
exibição.setCursor(110,35);
exibição.impressão(% );
exibição.exibição();
atraso(2000);
Sobre o código.
Uma das vantagens de trabalhar com um ecrã OLED i2c é a incrível quantidade de suporte que está disponível online, na forma de bibliotecas de código aberto,que pode ajudar muito na programação do display do Arduino IDENeste projeto, the Adafruit SSD1306 and GFX libraries are the main two libraries that are utilized to interface the OLED display with the Arduino and since all the setup information is already configured in the library files, os comandos básicos são usados dentro do IDE, simplificando o uso da tela.Você pode encontrar erros de compilação, por isso certifique-se de ter as versões mais recentes da biblioteca instaladas no Arduino IDE.
O código começa com a definição das bibliotecas necessárias para a configuração do ecrã OLED: Wire, Adafruit SSD1306 e Adafruit GFX.
No segundo bloco, são definidos vários parâmetros relativos ao ecrã OLED, incluindo a largura e a altura do ecrã (128 x 64 pixels) e o pin de redefinição OLED (A4).
Em seguida, as bibliotecas necessárias para o sensor DHT11 interagir com o Arduino são definidas, que espécies a biblioteca DHT em particular.O pin digital que o sensor DHT é conectado ao na placa Arduino (pin digital 2 ¢ D2) é adicionalmente definido ao lado do modelo particular do sensor DHT que estamos utilizando, o sensor DHT11.
Agora, a seção de configuração vazio é introduzido, uma das duas funções essenciais em cada código Arduino.Começar (()) bem como o ecrã OLED e antes de prosseguir para a seção de loop vazio, o ecrã OLED é limpo de quaisquer visuais anteriores (display.clearDisplay()).
Em termos da seção de loop vazio, a parte principal do código que se repete continuamente (em um loop) enquanto houver energia para a placa Arduino,Consiste principalmente de funções específicas do OLED que definem primeiro o tamanho do texto, cor de texto e cursor (onde queremos que o texto seja impresso no OLED).que é principalmente a temperatura (em graus Celsius) e humidade (%) informações que são lidas pelo sensor DHT11Apenas através do uso destes comandos simples que foram produzidos a partir das bibliotecas definidas, somos capazes de imprimir facilmente qualquer informação para a exibição.
Com a função de atraso no final do código, está configurado para atualizar o ecrã OLED a cada 2000 milissegundos com os dados mais recentes lidos do sensor.Você pode alterar este cronograma dependendo da frequência com que deseja receber informações atualizadas diretamente do sensor.
Resumo
Com uma compreensão fundamental deste projeto e os princípios básicos envolvidos na interface de um sensor para um display OLED,Há certamente uma infinidade de formas em que este projeto pode ser atualizado e melhorado.Mais comumente, uma configuração como esta pode ser integrada em um projeto de estação meteorológica muito maior, possivelmente adicionando mais sensores, um ecrã maior, capacidades sem fio, uma caixa, etc.Tal como demonstrado neste projecto, apenas familiarizando-se com algumas das bibliotecas Arduino que estão disponíveis para uso, torna-se então relativamente fácil codificar sua própria estação meteorológica.Um projeto futuro pode envolver a transmissão sem fio de tais dados meteorológicos de uma placa de microcontrolador para outra, a fim de monitorar um ambiente remoto ou controlar centralmente um sistema autônomoNo entanto, projectos como este são excelentes para introduzir a electrónica de passatempo a um principiante absoluto e podem muito bem ser também direccionados para um mais experiente.Fabricante de PCBAque talvez queiram explorar outros aspectos da eletrónica.