پروژه ساعت، تقویم و دماسنج دیجیتال پیشرفته با سون سگمنت به زبان سی C با کدویژن CodeVision AVR

ساعت دقیق به همراه آی سی RTC به شماره DS1307، تقویم میلادی و شمسی، دماسنج با سنسور DS18B20 با بازه دمایی منفی 55 الی 125 و دقت 0.1 سانتی گراد، نمایش بر روی نمایشگر هفت قسمتی سون سگمنت همراه با قابلیت نمایش روان

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

شرح مدار

در این مدار از میکروکنترلر ATMEGA32 از خانواده میکروکنترلرهای AVR استفاده شده است. نمایش ساعت، تاریخ، دما و … بر روی شش عدد سون سگمنت صورت می گیرد. از سه عدد کلید فشاری جهت تنظیم ساعت و تاریخ تشکیل شده است. یک عدد کلید فشاری نیز جهت تغییر حالت نمایش ساعت است. حالت کلاسیک به صورت {نمایش زمان – نمایش تاریخ شمسی) و حالت مدرن به صورت {نمایش زمان – نمایش تاریخ شمسی به صورت روان – نمایش تاریخ میلادی به صورت روان – نمایش دمای محیط – نمایش روز هفته} می باشد. در بخش هایی از این پروژه، جهت نمایش اعداد طولانی، از قابلیتی مشابه تابلو روان استفاده گردیده است؛ بدین صورت که یک عبارت طولانی مانند تاریخ میلادی 08-05-2019 که شامل بیش از 6 کاراکتر است، به صورت روان بر روی نمایشگر ظاهر می شود. دمای محیط با استفاده از سنسور DS18B20 در بازه دمایی 55- الی 125 و با دقت 0.1 درجه سانتی گراد، اندازه گیری می شود. به دلیل وجود محدودیت در نمایش حروف بر روی سون سگمنت، سعی شده است نمایش روز هفته با عبارات معادل نمایش داده شود.

در عمل، از سون سگمنت های سایز بزرگ استفاده شده است. لازم به ذکر است ولتاژ کاری این نوع سون سگمنت ها 7.5 ولت است. لذا نمی توان آن ها را به طور مستقیم به خروجی پایه های میکروکنترلر متصل کرد؛ بایستی آن ها را توسط مدار ترانزیستوری زیر درایو نمود:

مدار درایور سون سگمنت آند مشترک بزرگ

تنظیم مدار

کلید Menu را فشرده و منتظر بمانید تا ساعت یکبار تمامی موارد را نمایش دهد؛ پس از آن مشاهده خواهید کرد که دو عدد سون سگمنت سمت چپ شروع به چشمک زدن می کنند. اولین مقدار قابل تنظیم، صدگان و هزارگان (سده) سال میلادی است که شما می توانید آن را توسط دکمه های Up و Down تنظیم کنید. برای رفتن به مرحله بعد (تنظیم یکان و دهگان سال میلادی)، کافیست دوباره دکمه Menu را بفشارید. مراحل را برای ماه و روز میلادی، ساعت، دقیقه، ثانیه و روز هفته تکرار کنید. با فشردن دوباره دکمه Menu، تنظیمات در حافظه آی سی DS1307 ذخیره خواهد شد. توجه داشته باشید که نیازی به تنظیم تاریخ شمسی نمی باشد و به طور اتوماتیک این تاریخ محاسبه شده و نمایش داده می شود.

خصوصیات مدار

این مدار از خصوصیات و امکانات متنوعی برخوردار است که در زیر به این موارد اشاره شده است:

  • نمایش ساعت به صورت 24 ساعته و به همراه ثانیه شمار
  • نمایش تاریخ به صورت میلادی و شمسی به صورت روان و ثابت
  • نمایش دمای محیط از 55- الی 125 درجه سانتی گراد با دقت 0.1 درجه
  • نمایش روز هفته
  • تغییر حالت های نمایش
  • دقت بسیار بالا
  • عدم پاک شدن تنظیمات ساعت به هنگام برق رفتگی

شماتیک مدار

برای مشاهده شماتیک به صورت PDF بر روی تصویر کلیک کنید.

