Sensor DHT22 (AM2302)

Sensor de Temperatura e Humidade — Arduino

Descrição do Projeto

O sensor de umidade e temperatura DHT22 (AM2302) é muito usado em sistemas de controle climático, agricultura inteligente e automação residencial. Mede com precisão a umidade relativa e temperatura.

Pinagem

Montagem DHT22

Código Arduino — DHT11

#include <DHT11.h>

DHT11 dht11(2);

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

void loop(){
  int temperature = dht11.readTemperature();
  int humidity = dht11.readHumidity();
  Serial.print("Temperature = ");
  Serial.print(temperature);  Serial.print("°C ");
  Serial.print("Humidity = ");
  Serial.println(humidity);
  delay(1000);
}

Código Avançado — DHT22 (Biblioteca DHTNEW)

// FILE: dhtnew_dht22.ino
// AUTHOR: Rob Tillaart
// PURPOSE: DHTNEW library test sketch for Arduino
// URL: https://github.com/RobTillaart/DHTNew

#include <dhtnew.h>

DHTNEW mySensor(5);

void setup()
{
  while (!Serial);
  Serial.begin(115200);
  Serial.println();
  Serial.println("dhtnew_dht22.ino");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(DHTNEW_LIB_VERSION);
  Serial.println();

  Serial.println("STAT\tHUMI\tTEMP\tTYPE");

  mySensor.setType(22);
}

void loop()
{
  int chk = mySensor.read();
  switch (chk)
  {
    case DHTLIB_OK: Serial.print("OK,\t"); break;
    case DHTLIB_ERROR_CHECKSUM: Serial.print("Checksum error,\t"); break;
    case DHTLIB_ERROR_TIMEOUT_A: Serial.print("Time out A error,\t"); break;
    case DHTLIB_ERROR_TIMEOUT_B: Serial.print("Time out B error,\t"); break;
    case DHTLIB_ERROR_TIMEOUT_C: Serial.print("Time out C error,\t"); break;
    case DHTLIB_ERROR_TIMEOUT_D: Serial.print("Time out D error,\t"); break;
    case DHTLIB_ERROR_SENSOR_NOT_READY: Serial.print("Sensor not ready,\t"); break;
    case DHTLIB_ERROR_BIT_SHIFT: Serial.print("Bit shift error,\t"); break;
    case DHTLIB_WAITING_FOR_READ: Serial.print("Waiting for read,\t"); break;
    default: Serial.print("Unknown: "); Serial.print(chk); Serial.print(",\t"); break;
  }

  Serial.print(mySensor.getHumidity(), 1);
  Serial.print(",\t");
  Serial.print(mySensor.getTemperature(), 1);
  Serial.print(",\t");
  Serial.println(mySensor.getType());
  delay(2000);
}
Leituras DHT22 ← Voltar à Eletrónica