آموزش آردوینو Arduino

کنترل دما با آردوینو HVAC

کنترل دما با آردوینو HVAC ، سنسور DHT22 و نمایشگر OLED. اندازه‌گیری دما و رطوبت با قابلیت نمایش لحظه‌ای

در دنیای امروز، کنترل دمای محیط به صورت هوشمند، نه‌تنها راحتی بیشتری فراهم می‌کند، بلکه موجب کاهش مصرف انرژی و بهینه‌سازی عملکرد سیستم‌های گرمایشی و سرمایشی (HVAC) نیز می‌شود. در پروژه آردوینو پیش‌رو، با استفاده از برد قدرتمند LOLIN D32 (ESP32) و سنسورهایی مانند DHT22، سیستمی طراحی خواهیم کرد که بتواند دما و رطوبت محیط را اندازه‌گیری کرده و به‌صورت خودکار فن را متناسب با شرایط کنترل کند.

در این پروژه، ما با استفاده از برد LOLIN D32 (ESP32) و چندین سنسور کاربردی، یک سیستم کنترل هوشمند HVAC را طراحی کردیم که می‌تواند دما و کیفیت هوای محیط را اندازه‌گیری کرده و به‌صورت خودکار فن‌ها، هیترها و دمپرها را مدیریت کند. در ادامه توضیحات، کد، مدار، قطعات و شماتیک برد آردوینو خدمت شما ارائه میشود تا به راحتی پروژه را اجرا کنید.

اما قبل از شروع آموزش چنانچه پروژه آردوینو مشابهی دارید که در اجرای ان به مشکل خوردید یا اینکه نیاز به مشاوره در اجرای ان دارید میتوانید اطلاعات پروژه خود را برای تیم هایپر پروژه ارسال کنید تا در اسرع وقت پروژه شما بررسی شود.

تلگرام (hyperprozhe@)
واتساپ (09105104143)
ایتا (hyperprozhe@)
شماره تماس 09105104143

 

در واقع پروژه شبیه سازی ویدیو زیر در یوتیوب با عنوان ARDUINO TEMPERATURE CONTROL (HVAC) است که همان کنترل دمای آردوینو (HVAC) است. در ادامه لینک ویدیو قرار داده میشود. (برای مشاهده ویدیو کلیک کنید!)

معرفی سیستم HVAC، نحوه کارکرد و کاربردهای آن

HVAC مخفف Heating, Ventilation, and Air Conditioning (گرمایش، تهویه و تهویه مطبوع) است و به مجموعه‌ای از فناوری‌ها گفته می‌شود که برای کنترل دما، رطوبت و کیفیت هوای محیط در ساختمان‌های مسکونی، تجاری و صنعتی مورد استفاده قرار می‌گیرد. این سیستم‌ها نقش مهمی در راحتی، سلامت و بهره‌وری انرژی در فضاهای داخلی دارند.

سیستم های HVAC در مکان های مختلفی به کار می‌روند، از جمله:

ساختمان‌های مسکونی (خانه‌ها و آپارتمان‌ها) برای راحتی ساکنین
مراکز تجاری و اداری (دفاتر، فروشگاه‌ها و مراکز خرید) برای حفظ کیفیت هوای داخل
بیمارستان‌ها و مراکز درمانی برای کنترل دما و جلوگیری از رشد باکتری‌ها
صنایع و کارخانجات برای تهویه و تنظیم دمای محیط‌های صنعتی
سالن‌های ورزشی، استادیوم‌ها و مراکز تفریحی برای ایجاد هوای مطبوع و مطلوب

قطعات اجرای پروژه کنترل دما با برد آردوینو :

  1. arduino101
  2. سنسور دمای DHT22
  3. سیم جامپر
  4. ال ای دی (دو عدد)ترجیحا قرمز رنگ
  5. مقاومت 10000 اهمی
  6. مقاومت 330 اهمی
  7. ال سی دی 2*1
  8. برد بورد

برای اجرای این پروژه از نمایشگر 0.95 اینچ oled استفاده شده که در ادامه تصویر آن قابل مشاهده است.

اینچ 0.95 OLED نمایشگر

قطعات اجرای پروژه کنترل دما با برد آردوینو

این قطعات برای اجرای این پروژه ضروری هستند که در ادامه نقشه شماتیکی ان خدمت شما ارئه خواهد شد که میتوانید با یک کلیک فایل pdf شماتیک پروژه آردوینو را دانلود کنید و طبق آن پروژه را اجرا کنید.

نقشه شماتیکی پروژه کنترل دما با اردوینو 

برای پیاده‌سازی موفق یک سیستم کنترل دمای هوشمند (HVAC)، داشتن یک شماتیک دقیق و اصولی از نحوه اتصال قطعات الکترونیکی ضروری است. این نقشه نه تنها مسیر های ارتباطی بین برد LOLIN D32 (ESP32)، سنسور DHT22 و نمایشگر OLED را مشخص می‌کند، بلکه نشان میدهد که چگونه میتوانید از ماژول های رله یا فن ها برای کنترل تهویه استفاده کرد.

در این شماتیک، تمامی اتصالات تغذیه، ورودی‌ها و خروجی‌های دیجیتال به‌صورت استاندارد و سازگار با ولتاژ های ESP32 طراحی شده اند تا پروژه به‌صورت پایدار و بهینه کار کند. اگر قصد ساخت یک سیستم هوشمند HVAC را دارید، این نقشه راهنمایی دقیق برای مونتاژ صحیح قطعات خواهد بود. برای دانلود PDF شماتیک پروژه همین حالا کلیک کنید.

نقشه شماتیکی پروژه کنترل دما با اردوینو  1

نقشه شماتیکی پروژه کنترل دما در اردوینو  2

نقشه شماتیکی پروژه کنترل دما با آردوینو  3

نقشه شماتیکی پروژه کنترل دما با اردوینو  4

مدار پروژه کنترل دما با اردوینو

مدار پروژه کنترل دما با اردوینو 

 

توضیح کد پروژه کنترل دمای HVAC با ESP32

این کد برای اندازه‌گیری دما و رطوبت با سنسور DHT22 و نمایش اطلاعات روی نمایشگر OLED طراحی شده است. حال، بیایید بخش‌به‌بخش آن را بررسی کنیم:

1. معرفی کتابخانه‌ها

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
  • Wire.h → برای ارتباط I2C بین میکروکنترلر و نمایشگر OLED
  • Adafruit_GFX.h و Adafruit_SSD1306.h → برای پردازش و نمایش گرافیکی روی نمایشگر
  • Adafruit_Sensor.h → کتابخانه‌ای عمومی برای سنسورها
  • DHT.h → برای کار با سنسور دمای DHT

2. تعریف پارامترهای نمایشگر OLED

#define SCREEN_WIDTH 128  // عرض نمایشگر (پیکسل)
#define SCREEN_HEIGHT 64  // ارتفاع نمایشگر (پیکسل)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

این قسمت ابعاد نمایشگر OLED را مشخص می‌کند و یک شیء برای کنترل آن ایجاد می‌کند.

3. تعریف پین سنسور DHT

#define DHTPIN 14 // پین متصل به سنسور DHT
#define DHTTYPE DHT22 // انتخاب مدل سنسور (DHT22)
DHT dht(DHTPIN, DHTTYPE);
  • DHTPIN 14 → مشخص می‌کند که سنسور DHT به پین 14 ESP32 متصل است.
  • DHTTYPE DHT22 → نوع سنسور را DHT22 در نظر می‌گیرد (می‌توان به DHT11 یا DHT21 تغییر داد).

4. تنظیمات اولیه در setup()

