در اين بخش مي‌توانيد طرح آماده و کامل شده مرتبط با میکروکنترلرهای AVR را مشاهده بفرمایید
Colonel II

Colonel II



نماد کاربر
پست ها

6616

تشکر کرده: 1670 مرتبه
تشکر شده: 8151 مرتبه
تاريخ عضويت

سه شنبه 26 آذر 1387 16:20

آرشيو سپاس: 11653 مرتبه در 2024 پست

ساعت +تقویم شمسی+دماسنج با ایسیDs1307وatmega8

توسط sinaset » دوشنبه 10 اسفند 1394 11:21

بنام خداوند بخشنده مهربان
باسلام

ساعت +تقویم شمسی+دماسنج با ایسیDs1307وatmega8
در این پروژه جالب که اینجاب انجام داده ام. یک ساعت به کمک ایسی DS1307 و میکروکنترولر Atmega8 و دماسنج با دقت DS18b20 و حافظه EEprom خارجی (24c32) ساخته شده است، که همه این قطعات (به غیر از میکروکنترولر) بر روی یک ماژول ساعت تهویه شده.( لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد جستجو را ببینید)* لازم به ذکر است ایسی دماسنج DS18b20 بر روی این ماژول تهویه نشده واما جایگاه ان وجود دارد،که  باید جداگانه تهیه کنید.

اما می توانید همه ایسی و قطعات را به صورت جداگانه تهیه و استفاده کنید . (که البته قیمت تمام شده برای شما کمتر خواهد شد..)

اما اشنایی مختصر با قابلیت های ایسی DS1307:

تاریخ (میلادی )و ساعت سنج دقیق
قابلیت تشخیص روز،هفته،ماه،سال
قابلیت شمارش تا 100 سال.
قابلیت تشخیص سال های کبیسه
64 بایت حافظه رم (از نوع nv-flash)-که از این میزان حافظه 8 بایت مورد استفاده خود ایسی و باقی ازاد می باشد!(که در این پروژه برای نگه داری دما از ان استفاده کردیم)
نگه داری اطلاعات خود با یک باتری سکه ی تا 10 سال!(یعنی اگر مقدار تاریخ و زمان را به ان بدهیم،بدون برق می تواند تاریخ را تا 10 سال بشمارد و در حافظه خود نگه دارد)
نوع رابط برقراری ارتباط I2C می باشد.

آشنایی مختصر با ایسی DS18b20


قابلیت اندازه گیری دما (با دقت قابل تنظیم 12 تا 9 بیت)
دما -10 تا +85 درجه(درصد خطا اندازه گیری 0.5 سانتی گراد)
خروجی دیجیتال،فقط با یک سیم (برای ارتباط با این ایسی فقط نیاز به یک سیم نیاز می باشد)

آشنایی مختصر با ایسی حافظه EEprom At24c32


حافظه 32.768 بیتی که جمعا 4096 بایت می باشد (4 کیلو بایت)
1 میلیون بار قابلیت نوشتن و پاک کردن
نگه داری اطلاعات تا 100 سال
ولتاژ کاری در فرکانس 100 کیلو هرتز (1.8 و 2.5 و 2.7 ولت) و در فرکانس 400 کیلوهرتز(5 ولت)
رابط برقراری ارتباط I2C

اما قابلیت ها مهم پروژه نوشته شده:
1-نمایش تاریخ شمسی
2-تشخیص سال کبیسه(ایران)
3-افزایش 1 ساعت در اول فروردین و کاهش 1 ساعت در ماه مهر
4-نمایش دما(با دهم درصد)
5-ذخیر دما،بصورت 1 ساعتی یک بار (24 بار،در طول یک روز، و ذخیر در حافظه رم ds1307)
6-ذخیر دما،به صورت 1 روزی یک بار در ساعت 12 (ذخیر 30 روز پشت سر هم،و ذخیر در حافظه EEprom)
7-دکمه برای نمایش دما ،در 24 ساعت و 30 روز گذشته
8-هر 1 ساعت یک بار، دمایی 24 ساعت گذشته به صورت افکت (حرکت متن به سمت چپ) نمایش داده میشود
9-قابلیت تنظیم تاریخ ،زمان
کاهش 1 ساعته،در مهر ماه
افزایش 1 ساعت،در فروردین
افکت نمایش دما بصورت اتوماتیک،هر 1 ساعتی یک بار
تنظیم تاریخ و زمان
اما برنامه نویسی:

*لازم به ذکر دو تابع تبدیل تاریخ شمسی و ذخیر در حافظ eeprom رو به کمک کتاب میکروکنترولرهای avr تالبف جابر الوندی تهیه کردم .

در این پروژه مقدار دما هر 1 ساعتی یک بار در حافظه رم ساعت ، و مقدار دما در روز در حافظه ای ای پی رام خارجی ذخیره میشود.
توصیه می کنم بعد از مقداری دهی و تنظیم ساعت و تاریخ،دستگاه رو خاموش نکنید،وگرنه مقداری در تنظیم و ذخیر دما بهم ریختگی ایجاد میشود.پروژه در حال ازمایش می باشد،لطفا نقاط ضعف رو بفرمایید
نکته دیگه،باید تاریخ رو به میلادی واردی کنید(بعد خود نرم افزار به شمسی اون رو تبدیل می کنه)
بیشتر توضیحات مربوط به برنامه،در خط برنامه داده شده ... و در اینجا فقط تابع تاریخ رو به صورت جداگانه قرار میدم.

تابع تبدیل تاریخ شمسی:
کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


این یک آرایه دو بعدی که تابع تبدیل به اون مراجعه می کنه
کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 



اما کل کدهایی برنامه :
کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد شبیه ساز و کدها.[/I][/I][/I]
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

3 کاربر از این پست سپاسگزاري کرده اند

Colonel II

Colonel II



نماد کاربر
پست ها

6616

تشکر کرده: 1670 مرتبه
تشکر شده: 8151 مرتبه
تاريخ عضويت

سه شنبه 26 آذر 1387 16:20

آرشيو سپاس: 11653 مرتبه در 2024 پست

Re: ساعت +تقویم شمسی+دماسنج با ایسیDs1307وatmega8

توسط sinaset » سه شنبه 12 مرداد 1395 08:55

بنام خدا
باسلام


اصلاح کدها و کاهش حجم فایل فلش برنامه.

در اصطلاحه ی که انجام داده ایم،میزان استفاده از حافظه (که در گذشته در محدود 80 درصد بود) به 56 درصد کاهش یافت است .

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

کدهایی جدید:
کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.


 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 0 مهمان