میکروکنترلر AVR

ساعت با نمایش روزهای هفته و دما (عالی)

saat_digital1

من چند وقت پيش برنامه هايي كه قديم نوشته بودم را نگاه مي كردم كه با مشاهده اين مدار به فكر افتادم كه آن را براي ديگران و مخصوصاً مبتدي ها در اختيار بگذارم . در هر صورت تنظيم هاي مدار به صورت زير است :

تنظيم تايمر : كليد SET را فشار دهيد ، مشاهده مي شود كه ساعت تايمر شروع به چشمك زدن چشمك زدن مي كند . با كليد هاي + و – مي توانيد زمان را تنظيم كنيد . بعد از تنظيم ساعت كليد SET را فشار داده و اين بار دقيقه تايمر شروع به چشمك زدن مي كند ، بعد از تنظيم دقيقه تايمر با كليد هاي + و – ، كليد SET را براي برگشت به حالت عادي فشار دهيد .

نكته : ساعت را بصورت 24 ساعته تنظيم كنيد.

saat-digital

تنظيم زمان : كليد SET را براي 6 ثانيه نگه داريد ، مي بينيد كه ساعت شروع به چشمك زدن مي كند ، بعد از تنظيم ساعت با فشار كليد SET مي توانيد دقيقه را تنظيم و با فشار مجدد كليد SET مي توانيد ثانيه و به همين صورت سال ، ماه ، روز و هفته را با كليد هاي + و – تنظيم كنيد . با فشار مجدد كليد SET به حالت عادي بر مي گرديم .

نكته :

- ساعت را بصورت 24 ساعت يعني بين 0 تا 23 تنظيم كنيد . ( گزينه صبح و بعد از ظهر وجود ندارد .)

- در هنگام تنظيم ثانيه اگر كليد + را فشار دهيد و ثانيه فعلي بين 30 تا 59 ثانيه باشد يكي به دقيقه اضافه شده و بعد ثانيه صفر مي شود . اگركليد – را فشار دهيم و يا ثانيه فعلي بين 0 و 29 باشد و كليد + را فشار دهيم فقط ثانيه صفر ميشود .

- خروجي PORTD.4 به يك LED براي نمايش ثانيه متصل مي شود . LED با سرعت يك بار در ثانيه (5/0 ثانيه روشن و 5/0 ثانيه خاموش ) چشمك مي زند .

- در هنگام تنظيم روز اگر ماه بين 1 تا 6 ( 6ماهه اول سال ) باشد ، مي توانيد روز را بين 1 تا 31 تنظيم كنيد در غير اين صورت يعني اگر ماه بين 7 تا 12 ( 6 ماه دوم سال ) باشد ، روز را مي توانيد بين 1 تا 30 تنظيم كنيد . در ضمن اسفند نيز 30 روزه در نظر گرفته شده است .

- در هنگام تنظيم هفته SAT بمعني شنبه ، SUN بمعني يك شنبه و بهمين روال FRI بمعني جمعه است .

تنظيم ترموستات :

دو كليد + و- را فشار داده و براي 6 ثانيه هر دو را نگه داريد ، مشاهده مي شود كه ميزان ترموستات دماي بالا شروع به چشمك زدن مي كند . يعني اگر دما از اين حد بالاتر باشد خروجي PORTB.0 يك مي شود ، بعد تنظيم دماي بالا با فشار كليد SET مي توانيد دماي پايين را تنظيم كنيد ، در اين حالت اگر دما از اين ميزان كمتر باشد خروجي PORTB.2 يك مي شود ، با فشار مجدد كليد SET به حات عادي بر مي گرديم .

نكته :

- در كنار تنظيم دماي بالا علامت ↑ و براي تنظيم دماي پايين علامت ↓ نمايش داده مي شود.

- دما ورودي هر يك ثانيه تست و نمايش داده مي شود .

- اگر دماي فعلي بين دماي بالا و پايين باشد ، خروجي PORTB.1 يك مي شود . ( اگر دماي بالا و پايين را معكوس تنظيم كرده باشيد اين خروجي يك نمي شود و تمام خروجي هاي ترموستات صفر مي شود .)

- اين مدار قادر به اندازه گري دماي مثبت بين 0 تا 99 مي باشد . اگر دما از 99 درجه بالاتر باشد عبارت ERR نمايش داده مي شود .

- دقت اندازه گيري يك درجه است .

- تست دما براي ترموستات هر 30 ثانيه مي باشد . ( بدليل آنكه خروجي ها در آستانه دماي ترموستات شروع به چشمك زدن نكند .)

فعال كردن تايمر :

با فشار كليد  در هر كجاي برنامه كه باشيد مي توانيد تايمر را فعال و غيرفعال كنيد .

نكته :

- اگر مدار در حالت زنگ زدن و يا زمان SHORT SLEEP باشد ، زنگ غير فعال مي شود و خروجي هاي مربوطه هم صفر مي شوند .

- در هنگام فعال بودن تايمر خروجي  PORTB.3 يك شده و در وسط خط اول LCD نيز علامت زنگ نمايش داده مي شود .

- اگر مدار در حالت زنگ زدن باشد خروجي PORTD.7 يك شده و تا زماني كه كليد  را فشار ندهيم يك مي ماند . ( بعنوان مثال براي اتصال به كتري برقي و يا راديو . )

