وحدتا ساعة الوقت الحقيقي RTC: DS1307 وDS3231 مع الأردوينو

رسم هندسي توضيحي: وحدتا ساعة الوقت الحقيقي RTC: DS1307 وDS3231 مع الأردوينو

يفتقر الأردوينو بطبيعته إلى القدرة على معرفة الوقت والتاريخ الفعليين، فهو يبدأ العد من الصفر في كل مرة يعاد فيها تشغيله. لحل هذه المشكلة تُستخدم وحدة ساعة زمنية حقيقية (RTC) مثل DS1307 التي تحافظ على الوقت الصحيح باستمرار بفضل بطارية احتياطية صغيرة مدمجة تبقيها تعمل حتى عند فصل التغذية الرئيسية.

المكونات المطلوبة

لوحة أردوينو أونو، وحدة ساعة زمنية DS1307 (أو ما يعادلها من وحدات هذه العائلة)، وأسلاك توصيل.

طريقة التوصيل

تتواصل وحدة DS1307 مع الأردوينو عبر بروتوكول I2C الذي يحتاج سلكي بيانات فقط: يتصل طرف SCL بالمنفذ التناظري A5، وطرف SDA بالمنفذ التناظري A4، بالإضافة إلى طرفي التغذية 5 فولت والأرضي.

مبدأ العمل

تعتمد البرمجة على مكتبة Wire لإدارة الاتصال عبر بروتوكول I2C، حيث تتولى دوال مخصصة في الكود تحويل الأرقام العشرية العادية إلى صيغة BCD (الترميز الثنائي العشري) التي تتطلبها الوحدة داخليًا للتعامل مع الوقت والتاريخ. يُضبط الوقت مرة واحدة عند الإعداد الأولي (Setup)، وبعدها تستمر الوحدة في تتبعه بشكل مستقل بفضل بطاريتها الاحتياطية، بينما تكتفي حلقة الكود الرئيسية بقراءة الوقت والتاريخ الحاليين من الوحدة وعرضهما دوريًا كل ثانية على شاشة المراقبة التسلسلية.

لماذا لا يكفي الأردوينو وحده؟

يمكن للأردوينو حساب الوقت المنقضي منذ التشغيل عبر millis()، لكن هذا العداد يعود إلى الصفر عند كل إعادة تشغيل أو انقطاع للتغذية، ولا يعرف التاريخ أو الوقت الفعلي إطلاقًا. لذلك تُعد وحدة RTC ضرورية في أي مشروع يحتاج طابعًا زمنيًا دقيقًا يبقى صحيحًا عبر دورات التشغيل المتكررة، كأنظمة تسجيل البيانات وجداول الري المبرمجة.

يمكنك إيجاد وحدات RTC ضمن متجر Juthour Tech.

Leave your comment

*
*
Only registered users can leave comments.