کلیپ کارکرد مدار

 

بخش دانلود

بخش دانلودتوضیحات

شامل موارد زیر:

  • فایل شبیه سازی Proteus 8.8
  • سورس کد کامل برنامه به زبان سی (کدویژن CodeVision)
  • کد هگز مخصوص پروگرام کردن میکروکنترلر

توجهات:

  • برای تهیه این پروژه زحمت فراوانی کشیده شده است؛ لذا، کپی برداری ممنوع می باشد.
  • این پروژه جنبه تجاری ندارد.

اشتراک در
اطلاع از
guest
14 دیدگاه
تازه‌ترین
قدیمی‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
Ng Gh
Ng Gh(@google_nggh)
عضو
دوشنبه، ۲۶ تیر ۱۴۰۲ ۱۷:۱۸:۳۲
امتیاز :
     

برنامه زبان c شو رو میخام باید بخرم؟

Ng Gh
Ng Gh(@google_nggh)
عضو
یکشنبه، ۱۸ تیر ۱۴۰۲ ۰۸:۳۶:۲۵
امتیاز :
     

سلام من هرچی دانلود میکنم برام باز نمیکنه چیکار کنم باید بخرمش؟؟

علی
علی
میهمان
پنجشنبه، ۳۱ فروردین ۱۴۰۲ ۱۶:۵۷:۴۸
امتیاز :
     

سلام سپاس از زحمات شما مدیر محترم ممنون از پروژه های عالی من ساعت بازبان سی را درست کردم عالی است فقط تقویم سریع رد میکنه سوری برنامه در دسترس نیست که بتوان تغییر داد تشکر

mostafa.abed
mostafa.abed(@mostafa-abed)
عضو
پنجشنبه، ۱۶ تیر ۱۴۰۱ ۰۷:۲۱:۵۷
امتیاز :
     

سپاس از حسن توجه شما..و ممنون بابت راهنمایی هاتون♡♡

mostafa.abed
mostafa.abed(@mostafa-abed)
عضو
چهارشنبه، ۱۵ تیر ۱۴۰۱ ۱۹:۳۹:۵۸
امتیاز :
     

با سلام مجدد و عرض خسته نباشید.بنده توی محیط کدویژن آی سی رو پروگرام کردم و فیوز بیت هارو برای ۸مگا تنظیم کردم.مدارم چک‌کردم .اوکیه.اما روی سون سگمنت ها اعداد ناقصه و واضح نمایش نمیده.با ۳ تا آی سی متفاوت این کارو انجام دادم..سون سگمنت ها هم اوکیه

mostafa.abed
mostafa.abed(@mostafa-abed)
عضو
سه شنبه، ۱۴ تیر ۱۴۰۱ ۲۲:۴۷:۱۷
امتیاز :
     

با سلام .من فایل رو دانلود کردم و بعد پروگارم اجرا کردم.جواب نداد.همه چی رو هم چک کردم .اوکیه

mohsen
mohsen(@mohsen1)
عضو
سه شنبه، ۱۷ فروردین ۱۴۰۰ ۲۲:۰۵:۲۶
امتیاز :
     

سلام خسته نباشید
من برنامه رو خودم نوشتم و زمانی که می خوام ساعت و دقیقه و ثانیه رو از ds1307 بگیرم باید حتما از متغییر char استفاده کنم ولی بعداً نمی تونم این متغییر رو مقایسه کنم یا روی اون تقسیم انجام بدم تا بتونم روی سون سگمنت نشونش بدم(مثلا اگه مقدار ساعت ۱۵ باشه باید بتونم دوتا رقمش رو جدا کنم تا بتونم اونو روی سون سگمنت نشون بدم )
چجوری این مشکل رو حل کنم؟

siavashina
siavashina(@siavashina)
عضو
چهارشنبه، ۲۷ آذر ۱۳۹۸ ۱۵:۵۶:۵۰
امتیاز :
     

جرا موقع اجرا یه سری از سگمنت ها پرنور تر هستند؟!

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

0
افکار شما را دوست داریم، لطفا نظر دهید.x
()
x