آموزش آردوینوپروژه های آردوینو

رطوبت ساز با آردوینو (دستگاه بخور Arduino)

رطوبت ساز وسیله ای است که برای افزایش رطوبت نسبی یک منطقه بسته به منظور اطمینان از رطوبت کافی در آن منطقه استفاده می شود. در فصل زمستان که بخاری روشن است باعث می شود رطوبت نسبی هوا کاهش یابد. در این پروژه دست ساز، قصد داریم یک دستگاه رطوبت ساز اتوماتیک بسازیم که با استفاده از مکانیزم سنسور می تواند رطوبت نسبی هوای اتمسفر را حفظ کند. ما همچنین از یک صفحه نمایش برای نشان دادن رطوبت نسبی (RH) بر حسب درصد استفاده می کنیم. به غیر از آردوینو و نمایشگر، ما از سنسور DHT11 برای خواندن مقادیر رطوبت اتمسفر استفاده می کنیم. اگر آردوینو متوجه شود که رطوبت نسبی کمتر از حد مجاز است، رطوبت ساز را روشن می کند و بالعکس.

نحوه کار رطوبت ساز مبتنی بر آردوینو

رطوبت ساز قابل حمل می‌تواند با استفاده از دیافراگم فلزی که با فرکانس بالا ارتعاش می‌کند، غبار گرم/خنک ایجاد کند. ارتعاشات صدا رطوبت را به هوا می دهد. غبار تولید شده در رطوبت ساز تقریباً بلافاصله جذب هوا می شود. رطوبت ساز باید روی بستر آب شناور شود تا غبار تولید شود. عملکرد مرطوب کننده ای که می خواهیم بسازیم را می توان با بلوک دیاگرام زیر فهمید:

نحوه کار رطوبت ساز مبتنی بر آردوینو

همانطور که در بلوک دیاگرام بالا نشان داده شده است، رطوبت ساز اولتراسونیک بر روی سطح آب در ظرف قرار می گیرد. رطوبت ساز روی آب شناور است. از آنجایی که باید رطوبت را حس و اندازه گیری کنیم، سنسور رطوبت DHT11 و یک صفحه نمایش OLED برای نمایش مقادیر به آردوینو نانو وصل شده است. علاوه بر این، بسته به مقدار رطوبت، ما باید رله را راه اندازی کنیم که به نوبه خود رطوبت ساز را روشن/خاموش می کند. بنابراین، مقدار رطوبت ساز با یک مقدار مرجع مقایسه می شود و بسته به مقادیر رطوبت، رطوبت ساز روشن/خاموش می شود. ویژگی های اصلی این رطوبت ساز در زیر آورده شده است:

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.
  • نوع: شناور/التراسونیک
  • برق: 5 ولت USB
  • جریان کاری: 500Ma
  • سطح نویز: ≤36db

شماتیک مدار مرطوب کننده هوا

شماتیک کامل برای ساخت یک رطوبت ساز با استفاده از آردوینو در اینجا آورده شده است:

شماتیک مدار مرطوب کننده هوا

بیایید مدار را با جزئیات یاد بگیریم. همانطور که نشان داده شده است، ابتدا یک منبع تغذیه 12 ولت DC با استفاده از رگولاتور 7805 و فیلتر خازنی به منبع تغذیه 5 ولت DC تبدیل می شود. سپس این برق به مدارهای آردوینو نانو، OLED، DHT11 و رله داده  می شود. پایه داده DHT11 همانطور که در کد نشان داده شده و پیکربندی شده است به پین ​​ورودی دیجیتال آردوینو متصل می شود. صفحه نمایش OLED از طریق پین های I2C که پایه های A4، A5 آردوینو هستند به آردوینو متصل می شود. به طور مشابه، پایه های خروجی دیجیتال آردوینو به رله و BJT برای کنترل فن DC متصل می شوند.

قطعات مورد نیاز

  • رطوبت ساز اولتراسونیک
  • آردوینو نانو
  • رله 5 ولت
  • 7805
  • خازن الکترولیتی 25V,1000uf
  • آداپتور AC-DC 12 ولت، 2 آمپر
  • سنسور DHT11

لحیم کردن قطعات روی Perfboard:

برای اینکه راه‌اندازی پروژه سیار و سازگارتر باشد، تمام اجزا را روی برد سوراخدار لحیم میکنیم، همانطور که در تصویر زیر نشان داده شده است:

لحیم کردن قطعات دستگاه بخور آردوینو

