Veja nesta pequena dica como economizar memória do Arduino com esta library para o DHT11
Caso seu projeto use o sensor de temperatura DHT11, provavelmente você deve estar usando a excelente Biblioteca da Adafruit DHT.
No entanto, existe um lib mais simples e rápida que pode ser um alternativa para projetos que precisam economizar o máximo possível de memória.
Trata-se da biblioteca SimpleDHT desenvolvida pelo desenvolvedor chinês Win Lin
Fiz um teste com o NodeMCU e tive um ganho de 6000 bytes de memória. No Arduino tive um ganho de 50%
Veja a seguir como utilizar a library…
Utilização
Esta biblioteca pode ser baixada e configurada pela própria IDE do Arduino.
Para isso, acesse o menu Sketch → Incluir Biblioteca → Gerenciar bibliotecas.
Digite na caixa de pesquisa o nome da lib SimpleDHT e solicite sua instalação.
Vá até o menu Arquivo → Exemplos e procure por DHT11Default
Veja o sketch de exemplo comentado:
#include// for DHT11, // VCC: 5V or 3V // GND: GND // DATA: 2 int pinDHT11 = 2; //Sensor conectado ao pino 2 SimpleDHT11 dht11; //Criação do objeto para a biblioteca void setup() { Serial.begin(9600); } void loop() { // start working... Serial.println("================================="); Serial.println("Sample DHT11..."); // read without samples. //Variáveis para as leitura byte temperature = 0; byte humidity = 0; if (dht11.read(pinDHT11, &temperature, &humidity, NULL)) { Serial.print("Read DHT11 failed."); return; } Serial.print("Sample OK: "); Serial.print((int)temperature); Serial.print(" *C, "); Serial.print((int)humidity); Serial.println(" %"); // DHT11 sampling rate is 1HZ. delay(1000); //Delay necessário }
Conclusão
A simpleDHT foi construída especificamente para o DHT11.
Para o DHT22 existe outra biblioteca que ocupa muito pouco espaço na memória e tem a vantagem de detectar qual o modelo do sensor está sendo usado:
https://github.com/markruys/arduino-DHT
Happy Sketching!
O post Dica: Otimização de memória com Arduino e DHT11 apareceu primeiro em BlogDoJoséCintra.