سرخط خبرها
خانه » avr » ساعت و دماسنج و کرنومتر با ATMEGA8

ساعت و دماسنج و کرنومتر با ATMEGA8

در این پروژه از ای سی Atmega8  و سنسور دمای lm35  استفاده شده که کرنومتر و ساعت و دما بر روی ال سی دی کارکتری ۱۶*۲ نمایش داده میشود و زبان برنامه نویسی بیسیک است و کامپایلر نرم افزار بسکام میباشد.

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

منظور از حالت آسنکرون این است که تایمر دو میکرو  کلاک خود را از کریستال ساعت در یافت میکند که فرکانس کریستال ساعت۳۲٫۷۶۸ کیلوهرتز است و به پایه های TOsc1  و Tosc2  متصل میشود که در میکرو ATMEGA8  پایه های ۹ و ۱۰ هستند.

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

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

زمانی که میکرو روشن شد ابتدا سه متغییر ساعت و دقیقه و ثانیه به صورت زیر مقدار دهی میشود.

و بر روی ال سی دی عبارت Hello  را نمایش می دهد و بعد از ۲ ثانیه وارد بخش اصلی برنامه می شود که این قسمت در یک do – loop  قرار دارد که در این بخش میکرو مدام مقدار دما را از سنسور دما lm35  که یک سنسور دمای متداول آنالوگ می باشد مقدار دما را میخواند و کلیدهای ورودی را چک میکند و مقدار ساعت و دقیقه و ثانیه را نمایش میدهد.

مقدار متغییر های ساعت هر یک ثانیه یک بار مقدار دهی جدید میشود یعنی به ثانیه یک عدد اضافه میگردد و اگر مقدار ثانیه بزرگتر ۵۹ شد مقدار ثانیه را صفر میکند و به دقیقه یک عدد اضافه میکند و همینطور مقدار دقیقه و ساعت محاسبه میگردد که تمامی این کارها در لیبل SEctic  اتفاق میافتد.

مقدار ساعت بر حسب ۲۴ ساعت نمایش داده میشود.

در این پروژه سه کلید برای تنظیمات و همچنین کرنومتر استفاده شده است که در زیر به ریز جزییات ان میپردازیم.

نام کلید ها عبارت است از

۱:Key set

۲:Key up

۳:Key down

ابتدا که میکرو روشن شد بعد از نمایش Hello بر روی خط اول ال سی دی زمان و در خط دوم دمای محیط نمایش داده میشود.

اگر در این حال کلید Key set  را فشار دهید  وارد قسمت تنظیمات ساعت میشود که روی ال سی مقدار ساعت را نشان میدهد و مقدار دقیقه و ثانیه به صورت* (ستاره ) نمایش داده میشود و بازدن کلید های Key up  و key down  مقدار ساعت را کم و زیاد میکنید.

حال اگر دوباره کلید Key set  را بزنید وارد قست تنظیم دقیقه می شود که در این حالت بر روی ال سی دی مقدار دقیقه نمایش داده میشود و مقدار ساعت و ثانیه به صورت  * (ستاره ) نمایش داده میشود که با زدن کلید های Key up  و key down  مقدار دقیقه کم و زیاد میشود.

بعد از تنظیم دقیقه کلید Key set  را فشار دهید  که مقدار جدید ساعت جایگزین مقدار قبلی میشود و  از قسمت تنظیمات خارج میشوید و میکرو دوباره به روال اصلی خود برمیگردد و بر روی ال سی دی مقدار ساعت و دما را نشان میدهد.

اما اگر در زمانی که میکرو دارد ساعت و دما را نشان میدهد به جای کلید Key set کلید Key up  را فشار دهید وارد قسمت کرنومتر (stop watch ) میشوید و بر روی ال سی مقدارزیر نمایش داده میشود.

دورقم صفر از سمت راست به چپ برای شمارش بر حسب میلی ثانیه

دو رقم صفر بعدی برای شمارش ثانیه

دورقم بعد بعدی برای شمارش دقیقه

دو رقم بعد برای شمارش ساعت میباشد.

برای ساخت کرنومتر از تایمر ۱ میکرو استفاده شده است که برای کانفیگ کردن تایمر یک در مد تایمر از دستور زیر استفاده شده است.

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

زمانی که در حالت کرنومتر هستید اگر کلید Key set  را فشار دهید کرنومتر شروع به کار میکند و بر روی ال سی مقادیر در حال شمارش نمایش داده میشود  و برای متوقف کردن کرنومتر باید کلید  key down  را فشار دهید که زمان شمارش داده شده تا ان موقع بر روی ال سی دی ثابت میشود.

برای خروج از حالت کرنومتر و نمایش دما و ساعت باید کلید key up  را بزنید.

برای اندازه گیری دما از سنسور lm35  استفاده شده است که خروجی ان ولتاژ انالوگ میباشد و نسبت به هر ۱درجه سانتی گراد  ، خروجی ان ۱۰ میلی ولت افزایش میابد که این ولتاژ توسط ADC  میکرو اندازه گیری میشود.

رفرنس ولتاژ ADC  میکرو ۵ ولت میباشد که طبق رابه روبرو  ۵۰۰۰mv / 1023 = 4.88mv   هر پله adc از ۱۰۲۳ پله به ازای ۴٫۸۸ میلی پر میشود.

یعنی اگر دما برابر ۱ درجه سانتیگراد باشد ولتاژ خروجی سنسور۱۰ میلی ولت است که به ورودی ADC شماره یک وصل شده است ۲ تا خانه از ADCرجیستر  پر میشود.

به همین دلیل برای نمایش مقدار واقعی دما باید مقدار خانه های پر شده در ADC  را بر عدد ۲ تقسیم کنید مثلا برای اندازه گیری دمای ۱ درجه باید مقدار adc  را که برابر ۲ است را بر ۲ تقسیم کنیم تا جواب بدست امده که۱ می باشد همان مقدار دمای اندازه گیری توسط سنسور است.

همانطور که گفته شد برای نمایش اطلاعات از ال سی دی کارکتری استفاده شده است که برای تنظیم کنتراست از یک پتانسیومتر ۱۰ کیلو استفاده شده که با چرخاندن ان میزان روشنایی  کارکترهای روی ال سی دی تغییر میکند.

نکته مهم : در برنامه فرکانس میکرو ۴ مگاهرتز تعیین شده است که باید در فیوز بیت مقدار فرکانس را بر روی ۴ مگ باید تنظیم نمایید و همچنین فیوز بیت CKOP را نیز فعال کنید .

توجه : مقدار فرکانس میکرو را به غیر از ۴ مگ تنظیم نکنید چون تایمر یک بر طبق فرکانس ۴ مگ نوشته شده و تنظیم شده است.

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

دانلود “سورس بیسیک - نقشه شماتیک” temp-clock-stopwatch.zip – Downloaded 9032 times – 91 KB

پیروز و استوار باشید

یاعلی

همچنین ببینید

اندازه گیری دما با سنسور pt100

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

۲۳ دیدگاه

  1. سلام
    با پروگرمری که معرفی کردید میشه مگا ۸ و مگا ۱۶ و مگا ۳۲ و غیره رو پروگرم کرد؟؟

  2. سلام بر مهندسان عزیز :

    بابا انشتین اگه بود و سایت داشت ؛ به خدا حداقل وقتش رو طوری تنظیم میکرد که به سایتش هم سر بزنه . شما دیگه پاک سایتدون رو یادتون رفته ظاهرا !!!!

    بیان به خدا پوسیدیدم از بس اومدیم و مطلب جدید ندیدیم !!!

    منظورم ساعته که قولش رو دادین ؟؟؟

    مرد و حرفش !! یادتون نره یه موقع .

    ممنون . باز سر میزنم .
    مرC

  3. سلام یه سوال داشتم در مورد این پروگرمر اس تی کا ۲۰۰ / ۳۰۰

    میشه بگید با این پروگرم میشه چه آی سی هایی رو پروگرم کرد؟؟

    استاد ما یه نقشه داده با همین نام که یه آی سی بافر و دوتا مقاومت و ال ای دی داره که فقط باش میشه ای تی مگا ۳۲ رو پروگرم کرد

    میخواستم ببینم میشه با پروگرمر شما ای تی مگا ۸ یا ۱۶ رو پروگرم کرد؟؟ خوتون تست کردید؟؟ جواب داده؟؟

    یه سوال دیگه که یکی از دوستام یه پروگرمر ساخته بود با چندتا مقاومت و خازن عدسی اون شش تا سیم داشت.Vcc هم داشت مال شما نداره
    توی بسکام روی Sample electronic تنظیم میکرد و پروگر میکرد. اگه اطلاعاتی دارید توضیح بدید ممنون میشم.

    لطفا راهنمایی کنید تشکر از سایتتون

  4. سلام :

    کجان پس این مدیران سایت ؟؟؟
    چرا جواب نظرات ما رو نمیدن ؟
    بابا از بس اومدیم و تغییرات ندیدیم خسته شدیم .
    خداوکیلی یک مدار ساعت بدرد بخور با سون سگمنت بزرگ بگذارید .
    اگه این درخاست رو برآورده کردید نشون میدید مهندس واقعی این مملکت در زمینه الکترونیک هستید و هدفتون خیره …

    خدائیش ما رو ما رو درک کنید …..
    دیگه چطور خواهش کنم ؟؟

    یاعلی
    🙁
    🙁

  5. سلام-نظر من هم دقیقا نظر اقا مهدی است.(راستش یه انتقاد دارم : چرا همش ساعتهای ارائه شده باید به صورت ال سی دی باشن ؟

    چرا یک ساعت با سون سگمنت سایز بزرگ نمیگذارید که حداقل بشه به دیوار اتاق ؛ برای مسجد و … استفاده کرد .

    خواهش میکنم در این زمینه مدار بدرد بخوری قرار بدین . . )

  6. سلام :
    سایت پر محتوایی دارید .

    راستش یه انتقاد دارم : چرا همش ساعتهای ارائه شده باید به صورت ال سی دی باشن ؟

    چرا یک ساعت با سون سگمنت سایز بزرگ نمیگذارید که حداقل بشه به دیوار اتاق ؛ برای مسجد و … استفاده کرد .

    خواهش میکنم در این زمینه مدار بدرد بخوری قرار بدین . .

    لطف میکنید
    یاعلی

  7. سلام من میخواستم که یه کرتومتر طراحی کنم که به جای کلید از سنسور IR استفاده کنم می تونید کمکم کنید؟

  8. دوباره سلام .ببخشید میشه یه تایمر با ds1307 بزارید که دو زمانو ذریافت کنه یکی برای زمان روشن بودن ودیگری برای خاموش بودن .زمان خاموش بودن تاچند ساعت اما زمان روشن بودن در حد چند ثانیه. البته با ال سی دی وکی بورد۴*۴ اگر ساعت و تاریخ هم داشته باشه که دیگه عالی میشه ممنون میشم که کمکم کنید

  9. سلام .یه سوال داشتم آیا می شود دو پایه ای که کریستال تایمر ۲ به آنها مصب می شود به دو پایه دیگر تغییر داد

پاسخ دهید