void setup() {
  Serial.begin(115200); // فعال‌سازی ارتباط سریال
  dht.begin(); // شروع به کار سنسور DHT
  
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // اگر نمایشگر متصل نشد، برنامه متوقف شود
  }
  
  delay(2000);
  display.clearDisplay(); // پاک کردن صفحه نمایش
  display.setTextColor(WHITE); // تنظیم رنگ متن روی سفید
}
  • مقداردهی اولیه ارتباط سریال با نرخ 115200 baud
  • راه‌اندازی سنسور DHT
  • بررسی اتصال نمایشگر OLED، اگر متصل نباشد، در حلقه بی‌نهایت گیر می‌کند
  • تنظیم رنگ متن نمایشگر و پاک کردن صفحه برای آماده‌سازی

5. اجرای برنامه در loop()

void loop() {
  delay(5000); // تاخیر 5 ثانیه‌ای بین خواندن داده‌ها
  
  float t = dht.readTemperature(); // خواندن دما
  float h = dht.readHumidity(); // خواندن رطوبت
  
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
  }
  
  display.clearDisplay(); // پاک کردن صفحه نمایش
  • هر 5 ثانیه یکبار دما و رطوبت خوانده می‌شوند
  • اگر مقدار سنسور نامعتبر بود، پیغام خطا در Serial Monitor چاپ می‌شود
  • صفحه نمایش پاک می‌شود تا داده‌های جدید جایگزین شوند

6. نمایش دما روی OLED

  display.setTextSize(1);
  display.setCursor(0,0);
  display.print("Temperature: ");
  
  display.setTextSize(2);
  display.setCursor(0,10);
  display.print(t); // نمایش مقدار دما
  display.print(" ");
  
  display.setTextSize(1);
  display.cp437(true);
  display.write(167); // درج نماد درجه
  display.setTextSize(2);
  display.print("C"); // درج C برای درجه سانتیگراد
  • نمایش مقدار دما با سایز بزرگ‌تر
  • نماد درجه سانتیگراد با کد 167 اضافه شده است

7. نمایش رطوبت روی OLED

  display.setTextSize(1);
  display.setCursor(0, 35);
  display.print("Humidity: ");
  
  display.setTextSize(2);
  display.setCursor(0, 45);
  display.print(h); // نمایش مقدار رطوبت
  display.print(" %");
  
  display.display(); // به‌روزرسانی صفحه نمایش
}
  • مقدار رطوبت نیز در پایین صفحه نمایش داده می‌شود
  • در پایان، دستور display.display() صفحه نمایش را به‌روزرسانی می‌کند تا اطلاعات جدید نشان داده شود

هر 5 ثانیه یکبار، دما و رطوبت از سنسور DHT22 خوانده شده و روی نمایشگر OLED نمایش داده می‌شود.
اگر سنسور متصل نباشد یا داده‌های نامعتبر دریافت شود، پیام خطا در مانیتور سریال چاپ می‌شود.
پروژه یک پایه قوی برای کنترل هوشمند HVAC با ESP32 است که می‌توان آن را توسعه داد و قابلیت‌های بیشتری مانند کنترل فن و هیتر به آن اضافه کرد.  برای دانلود کد برنامه کلیک کنید !

نتیجه گیری و دانلود فایل ها به صورت zip

در این پروژه، با استفاده از برد LOLIN D32 (ESP32)، سنسور DHT22 و نمایشگر OLED، یک سیستم ساده اما کارآمد برای اندازه‌گیری و نمایش دما و رطوبت محیط طراحی و پیاده‌سازی شد. این پروژه نشان داد که چگونه می‌توان از آردوینو و اینترنت اشیا (IoT) برای کنترل و نظارت بر شرایط محیطی استفاده کرد. برای اینکه پروژه کامل باشه و هیچ نقصی در آن نباشد تمامی فایل های پروژه از کد، شماتیک و قطعات را میتوانید همین الان کلیک کنید و دانلود کنید !

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *