THIẾT BỊ HÚT ẨM PHÒNG TỰ ĐỘNG (ACTIVE ROOM DEHUMIDIFIER)
Dự án máy hút ẩm tự động sử dụng Arduino và cảm biến DHT11 giúp kiểm soát độ ẩm trong phòng, bảo vệ sách và sợi in 3D của bạn. Tải về trọn bộ tệp STL và STEP để tự lắp ráp tại nhà ngay hôm nay!
Mô tả
Trước hết, mình muốn chia sẻ rằng mình đã đính kèm các tệp STEP để mọi người có thể tự do chỉnh sửa thiết kế theo linh kiện sẵn có hoặc loại mà bạn muốn sử dụng.
Danh sách linh kiện cần chuẩn bị:
1- Arduino UNO (Bạn có thể dùng bất kỳ loại vi điều khiển nào khác nhưng cần chỉnh sửa code). 2- Cảm biến DHT11. 3- Module Relay. 4- Nguồn DC: 12V. 5- Quạt PC 80mm. 6- Nam châm (mình dùng loại 5mm x 1mm) để gắn nắp hộp điện tử. 7- Keo dán nam châm. 8- Dây cắm Dupont. 9- Ốc vít M4. 10- Ít nhất 4 ốc vít M3 (chiều dài tối thiểu 10mm). 11- Hạt hút ẩm Silica Gel (màu cam). 12- Màn hình OLED: https://www.steren.com.mx/display-oled-128x32.html
Hướng dẫn lắp ráp:
Quạt được bắt vít vào mặt trên của phần "Casing" bằng ốc M4. Màn hình OLED được ép chặt vào lỗ hình chữ nhật ở mặt trên của phần "Casing".

Như mọi người thấy, mình chưa lắp màn hình OLED nhưng các cấu hình cần thiết đều đã có sẵn trong đoạn mã Arduino.
Sử dụng các ốc vít tương tự để gắn Arduino vào phần "Electronics Casing", sau đó gắn phần này vào bộ khung "Casing".

Phần "TrayStop" được bắt vít vào mặt trước của Casing để ngăn khay trượt ra ngoài:

Dán nam châm vào phần Electronics Casing và phần "Tapa", hãy chú ý cực của nam châm để tránh lỗi khi đóng nắp. Cảm biến DHT11 được bắt vít vào cạnh của hộp điện tử như hình minh họa.
Đoạn code mình sử dụng:
#include <DHT.h>
#define DHTPIN 10
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
#define OLED_RESET -1
#define SCREEN_ADDRESS 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define FANPIN 4
void setup() {
Serial.begin(9600);
dht.begin();
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("SSD1306 allocation failed"));
}
pinMode(FANPIN,OUTPUT);
}
void loop() {
delay(2000);
float humedad = dht.readHumidity();
float temperatura = dht.readTemperature();
if (isnan(humedad) || isnan(temperatura)) {
Serial.println("Error al leer el sensor DHT11!");
return;
}
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);
}
Giấy phép
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!