proyectos:monitorclima_temperatura
¡Esta es una revisión vieja del documento!
Los sensores de temperatura que se han utilizado son:
- DS18B20 Solo temperatura impermeable
- DHT11 Para temperatura humedad*
- Para ver la comparación entre un DHT11 y un DHT22 ver https://learn.adafruit.com/dht/overview
Sensor DHT11
#include <Adafruit_Sensor.h> #include <DHT_U.h> #include <DHT.h> // Definimos el pin digital donde se conecta el sensor #define DHTPIN 4 // Dependiendo del tipo de sensor #define DHTTYPE DHT11 // Inicializamos el sensor DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { // Inicializamos comunicación serie Serial.begin(9600); // Comenzamos el sensor DHT dht.begin(); } void loop() { // Esperamos 5 segundos entre medidas delay(5000); // Leemos la humedad relativa float h = dht.readHumidity(); // Leemos la temperatura en grados centígrados (por defecto) float t = dht.readTemperature(); // Leemos la temperatura en grados Fahrenheit float f = dht.readTemperature(true); // Comprobamos si ha habido algún error en la lectura if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Error obteniendo los datos del sensor DHT11"); return; } // Calcular el índice de calor en Fahrenheit float hif = dht.computeHeatIndex(f, h); // Calcular el índice de calor en grados centígrados float hic = dht.computeHeatIndex(t, h, false); Serial.print("Humedad: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperatura: "); Serial.print(t); Serial.print(" *C "); Serial.print(f); Serial.print(" *F\t"); Serial.print("Índice de calor: "); Serial.print(hic); Serial.print(" *C "); Serial.print(hif); Serial.println(" *F"); }
Sensor DS18B20
Esquema del sensor:
Diagrama de conexión, aca son dos sensores conectados
#include <DallasTemperature.h> #include <OneWire.h> // Pin donde se conecta el bus 1-Wire const int pinDatosDQ = 9; // Instancia a las clases OneWire y DallasTemperature OneWire oneWireObjeto(pinDatosDQ); DallasTemperature sensorDS18B20(&oneWireObjeto); void setup() { // Iniciamos la comunicación serie Serial.begin(9600); // Iniciamos el bus 1-Wire sensorDS18B20.begin(); } void loop() { // Mandamos comandos para toma de temperatura a los sensores Serial.println("Mandando comandos a los sensores"); sensorDS18B20.requestTemperatures(); // Leemos y mostramos los datos de los sensores DS18B20 Serial.print("Temperatura sensor 0: "); Serial.print(sensorDS18B20.getTempCByIndex(0)); Serial.println(" C"); delay(1000); }
Reefrencias:
proyectos/monitorclima_temperatura.1553435396.txt.gz · Última modificación: por manuel.floresv