آموزش راه اندازی ماژول ساعت دقیق PCF8563 با آردوینو

فهرست مطالب

ویژگی های ماژول ساعت دقیق PCF8563

ماژول ساعت دقیق PCF8563 دارای دقت بالا و مصرف توان پایین می‌­باشد. به کمک این ماژول می‌­توان اطلاعات ثانیه، دقیقه، ساعت، روز، روز هفته، تاریخ، ماه، سال و قرن را به دقت نگهداری کرد. در این ماژول تاریخ بر اساس 29، 30 یا 31 بودن ماه و همچنین کبیسه بودن یا نبودن سال، تنظیم می‌­شود. همچنین این ماژول را می‌­توان در دو فرمت 12ساعته و 24ساعته استفاده کرد.

معرفی پایه ها (Pinout) ماژول ساعت دقیق PCF8563

ماژول ساعت دقیق PCF8563 دارای 6 پایه به شرح زیر است:

  • INT: خروجی وقفه
  • COT: خروجی کلاک
  • SCL: پایه برای پروتکل I2C
  • SDA: پایه دیتا برای پروتکل I2C
  • GND: زمین
  • VCC: تغذیه ماژول – 5 ولت

پین اوت (Pinout) این ماژول را می‌توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول ساعت دقیق PCF8563 × 1
سیم جامپر × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی ماژول ساعت دقیق PCF8563

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

به Library manager رفته و کتابخانه Rtc_Pcf8563 را نصب کنید.

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

توجه

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید. پس از آپلود کد، پنجره ی Serial Monitor را باز کنید.

 /*  
modified on Nov 16, 2020
Modified by MehranMaleki from Arduino Examples
Home
*/ #include <Wire.h> #include <Rtc_Pcf8563.h> //init the real-time clock Rtc_Pcf8563 rtc; void setup() { Serial.begin(9600); Wire.begin(); //clear out all the registers rtc.initClock(); //set a time to start with. //day, weekday, month, century, year rtc.setDate(16, 3, 11, 20, 20); //hr, min, sec rtc.setTime(11, 0, 0); } void loop() { Serial.print("Time:"); //Serial.print(rtc.formatTime(RTCC_TIME_HM)); Serial.print(rtc.formatTime()); Serial.print("\t Date:"); //Serial.println(rtc.formatDate(RTCC_DATE_ASIA)); Serial.println(rtc.formatDate()); delay(1000); }

در کد بالا، در ابتدا روز، روز هفته، ماه، قرن و سال و پس از آن ساعت، دقیقه و ثانیه به عنوان نقطه شروع به ماژول داده می­‌شود. سپس ماژول شروع به کار کرده و هر ثانیه آپدیت می­‌شود. در ادامه در هر ثانیه اطلاعات را از ماژول گرفته شده و در پنجره­ Serial Monitor نمایش داده می‌­شود.

خروجی کد به شکل زیر است.

آموزش های مشابه

Comments (4)

  • علیرضا Reply

    سلام.وقت بخیر. ممنون از سایت خوبتون
    میخواستم ببینم من اگه بخوام صدم ثانیه رو هم نمایش بده باید توی کد چه تغییراتی بدم؟

    ژانویه 4, 2023 at 11:03 ب.ظ
    • علی عبدالملکی Reply

      سلام وقت شما بخیر
      ممنون از توجهتون
      ببینید آی سی DS3231 نمیتونه زمان کمتر از 1 ثانیه رو اندازه گیری کنه، شما برای این کار میتونید از پایه خروجی ماژول که موج مربعی با فرکانس های مختلف تولید میکنه و capture کردن اون توسط وقفه آردینواستفاده کنی و زمان 10 میلی ثانیه رو بسازی
      حالا برای این کار شما باید از طریق برد ، فرکانس موج مربعی خروجی ماژول رو ست کنی که طبق دیتا شیت فرکانس های مختلفی داره از 1 هرتز تا 1کیلوهرتز ، که شما اگر روی 1 کیلوهرتز ست کنی میتونی زمان با رزولوشن 1 میلی ثانیه تنظیم کنی

      فوریه 27, 2023 at 4:44 ب.ظ
  • علی مهرابی Reply

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

    ژوئن 18, 2023 at 1:43 ب.ظ
    • محمد دمیرچی Reply

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

      ژوئن 19, 2023 at 10:23 ق.ظ

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

نشانی ایمیل شما منتشر نخواهد شد.