برنامه نویسی آردوینو نانو برای دستگاه رطوبت ساز

پس از تکمیل موفقیت آمیز اتصال سخت افزاری مطابق شماتیک مدار، اکنون زمان آپلود کردن کد در آردوینو است. کد کامل در انتهای صفحه قرار داده شده است. در اینجا کل کد را خط به خط توضیح می دهیم.

بنابراین، اولین گام این است که کتابخانه های مورد نیاز را در کد فراخوانی کنید که عبارتند از: SoftwareSerial.h، wire.h، Adafruit_SH1106.h و DHT.h در این پروژه. «SoftwareSerial.h» و «wire.h» داخلی هستند و «Adafruit_SH1106.h» از این لینک و کتابخانه DHT11 قابل دانلود هستند.

#include <SoftwareSerial.h>
#include <Wire.h>
#include <Adafruit_SH1106.h>
#include "DHT.h"

سپس آدرس OLED I2C تعریف می شود که می تواند OX3C یا OX3D باشد که در مورد من OX3C است. اغلب، آدرس OLED 1.3 اینچی OX3C است. همچنین، پین Reset نمایشگر باید تعریف شود. در پروژه من، به عنوان -1 تعریف می شود.

#define OLED_ADDRESS   0x3C
#define OLED_RESET -1
Adafruit_SH1106 display(OLED_RESET);

حالا یک Object از کلاس DHT ایجاد میکنیم که میتوانیم آن را در تمام کد استفاده کنیم.

DHT dht;
int humidity=0;

در setup()، همانطور که می دانیم، مقداردهی اولیه برای ارتباط سریال، مقداردهی اولیه نمایشگر OLED و … انجام می شود. در اینجا، برای ارتباط سریال نرم افزاری، نرخ Baud پیش فرض 9600 تعریف شده است. در اینجا SH1106_SWITCHCAPVCC برای تولید ولتاژ نمایشگر استفاده می شود. 3.3 ولت داخلی و تابع display.begin برای مقداردهی اولیه نمایشگر استفاده می شود.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید
void setup()
{
  Serial.begin(9600);
  dht.setup(2);
  pinMode(6,OUTPUT);
  pinMode(11,OUTPUT);
  display.begin(SH1106_SWITCHCAPVCC, OLED_ADDRESS);
  display.clearDisplay();
}

برای خواندن مقدار رطوبت از سنسور، تابع getHumidity() استفاده می شود و در یک متغیر ذخیره می شود. سپس بر روی OLED با استفاده از توابع مربوطه برای انتخاب اندازه متن و موقعیت مکان نما مطابق شکل زیر نمایش داده می شود.

  delay(dht.getMinimumSamplingPeriod());
  humidity = dht.getHumidity();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(27, 2);
  display.print("CIRCUIT DIGEST");
  display.setTextSize(1);
  display.setCursor(35, 20);
  display.print("HUMIDITY(%)");
  display.display();  
  display.setTextSize(2);
  display.setCursor(55, 40);
  display.print(humidity);
  display.display();
  delay(50);
  display.clearDisplay();

در نهایت، برای راه اندازی رطوبت ساز، مقدار رطوبت با یک سطح رطوبت مرجع مقایسه می شود، اگر مقدار رطوبت کمتر از حد باشد رله فعال می شود که رطوبت ساز و فن را روشن می کند.

  if(humidity<88 )
  {
    digitalWrite(6,HIGH);
    digitalWrite(11,HIGH);
  }
  else
  {
    digitalWrite(6,LOW);
    digitalWrite(11,LOW);
  }
}

تست دستگاه رطوبت ساز با آردوینو

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

3/4 ظرف را با آب شیر پر کنید و سپس مانند شکل زیر رطوبت ساز را روی آن شناور کنید:

تست دستگاه رطوبت ساز با آردوینو

آداپتور را روشن کنید تا مدار روشن شود و اکنون باید سطوح رطوبت را در OLED ببینیم. سپس اگر سطح رطوبت کمتر از مقدار مرجع باشد، رطوبت ساز باید شروع به تولید بخور کند و فن باید روشن شود.

ایجاد بخار توسط رطوبت ساز

موارد موجود در فایل : سورس کامل

دانلود فایل های پروژه

5/5 - (1 امتیاز)

دوره آموزش الکترونیک

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام آیرنکس را دنبال کنید.

تصویر از محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید) سعی میکنم تمام نظرات را پاسخ دهم.

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

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