Internet de les coses amb ESP32 i ESP8266

Exemples Referència Plaques   Recursos CITCEA
Projectes Programació Perifèrics   Inici

Sensor de temperatura i humitat

Hem triat el sensor de temperatura i humitat RHT03 de l'empresa Maxdetect que és compatible amb els AM2302 i DHT22.

Sensor de temperatura i humitat

El connexionat del sensor és molt senzill. Té quatre potes, dues són per a l'alimentació, una és la que es connecta amb el microcontrolador i la restant no es connecta enlloc. L'esquema és el següent:

Sensor de temperatura i humitat

Com la mateixa pota serveix d'entrada i de sortida, hi ha moments que és el sensor qui envia senyal i en altres moments és el microcontrolador qui ho fa. Però en algun moment la pota queda sense connexió efectiva i, per això, cal posar-hi una resistència que manté la pota a 3,3 V si no està treballant.

El sensor pot llegir correctament valors de temperatura entre -40 °C i +80 °C així com humitats relatives entre 0 i 100 % amb una xifra decimal en tots dos casos.

Per fer servir aquest sensor ens caldrà la biblioteca Adafruit Unified Sensor i també la DHT.h d'Adafruit (és probable que trobeu també biblioteques d'altres proveïdors que potser no fan servir els mateixos paràmetres, amb aquesta segur que funciona).

La funció isnan ens permet saber si el resultat obtingut és numèric (false) o no (true). En el nostre cas només ens interessa quan és numèric.

El següent programa llegeix el sensor connectat a la pota 2:

#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
    dht.begin();
    Serial.begin(9600);
}
void loop() {
    float hum = dht.readHumidity();
    float temp = dht.readTemperature();
    if (!(isnan(hum) || isnan(temp))) {
        Serial.print("Temperatura: ");
        Serial.print(temp);
        Serial.println(" C");
        Serial.print("Humitat: ");
        Serial.print(hum);
        Serial.println(" %");
        delay(1000);
    }
}

Si en compilar aquest programa us surt un error relacionat amb la biblioteca Adafruit_Sensor.h us recomanem que instal·leu la darrera versió de l'entorn Arduino IDE i probablement el problema desapareixerà.

 

 

 

En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.