ACTIVE ROOM DEHUMIDIFIER
We calculate the final price from your selected file. You review and accept it before payment.
Saved on this device.
This is a dehumidifier I designed with the purpose of reduce the humidity on the air of my room, so my books and filamen
- Rating
- 0 / 5
- Likes
- 1
- Downloads
- 5
- Makes
- 0
- Views
- 82
- Reviews
- 0
Updated at source:
Model information
- Source
- Printables
- Category
- Other House Equipment
- License
- Creative Commons — Attribution — Noncommercial
Before anything I would like to mention that I uploaded also the STEP files so any of you can make modifications of my desing based on the parts you have on hand or the ones you would like to use.
The list of things I used for this project:
1-Arduino UNO (You could use any microprocessor but you probably would need modify the code)
2-DHT11 Sensor Module
3-Relay Module
4- DC Power Supply: 12V
5-80mm PC Fan
6-Magnets (I used 5mm x 1mm neodymium magnets) for the cover of the electronics
7-Glue for the magnets
8-Duponts Wires
9- M4 screws
10- Atleast 4 M3 screws with a lenght of 10mm minimum
11-Orange Desiccant Silica Gel
12- An OLED display like this one: https://www.steren.com.mx/display-oled-128x32.html
Instructions:
The fan is screwed to the top face of the "Casing" part using the M4 screws. The OLED Display should be pressed on the rectangular hole also on the top face of the "Casing" part

As you can see I dont have installed the OLED display yet but all the necessary configurations are on the arduino code.
The same screws used to attach the Arduino to the "Electronics Casing" part are used to attach these elements to the part called "Casing".

The "TrayStop" part is screwed on the front face of the Casing, this part prevent the tray to go out of the casing:

The magnets are glued to the Electronics Casing and to the "Tapa" part, be careful of the polarity of these magnets so you dont have troubles closing the electronics casing. The DHT11 sensor is screwed to the side of the electronics casing as you can see on the cover image.
The code I used is the following:
#include <DHT.h>#define DHTPIN 10 // Pin al que está conectado el sensor DHT11
#define DHTTYPE DHT11 // Tipo de sensor DHT que estás utilizando
DHT dht(DHTPIN, DHTTYPE);
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define FANPIN 4
void setup() {
Serial.begin(9600);
dht.begin();
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("SSD1306 allocation failed"));
}
pinMode(FANPIN,OUTPUT);
}
void loop() {
delay(2000); // Espera 2 segundos entre lecturas
float humedad = dht.readHumidity(); // Lee la humedad relativa
float temperatura = dht.readTemperature(); // Lee la temperatura en grados Celsius
// Verifica si la lectura fue exitosa, si no, intenta nuevamente después de un breve retraso
if (isnan(humedad) || isnan(temperatura)) {
Serial.println("Error al leer el sensor DHT11!");
return;
}
// Imprime los valores de humedad y temperatura en el monitor serial
Serial.print("Humedad: ");
Serial.print(humedad);
Serial.print("%\t");
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println("°C");
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10,10);
display.print(F("Temperatura:"));
display.print(temperatura);
display.println(F("*C"));
display.display();
display.setCursor(20,20);
display.setTextSize(1);
display.setTextColor(WHITE);
display.print(F("Humedad: "));
display.print(humedad);
display.println(F("%"));
display.display();
if(humedad>45){
digitalWrite(FANPIN, HIGH);
}
else{
digitalWrite(FANPIN,LOW);
}
delay(2000);
}
