ویژگی های ماژول ساعت دقیق PCF8563
ماژول ساعت دقیق PCF8563 دارای دقت بالا و مصرف توان پایین میباشد. به کمک این ماژول میتوان اطلاعات ثانیه، دقیقه، ساعت، روز، روز هفته، تاریخ، ماه، سال و قرن را به دقت نگهداری کرد. در این ماژول تاریخ بر اساس 29، 30 یا 31 بودن ماه و همچنین کبیسه بودن یا نبودن سال، تنظیم میشود. همچنین این ماژول را میتوان در دو فرمت 12ساعته و 24ساعته استفاده کرد.
معرفی پایه ها (Pinout) ماژول ساعت دقیق PCF8563
ماژول ساعت دقیق PCF8563 دارای 6 پایه به شرح زیر است:
- INT: خروجی وقفه
- COT: خروجی کلاک
- SCL: پایه برای پروتکل I2C
- SDA: پایه دیتا برای پروتکل I2C
- GND: زمین
- VCC: تغذیه ماژول – 5 ولت
پین اوت (Pinout) این ماژول را میتوانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول ساعت دقیق PCF8563
گام اول: سیم بندی
مطابق مدار زیر، ماژول را به آردوینو وصل کنید.
گام دوم: نصب کتابخانه
به Library manager رفته و کتابخانه Rtc_Pcf8563 را نصب کنید.
گام سوم: کد
کد زیر را روی برد آردوینو آپلود کنید. پس از آپلود کد، پنجره ی Serial Monitor را باز کنید.
/*
modified on Nov 16, 2020
Modified by MehranMaleki from Arduino Examples
Home<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="“Home” — Electropeak" src="https://electropeak.com/learn/embed/#?secret=7QRFtLZmGw" data-secret="7QRFtLZmGw" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
*/
#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)
سلام.وقت بخیر. ممنون از سایت خوبتون
میخواستم ببینم من اگه بخوام صدم ثانیه رو هم نمایش بده باید توی کد چه تغییراتی بدم؟
سلام وقت شما بخیر
ممنون از توجهتون
ببینید آی سی DS3231 نمیتونه زمان کمتر از 1 ثانیه رو اندازه گیری کنه، شما برای این کار میتونید از پایه خروجی ماژول که موج مربعی با فرکانس های مختلف تولید میکنه و capture کردن اون توسط وقفه آردینواستفاده کنی و زمان 10 میلی ثانیه رو بسازی
حالا برای این کار شما باید از طریق برد ، فرکانس موج مربعی خروجی ماژول رو ست کنی که طبق دیتا شیت فرکانس های مختلفی داره از 1 هرتز تا 1کیلوهرتز ، که شما اگر روی 1 کیلوهرتز ست کنی میتونی زمان با رزولوشن 1 میلی ثانیه تنظیم کنی
سلام من میخوام ساعت رو ذخیره کنم زمانی که برق دستگاه قطع میشه .یعنی با باطری کار کنه .
که این کار رو انجام نمیده و برق مدار رو که راه میندازم میبینم ساعت به حالت قبلش بر میگرده .دقیقا باید چه کار کنم؟
باسلام
ولتاژ باتری که بر روی ماژول قرار داده اید را اندازه گیری کنید.
امکان دارد باتری شارژ نداشته باشد.