وەسف
طقم وجهاز التحكم التلقائي بالرطوبة والحرارة الذكي المدمج بشاشة OLED وحساس DHT11 (Automatic Smart Temperature & Humidity Environmental Control Kit with DHT11, 0.96" OLED Display & Dual Transistor Outputs)، المنظومة التطبيقية والهندسية المتكاملة لمراقبة وضبط البيئة الداخلية أوتوماتيكياً. يعتمد النظام على حساس DHT11 لدقة قراءة الرطوبة والحرارة مع خوارزمية ذكية للتحكم بالمبخرة (Humidifier) والمروحة (Fan) عبر ترانزستورات إخراج مستقلة. يقيم النظام الرطوبة لحظياً: فعند انخفاض الرطوبة عن 48% يتم تشغيل المبخرة تلقائياً لإضافة الرطوبة وتتوقف عند الوصول إلى 50%، وعند ارتفاع الرطوبة عن 60% يتم تشغيل مروحة التهوية لسحب الرطوبة الزائدة. تعرض الواجهة على شاشة OLED بحجم 0.96 إنش بدقة 128x64 تفاصيل الرطوبة والحرارة مع حالة تشغيل المبخرة والمروحة (Steam & Fan ON/OFF) بشكل مباشر. يعتبر هذا الطقم الخيار الهندسي الأول لمشاريع الحاضنات الذكية، البيوت البلاستيكية، ومشاريع الأردوينو والتخرج.
__________________________________________________
An Automatic Smart Environmental Humidity and Temperature Control Kit engineered around the Arduino platform, integrating a DHT11 sensor, a 0.96" 128x64 I2C OLED display, and dual transistor driver output stages for fan and humidifier control. Powered by automated hysteresis logic, the system activates the humidifier when humidity drops below 48% (turning off at 50%) and triggers the exhaust fan when relative humidity exceeds 60%. The integrated 0.96" OLED screen provides a clear telemetry UI displaying real-time humidity, ambient temperature in °C, and active device statuses (Steam & Fan ON/OFF indicators). Operating with a built-in sensor health check and 2-second update interval, this control kit serves as a premier educational and practical hardware baseline for smart incubators, greenhouse automation, and biomedical environmental telemetry projects.
__________________________________________________
المميزات الأساسية:
* اسم المنتج: طقم جهاز التحكم التلقائي بالرطوبة والحرارة (Automatic Humidity Controller Kit)
* حساس البيئة: مستشعر DHT11 لقياس الحرارة والرطوبة المباشرة
* وحدة العرض: شاشة OLED بحجم 0.96 إنش ودقة 128x64 تعطي قراءات الواجهة وتستعرض حالة الأجهزة
* مخرجات التحكم: خطين مستقلين للتحكم عبر الترانزستور بالمبخرة (Humidifier) والمروحة (Fan)
* الخوارزمية البرمجية: نظام تلقائي لمنع المرجحة (Hysteresis) مع فحص تلقائي لأخطاء الحساس (Sensor Error Handling)
* التطبيقات النموذجية: حاضنات البيض الذكية، التحكم ببيئة البيوت الزجاجية، ومشاريع التخرج والتحكم الهندسي
الكود البرمج
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "DHT.h"
// إعدادات الشاشة
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// إعدادات الحساس والأطراف
#define DHTPIN 2
#define DHTTYPE DHT11
#define FAN_PIN 3 // ترانزستور المروحة
#define HUMIDIFIER_PIN 5 // ترانزستور خط GND للمبخرة
DHT dht(DHTPIN, DHTTYPE);
bool isHumidifierOn = false;
bool isFanOn = false;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(FAN_PIN, OUTPUT);
pinMode(HUMIDIFIER_PIN, OUTPUT);
// إغلاق كل شيء عند الإقلاع
digitalWrite(FAN_PIN, LOW);
digitalWrite(HUMIDIFIER_PIN, LOW);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
for(;;);
}
display.clearDisplay();
display.setTextColor(SSD1306_WHITE);
display.setTextSize(1);
display.setCursor(15, 25);
display.print("System Starting...");
display.display();
delay(1500);
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
// فحص صحة قراءة الحساس
if (isnan(h) || isnan(t)) {
display.clearDisplay();
display.setCursor(0, 20);
display.setTextSize(1);
display.print("Sensor Error!");
display.display();
delay(2000);
return;
}
// 1. التحكم بالمبخرة:
// تشغيل عند الرطوبة أقل من 48%، وتوقف تام عند 50% أو أكثر
if (h < 48.0) {
digitalWrite(HUMIDIFIER_PIN, HIGH); // تشغيل المبخرة (توصيل GND)
isHumidifierOn = true;
}
else if (h >= 50.0) {
digitalWrite(HUMIDIFIER_PIN, LOW); // إيقاف المبخرة (قطع GND)
isHumidifierOn = false;
}
// 2. التحكم بالمروحة:
// تشغيل عندما تتجاوز الرطوبة 60%
if (h > 60.0) {
digitalWrite(FAN_PIN, HIGH);
isFanOn = true;
} else {
digitalWrite(FAN_PIN, LOW);
isFanOn = false;
}
// تحديث الشاشة
updateDisplay(h, t);
delay(2000); // مهلة بين القراءات
}
void updateDisplay(float humidity, float temp) {
display.clearDisplay();
display.setTextSize(1);
display.setCursor(20, 0);
display.print("HUMIDITY CONTROL");
display.drawLine(0, 10, 128, 10, SSD1306_WHITE);
display.setCursor(0, 16);
display.setTextSize(1);
display.print("Humidity:");
display.setCursor(0, 28);
display.setTextSize(2);
display.print(humidity, 1);
display.print("%");
display.setTextSize(1);
display.setCursor(80, 16);
display.print("Temp:");
display.setCursor(80, 28);
display.print((int)temp);
display.print((char)247);
display.print("C");
display.drawLine(0, 48, 128, 48, SSD1306_WHITE);
display.setCursor(0, 52);
display.setTextSize(1);
display.print("Steam:");
display.print(isHumidifierOn ? "ON " : "OFF");
display.setCursor(68, 52);
display.print("Fan:");
display.print(isFanOn ? "ON" : "OFF");
display.display();
}