1. مقدمة المنتج
DS1307 عبارة عن وحدة ساعة توقيتية (RTC) شائعة الاستخدام تدمج وظائف الساعة والتقويم وتوفر معلومات دقيقة عن الوقت والتاريخ. غالبًا ما يتم استخدامها مع وحدة تحكم للحصول على طابع زمني دقيق أو تنفيذ مهام محددة بوقت عندما لا يكون هناك اتصال بالشبكة.
تستخدم وحدة DS1307 ناقل I2C للاتصال ويمكن توصيلها بناقل I2C الخاص بالميكروكنترولر. وهي تحتوي على بلورة ساعة في الوقت الفعلي بتردد 32 كيلوهرتز لتوفير مرجع زمني عالي الدقة. كما تحتوي الوحدة على واجهة طاقة احتياطية للبطارية للحفاظ على استقرار بيانات الوقت عند فصل الطاقة الرئيسية. تخزن وحدة DS1307 معلومات السنة والشهر والتاريخ والساعة والدقيقة والثانية، والتي يمكن ضبطها والحصول عليها من خلال قراءة وكتابة السجلات.
مرجع التطبيق: الساعات الإلكترونية، والمؤقتات، ومفاتيح التوقيت، ومراقبة درجة الحرارة وغيرها من السيناريوهات التي تحتاج إلى تحقيق وقت دقيق.
2. مواصفات المعلمة
معامل | القيمة//الوصف |
---|---|
الجهد التشغيل | 5V |
درجة حرارة التشغيل | -40 ° C ~ + 85 ° C |
سعة التخزين | 56Byte |
تردد على مدار الساعة | 32.768KHz |
وضع الاتصال | لجنة التحقيق المستقلة |
المقاس | 4.72cm * 2.38cm |
3. مخطط الأسلاك

شرطة التدخل السريع استشعار الحركة | ONE |
---|---|
VCC | 5V |
GND | GND |
SCL | SCL |
SDA | SDA |
4. رمز العينة
1//www.acebott.com
2#include <RtcDS1307.h> // Includes RtcDS1307 library
3#include <Wire.h> // Includes Wire library for I2C communication
4volatile int year;
5volatile int month;
6volatile int day;
7volatile int hour;
8volatile int minute;
9volatile int second;
10RtcDS1307<TwoWire> Rtc(Wire);
11 // Create RtcDS1307 object for I2C communication using Wire library
12void setup(){
13 year = 0;
14 month = 0;
15 day = 0;
16 hour = 0;
17 minute = 0;
18 second = 0;
19 Rtc.Begin(); // Initialize RtcDS1307
20 Rtc.SetIsRunning(true); // Start the DS1307 real-time clock
21 Rtc.SetDateTime(RtcDateTime(__DATE__, __TIME__)); // Set the date and time of the DS1307 to the date and time at compile time
22 Serial.begin(9600); // Initialize serial communications
23}
24
25void loop(){
26 // Get the current date and time from the DS1307 real-time clock
27 year = Rtc.GetDateTime().Year();
28 month = Rtc.GetDateTime().Month();
29 day = Rtc.GetDateTime().Day();
30 hour = Rtc.GetDateTime().Hour();
31 minute = Rtc.GetDateTime().Minute();
32 second = Rtc.GetDateTime().Second();
33 // Print date and time to serial port
34 Serial.println(String(String(year) + String("Year")) + String(String(String(month) + String("Month")) + String(String(day) + String("Day"))));
35 Serial.println(String(String(hour) + String(":")) + String(String(String(minute) + String(":")) + String(second)));
36 delay(1000); // 1 second delay to control output frequency
37
38}
5. نتيجة الاختبار
بعد تحميل الكود إلى لوحة التحكم، افتح مراقب المنفذ التسلسلي لـ Arduino IDE واضبط معدل الباود على 9600.
سوف يقوم المنفذ التسلسلي بطباعة الوقت الحالي.


6. الموارد ذات الصلة
7.احصل على واحدة الآن
أعمال B2B: معلومات@acebott.com