المنتج مقدمة #
DS1307 عبارة عن وحدة ساعة توقيتية (RTC) شائعة الاستخدام تدمج وظائف الساعة والتقويم وتوفر معلومات دقيقة عن الوقت والتاريخ. غالبًا ما يتم استخدامها مع وحدة تحكم للحصول على طابع زمني دقيق أو تنفيذ مهام محددة بوقت عندما لا يكون هناك اتصال بالشبكة.
تستخدم وحدة DS1307 ناقل I2C للاتصال ويمكن توصيلها بناقل I2C الخاص بالميكروكنترولر. وهي تحتوي على بلورة ساعة في الوقت الفعلي بتردد 32 كيلوهرتز لتوفير مرجع زمني عالي الدقة. كما تحتوي الوحدة على واجهة طاقة احتياطية للبطارية للحفاظ على استقرار بيانات الوقت عند فصل الطاقة الرئيسية. تخزن وحدة DS1307 معلومات السنة والشهر والتاريخ والساعة والدقيقة والثانية، والتي يمكن ضبطها والحصول عليها من خلال قراءة وكتابة السجلات.
مرجع التطبيق: الساعات الإلكترونية، والمؤقتات، ومفاتيح التوقيت، ومراقبة درجة الحرارة وغيرها من السيناريوهات التي تحتاج إلى تحقيق وقت دقيق.
مواصفات المعلمة #
معامل | القيمة//الوصف |
---|---|
الجهد التشغيل | 5V |
درجة حرارة التشغيل | -40 ° C ~ + 85 ° C |
سعة التخزين | 56Byte |
تردد على مدار الساعة | 32.768KHz |
وضع الاتصال | لجنة التحقيق المستقلة |
المقاس | 4.72cm * 2.38cm |
مخطط الأسلاك #
شرطة التدخل السريع استشعار الحركة | ONE |
---|---|
VCC | 5V |
GND | GND |
SCL | SCL |
SDA | SDA |
كود عينة #
//www.acebott.com
#include // Includes RtcDS1307 library
#include // Includes Wire library for I2C communication
volatile int year;
volatile int month;
volatile int day;
volatile int hour;
volatile int minute;
volatile int second;
RtcDS1307 Rtc(Wire);
// Create RtcDS1307 object for I2C communication using Wire library
void setup(){
year = 0;
month = 0;
day = 0;
hour = 0;
minute = 0;
second = 0;
Rtc.Begin(); // Initialize RtcDS1307
Rtc.SetIsRunning(true); // Start the DS1307 real-time clock
Rtc.SetDateTime(RtcDateTime(__DATE__, __TIME__)); // Set the date and time of the DS1307 to the date and time at compile time
Serial.begin(9600); // Initialize serial communications
}
void loop(){
// Get the current date and time from the DS1307 real-time clock
year = Rtc.GetDateTime().Year();
month = Rtc.GetDateTime().Month();
day = Rtc.GetDateTime().Day();
hour = Rtc.GetDateTime().Hour();
minute = Rtc.GetDateTime().Minute();
second = Rtc.GetDateTime().Second();
// Print date and time to serial port
Serial.println(String(String(year) + String("Year")) + String(String(String(month) + String("Month")) + String(String(day) + String("Day"))));
Serial.println(String(String(hour) + String(":")) + String(String(String(minute) + String(":")) + String(second)));
delay(1000); // 1 second delay to control output frequency
}
نتيجة الاختبار #
بعد تحميل الكود إلى لوحة التحكم، افتح مراقب المنفذ التسلسلي لـ Arduino IDE واضبط معدل الباود على 9600.
سوف يقوم المنفذ التسلسلي بطباعة الوقت الحالي.
الموارد ذات الصلة #
احصل على واحدة الآن #
أعمال B2B: معلومات@acebott.com