Proyecto 1 - Dispositivo para el correcto secado de ropa
- Matías García
- 19 sept 2020
- 3 Min. de lectura
Actualizado: 26 sept 2020
En esta oportunidad, nos plantean la propuesta del primer proyecto, el cual debe ser algo pequeño, pero que represente un problema diario, algo que siempre digas "uf, tengo que hacer esto, o aquello...", y por consiguiente, podamos resolverlo. Entonces, hablando con nuestro equipo (Javier Gutiérrez y Agustina Roballo), pensamos en la ropa, cuando la lavas, la colgas, esperas a que se seque...es un estrés diario...ni hablar si esta a punto de quedar seca totalmente y llueve...
De acuerdo a este planteo, decidimos crear un dispositivo que va a ser capaz de identificar las condiciones correctas para el secado de la ropa, determinados grados, la humedad y el tiempo de exposición que deben de cumplirse.
Según la investigación que hemos realizado, entendemos que la ropa se debe secar entre unos 25°C durante aproximadamente unas 4 hrs con una leve corriente de viento. Si la temperatura ambiente está por arriba de los 30 grados, claramente el tiempo de exposición de la ropa, será menor a 4 hrs.
Al cumplir el tiempo, implementaremos otro dispositivo conectado a nuestro Arduino, que emitirá un pitido, para que de esta manera sepamos que la ropa, ya cumplió su ciclo de secado.
Para poder cumplir con las siguientes condiciones en un ambiente cerrado vamos a utilizar distintos dispositivos, como un ventilador, un des humificador y un calefactor.
Cuando la temperatura supera los 25°C se deberá de encender el ventilador y cuando esté por debajo se deberá de prender el calefactor.

Estaremos siempre midiendo la humedad de la sala, cuando este se encuentre por arriba del 40% se prendera el des humificador, y se apagara al llegar al 20%.
Para llegar a estas condiciones debemos de tener tres dispositivos aparte del Arduino y del sensor DHT11.
Características técnicas del DHT11
Alimentación: 3,5 V a 5 V
Consumo: 2,5 mA
Señal de salida: Digital
Temperatura
Rango de: 0ºC a 50ºC
Precisión a: 25ºC ± 2ºC
Resolución: 1ºC (8-bit)
Humedad
Rango de: 20% RH a 90% RH
Precisión entre: 0ºC y 50ºC ± 5% RH
Resolución: 1% RH
A continuación, una par de imágenes del prototipo funcionando en una primer experiencia:


Dispositivos que van a ser utilizados en nuestro proyecto:

Algunas fotos de nuestro prototipo ya armado y pronto para ser presentado:




Por último, les dejamos el código de nuestro programa, con sus respectivos comentarios:
// Incluimos librería
#include <DHT.h>
#define VERDE 3
#define ROJO 4
#define AMARILLO 5
// Definimos el pin digital donde se conecta el sensor
#define DHTPIN 2
// 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();
pinMode(VERDE, OUTPUT);
pinMode(ROJO, OUTPUT);
pinMode(AMARILLO, OUTPUT);
}
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 Fahreheit
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 Fahreheit
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");
if (t > 18) {
digitalWrite (VERDE, HIGH);
}else{digitalWrite (VERDE, LOW);
}
if (t <= 18) {
digitalWrite (ROJO, HIGH);
}else{digitalWrite (ROJO, LOW);
}
if (h > 70){
digitalWrite (AMARILLO, HIGH);
}else{digitalWrite (AMARILLO, LOW);
}
}
Comments