تنظيم زمان زنگ زدن :

اگر زمان ساعت مثل تايمر شود مدار به ترتيب زير شورع به زنگ زدن مي كند .

ابتدا به مدت T1 ثانيه بيزربا صداي ملايم شوروع به زنگ زدن مي كند . ( 25/0 ثانيه بيزر روشن و 75/0 ثانيه خاموش ) سپس به مدت T2 ثانيه مدار ساكت شده و هيچ صدايي ندارد و پس از آن به مدت T3 ثانيه با صداي معمولي بيزر شروع به زنگ زدن مي كند ، ( 5/0 ثانيه بيزر روشن و 5/0 ثانيه بيزر خاموش ) بعد از طي زمان T3 مدار به مدت T4 ثانيه ساكت شده و هيچ صدايي ندارد و سپس به اندازه T5 ثانيه با صداي طولاني تر ( 75/0 ثانيه بيزر روشن و 25/0 ثانيه بيزر خاموش ) بيزر شروع به زنگ زدن مي كند ، پس از طي اين مدت مدار ساكت شده و منتظر زمان بعدي تايمر مي ماند .

براي تنظيم زمان هاي T1 الي  T5 به بصورت زير عمل مي كنيم .

كليد  را براي مدت 7 ثانيه نگه داشته و مشاهده مي شود كه در مكان نمايش تايمر عبارت T1=01 نشان داده مي شود بعد از تنظيم اين زمان با كليد هاي + و – كليد SET فشار داده و زمان T2 و بهمين صورت زمان هاي T3 و T4 و T5 را تنظيم مي كنيم و كليد SET را براي برگشت به حات عادي فشار مي دهيم .

نكته:

- اگر در طي هر كدام از اين زمان ها ( T1 الي  T5) كليد  را فشار دهيم مدار ساكت مي شود و زمان ها غير فعال مي شوند و مدار ديگر هيچ صدايي ندارد .

- اين زمان ها بين 0 تا 15 دقيقه قابل تنظيم هستند .

- در زمان زمانهاي  T1 و  T3 و  T5 خروجي PORTD.6 يك مي شود .

- گر هر زماني را صفر در نظر بگيريم ، آن زمان اجرا نخواهد شد و اگر همه زمانها را صفر كنيم در لحظه تايمر فقط خروجي PORTD.7 يك خواهد شد .

خروجي هاي مدار :

Portd.4 برای نمايش ثانیه به یک LED متصل می شود .

Portd.5  خروجی تایمر جهت فعال سازی آلارم ( خروجی زنگ مداربراي بيزر ) همراه با قابلیت لجوج بودن

Portd.6  خروجی زنگ مدار به صورت ساده

Portd.7 خروجی تایمر که فقط با تایمر یک شده و صفر شدن آن به صورت دستی است . مثلا برای راه اندازی کتری برقی

Portb.0 برای دمای بالاتر از مقدار تعیین شده

Portb.1 برای دمای بین مقدار پایین و بالا از مقدار تعیین شده

Porb.2 برای دمای پایین تر از مقدار تعیین شده

Porb.3 برای نشان دادن فعال بودن تايمر

با اجراي فايل TEST.DSN با استفاده از نرم افزار پروتئوس 6.9 مي توانيد مدار را شبيه سازي كنيد ،فايل CRCUIT.DSN فقط نقشه مدار را نشان داده و هيچ كاري نمي كند .

تنها ايرادي كه در مدار ديدم اين است كه حجم برنامه بالا بوده و حدود 15 KB مي باشد و نمي توان آن را در ميكروهاي كوچكتر و ارزان تر برنامه ريزي كرد .

اميدوارم كه استفاده لازم را از اين مدار برده باشيد .

images 300x76 ربات تعقیب خط با AVR و Matlab
خوب(1)بد(1)
همچنین ممکن است بپسندید
نمایش ساعت فارسی بر روی تابلو روان
حذف نویز در میکروکنترلر AVR
۶ دیدگاه
  • آذر ۲۹,۱۳۹۴ در ۱۰:۵۴ ق.ظ

    با سلام ممنون از پروژه های عالیتون

    خوب(1)بد(0)
  • امین
    شهریور ۱۰,۱۳۹۴ در ۸:۱۴ ب.ظ

    سلام
    میشه این پروژه رو با تابلو روان دات ماتریس بزارین با کد ویژن..؟
    ممنون میشم

    خوب(1)بد(0)
    • admin
      آذر ۳,۱۳۹۴ در ۱:۴۷ ب.ظ

      با سلام، در آینده قرار داده می شود. با تشکر

      خوب(1)بد(0)
  • مصطفی
    آذر ۲۹,۱۳۹۳ در ۱:۲۸ ب.ظ

    سلام،من برنامه این پروژه رولازم دارم البته با کدویژن ،شما میتونید به من کمک کنید؟ خواهشا

    خوب(1)بد(0)
  • احمد
    بهمن ۲۴,۱۳۹۲ در ۵:۱۱ ب.ظ

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

    خوب(1)بد(0)
    • admin
      بهمن ۲۴,۱۳۹۲ در ۸:۰۲ ب.ظ

      لطفا به صفحه سفارش پروژه مراجعه نمایید....

      خوب(1)بد(0)

دیدگاه خود را بیان فرمائید

نام شما *
وبسایت شما *

دیدگاه شما *

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>