Armazenamento de dados de um sensor DHT11 em um cartão SD com o Arduino
- Publicado em Eletrônica
Um dos serviços que prestamos é o desenvolvimento de software embarcado, baseado em diversas arquiteturas de microcontroladores e plataformas. Nesta página, apresentamos uma aplicação simples de registro de dados com o Arduino Uno obtidos de um sensor de temperatura e umidade DHT11 de baixo custo e, conforme veremos, de baixa péssima confiabilidade e precisão, e comprovamos que não se deve empregar o shield Ethernet somente para utilizarmos o slot para o cartão SD.
O sensor DHT11 de temperatura e umidade foi empregado nesta aplicação apenas porque a região de Goiânia nesta data estava sofrendo com as baixos índices de umidade relativa do ar e a mesma visou analisar os impactos de utilização de um umidificador em um quarto de uma residência por alguns dias. O mercado obviamente disponibiliza sensores mais confiáveis e precisos, mas obviamente por um custo bem maior, o que não era conveniente no escopo desta aplicação.
Para obtenção do slot para gravação de cartões SD, tentamos utilizar inicialmente o shield Ethernet do Arduino, que disponibiliza tanto um slot SD quanto uma interface Ethernet para conectividade à uma rede TCP-IP cabeada, conforme imagem a seguir:
Todavia, logo após a energização do sistema, a ideia foi descartada uma vez que esse shield Ethernet consome muita energia devido ao chip Ethernet W5100 da WIZnet, que não pode ser colocado em estado de espera por meio da biblioteca padrão do Arduino. Conforme imagem abaixo, mesmo sem processamento de dados, o sistema Arduino mais o shield Ethernet consumia 2,09W, um valor muito expressivo e que representa o aquecimento térmico do próprio W5100 quanto resulta no aquecimento do regulador de tensão da placa do Arduino Uno, fato observado em um termovisor.
Então, otimizamos o hardware original com um módulo slot SD simples da figura abaixo em substituição ao shield Ethernet:
O consumo foi reduzido para apenas 0,46W em pleno funcionamento, conforme imagem abaixo, um valor bem mais razoável para a aplicação e que ainda poderia ser ainda mais otimizado por meio da utilização das bibliotecas de redução de clock do microcontrolador do Arduino.
Como resultado final, obtemos os dados constantes no gráfico abaixo, referente ao sistema exposto acima, o qual armazenou a temperatura e umidade obtidos de um sensor DHT11 em um arquivo com tamanho de algumas centenas de kilobytes em um cartão SD comum. O sensor foi colocado em cima de um criado mudo em um quarto com um umidificador ligado durante a noite. O pico de temperatura e o mínimo de umidade relativa durante as 11h e 12h da manhã possivelmente foi causado por insolação direta sob o sensor durante esse intervalo.
Itens relacionados (por tag)
1 Comentário
-
Sidney Quinta, 25 Outubro 2018 13:33 Link do comentário
Muito legal seu trabalho. Ainda mais sabendo que é de Goiânia.
Eu uso muito sistemas de monitoramento integrados ao ScadaBR.
Onde você trabalha?