Refrigeretor Arduino Pro Mini

دیجیتالی کردن یخچال

            در این پروژه یک یخچال قدیمی را با استفاده از آردوینو پرو مینی دیجیتالی می کنیم. برای اندازه گیری دما از سنسور دمای DS18B20 استفاده می کنیم.

وسایل مورد نیاز :

  • LCD 16*2
  • پتانسیومتر 5KΩ
  • آردوینو پرو مینی
  • مقاومت 220Ω
  • مقاومت 4.7KΩ
  • سیم برد بورد
  • کابل پروگرام کردن (تبدیل سریال به TTL)
  • LED
  • سنسور DS18B20

اول از همه مدار را مانند شکل زیر می بندیم. و قطعات را به هم اتصال می دهیم.

DS18B20 LCD Arduino Pro Mini

DS18B20 LCD Arduino Pro Mini

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

 

حال به تفصیر برنامه دیجیتالی کردن یخچال می پردازیم

            در آغاز تمام کتابخانه هایی که احتیاج داریم را فرا خوانی می کنیم.

            برای ارتباط تک سیم باید کتاخانه onewire را صدا بزنبم. بعد از آن برای راحتی استفاده از سنسور دمای DS18B20 کتابخانه dallasTemperature را صدا می زنیم. برای استفاده از LCD، کتابخانه ی liquidcrystal را صدا می زنیم. برای استفاده از اینتراپت تایمر یک کتابخانه ی  Timerone را صدا می زنیم. و در آخر هم برای اینکه بتوانیم از حافظه ی EEPROM  میکرو کنترلر اسنفاده کنیم کتابخانه ی  EEPROM  را صدا می زنیم.

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

 

ای سه متغیر را در بالای برنامه تعریف می کنیم تا در همه ی توابع قابل دسترس باشند.

برای نصب و استفاده از LCD به این مطلب مراجعه کنید.

اینتراپت تایمر یک را فعال میکنیم. هر وقت وقفه ایجاد شود تابع Opendoor را صدا می زند.

برای خواندن یک خانه مشخص از حافظه ی EEPROM از این دستور استفاده میکنیم. ما از خانه 10 استفاده کردیم.

برای استفاده از ارتباط سریال این مطلب را بخوانید.

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

تابع opendoor توسط وقفه صدا زده می شود تا زمان باز ماندن در را حساب کند.

            تابع ALARM زمانی که در باز بماند صدا زده می شود. توجه داشته باشید که چون این تابع در داخل وقفه صدا زده شده، هنوز داخل وقفه هستیم. و بعد از اتمام این تابع، برنامه دوباره از همان جایی که به وقفه رفته، دنبال می شود.

            در قسمت تنظیم دما با فشار دادن دو کلید به منوی تنظیم می رویم. با فشار دادن همزمان همان کلید ها از منو خارج می شویم. اگر مدت زمانی هم هیچ کلیدی را فشار ندهیم باز هم از این منو خارج می شود. در ضمن دمای تنظیم شده را در حافظه ی EEPROM ذخیره می کند. که اگر برق رفت تنظیمات باقی مانده باشد.

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

             آخر برنامه هم که مربوط به نمایش دما بر روی LCD می باشد.

            در نقشه توجه به اتصال چند سنسور دما به هم داشته باشید. و دسترسی آن در برنامه که به راحتی قابل انجام است.

در ادامه فیلم تست شده ی مدار را هم قرار داده ام.

 

 

 

دیدگاه ها :

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد.