خانه / پروژه / ساخت ساعت دقیق با سیستم هشدار دهنده و نمایش دما با آردوینو و DS3231

ساخت ساعت دقیق با سیستم هشدار دهنده و نمایش دما با آردوینو و DS3231

به نام خدا

ساخت ساعت دقیق با سیستم هشدار دهنده و نمایش دما با آردوینو و DS3231

 

ساخت-ساعت دقیق-بهمراه-آلارم-و نمایشگر-دما با-آردوینو-و-ماژول-DS3231

 

در این آموزش قصد داریم ساعت دقیقی بهمراه دو آلارم و نمایشگر دما بوسیله ماژول DS3231 و آردینو بسازیم. DS3231 ماژول ساعت زمان واقعی است(RTC)  که قابل برنامه ریزی ۲ زمان مختلف برای تنظیم آلارم و دماسنج است. دماسنج این ماژول با وضوح ۰٫۲۵ و دقت ۳ ± درجه است.

 

ساخت ساعت دقیق با سیستم هشدار دهنده و نمایش دما با آردوینو و DS3231:

  • برد آردینو
  • ماژول DS3231
  • lcd 20*4
  • ۳ عدد میکروسوئیچ
  • LED
  • پتانسیومتر ۱۰ کیلو اهم
  • ۲ عدد مقاومت ۳۳۰ اهم
  • باطری سکه ای ۳ ولت
  • برد بورد
  • سیم برد بورد

شماتیک مدار:

شماتیک مدار مانند شکل زیر است.

ساخت-ساعت دقیق-بهمراه-آلارم-و نمایشگر-دما با-آردوینو-و-ماژول-DS3231

 

ماژول DS3231 دارای چیپ DS3231 ، دو مقاومت پول آپ (۴٫۷K) در پایه های SCL, SDA ، پایهINT/SQW (وقفه آلارم) و جا باتری سکه ای می باشد. همچنین شامل ۲۴C32 EEPROM و مقاومت های دیگری می باشد که در این پروژه کاربردی ندارد.

ماژول DS3231 و led 20*4 هر دو با ۵ ولت و از آردینو تغذیه می شوند. سه پایه SCL , SDA و INT/SQW پایه های دیتا هستند و به ترتیب به پین آنالوگ ۴ و ۵ و پین دیجیتال ۲ که پین وقفه خارجی آردوینو می باشد متصل می شود. هنگامی که آلارم اتفاق می افتد یک وقفه توسط ماژول DS3231 به آردینو فرستاده می شود. در این مدار از سه میکروسوئیچ برای تنظیم ساعت ، زمان و آلارم استفاده شده.میکروسوئچ B1 برای انتخاب بین زمان و تقویم است (زمان شامل:ساعت و دقیقه و تقویم شامل: روز ، ماه و سال می باشد.) و B3 برای انتخاب پارامترهای آلارم(ساعت ، دقیقه و روشن یا خاموش بودن) و B2 برای افزایش این مقادیر است.

علاوه بر این LED متصل به پین ۱۲ آردینو برای نمایش اتفاق افتادن آلارم است. هر وقت آلارم صورت گیرد پایه وقفه (INT) فعال شده و LED روشن می شود در این زمان با میکروسوئیچ B2 می توان چراغ و آلارم را خاموش کرد.

کدهای آردوینو:

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

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

توابع برنامه:

() void DS3231_read :

این تابع زمان وتقویم را از ماژول DS3231 می خواند.(ثانیه،دقیقه،ساعت،روز،ماه و سال)

() void DS3231_display :

این تابع زمان وتقویم را که به صورت ده دهی است روی LCD نشان می دهد. این تابع برای نمایش دادن تقویم تابع () void calendar_display را فراخوانی می کند.

()void alarms_read_display:

این تابع ساعت و دقیقه آلارم را می خواند علاوه بر این ریجستر کنترل ، وضعیت و دما را از ماژول می خواند.

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

(byte edit(byte x, byte y, byte parameter :

این تابع برای تنظیم زمان ، تقویم و آلارم است البته با این تابع نمی توان روز را تنظیم کرد. متغییری به نام i برای مشخص کردن این که کدام پارامتر در حال تغییر است تعریف شده است.

i = 0 , 1 : به ترتیب از راست به چپ برای دقیقه وساعت

۴, i = 2 , 3 : به ترتیب از راست به چپ برای سال ، ماه و روز

i = 5 , 6 : به ترتیب از راست به چپ برای دقیقه وساعت آلارم

i = 7 : برای خاموش یا روشن بودن آلارم

توضیحات:

آردوینو وقتی led را روشن می کند که توسط ماژول DS3231 وقفه اتفاق بیفتد و سیگنال وقفه ماژول DS3231 تنها وقتی آلارم اتفاق بیفتد به آردوینو فرستاده می شود. میکروسوئیچ B2 آلارم را ریست یا غیر فعال میکند. اگر هر دو آلارم فعال باشند میکروسوئیچ B2 فقط آلارمی را غیر فعال میکند که هم اکنون فعال شده و دیگری به حالت قبلی اش می ماند. برای اینکه متوجه شویم کدام آلارم هم اکنون رخ داده است باید به مقادیر ریجستر وضعیت ماژول DS3231 سرکشی کنیم (بیت های A1IF  و A2IF). خاموش و روشن کردن آلارم ها هم با استفاده از ریجستر کنترل ماژول صورت می گیرد(بیت های INTCN, A1IE و A2IE). بیت INTCN همیشه باید ۱ باشد. برای خاموش کردن آلارم  و ۱ کردن بیت INTCN از کد زیر استفاده می شود.

alarm2_status و alarm1_status بولین هستند (۰ یا ۱). اگر هر کدام از این مقادیر ۱ شوند آلارم مربوط به آنها روشن و در صورت ۰  شدن شان آلارم خاموش است.

دانلود کد های پروژه ساخت ساعت دقیق با سیستم هشدار دهنده و نمایش دما با آردوینو و DS3231:

دانلود فایل 

بیشتر بخوانید...  موقعیت یابی یک ماشین با Google Map به وسیله آردینو، ESP8266 و GPS

 

درباره‌ی mjavad

همچنین بخوانید...

پروژه کنترل چراغ های LED با فرمان صوتی گوشی هوشمند و رزبری پای

به نام خدا پروژه کنترل چراغ های LED با فرمان صوتی گوشی هوشمند و رزبری …

پروژه ی سیستم نظارت بر پایه RFID با رزبری پای

به نام خدا پروژه ی سیستم نظارت بر پایه RFID با رزبری پای   در …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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