Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Valores Incorretos

Com o mesmo código do vídeo, os valores lidos são errados... hoje deve estar uns 28 graus por aqui... já liguem com resistor, sem resistor e nada... Já tentei mudar as portas, ligar em 5v ao invés de 3.3....

Alguma sugestão?

Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 2147483647 C   Umidade: 2147483647
Temperatura: 14 C   Umidade: 157
Temperatura: 2147483647 C   Umidade: 2147483647
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 14 C   Umidade: 157
Temperatura: 2147483647 C   Umidade: 2147483647
2 respostas

Olá Mario, tive o mesmo problema com a identificação dos valores de temperatura e de umidade. Para resolver no meu caso adicionei apenas o "dht.begin();" dentro do Void Setup, conversando com amigos mais experientes, ele me passou que poder ser por alguma atualização da Lib do DHT que pode ter acontecido.

#include "DHT.h"

#define DHTPIN D3
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();

}

void loop() {
  int umidade = dht.readHumidity();
  int temperatura = dht.readTemperature(false);

  Serial.print("temperatura: ");
  Serial.print(temperatura);
  Serial.println("ºC");
  Serial.print("Umidade: ");
  Serial.println(umidade);
  delay(5000);

}
solução

Na verdade, essa lib do curso não funciona com todos os sensores. Só a DHT Unified que funcionou...


#include <Adafruit_Sensor.h>
#include <DHT_U.h>

#define DHTPIN 2
#define DHTTYPE    DHT11  //DHT21 -- DHT22
DHT_Unified dht(DHTPIN, DHTTYPE);

float temperatura = 0;
float umidade = 0;

void setup() {
  dht.begin();
}

void loop() {

      sensors_event_t event;

      dht.temperature().getEvent(&event);
      temperatura = event.temperature;

      dht.humidity().getEvent(&event);
      umidade = event.relative_humidity;  

}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software