
يحوّل اقتران وحدة الساعة الفعلية DS1307 بشاشة OLED صغيرة أردوينو إلى ساعة رقمية مستقلة تحافظ على دقة الوقت حتى بعد فصلها عن التغذية، دون الحاجة لحاسوب أو اتصال إنترنت لضبطها أو الحفاظ عليها.
لماذا نحتاج وحدة ساعة فعلية أصلًا
تحافظ DS1307 على الوقت عند انقطاع التغذية، لكنها ليست ساعة عالية الدقة وقد تنحرف أكثر من DS3231. اخترها للتعلم أو عند قبول الانحراف، واستخدم DS3231 عندما تكون الدقة الحرارية أفضل مطلوبة.
المكونات المطلوبة
أردوينو أونو، وحدة ساعة فعلية من نوع DS1307 (مع تركيب بطاريتها الاحتياطية CR2032)، شاشة OLED مقاس 0.96 بوصة تعمل عبر I2C، وأسلاك توصيل.
طريقة التوصيل
تشترك الوحدتان في ناقل I2C نفسه، فتتصلان بالتوازي: SDA بمنفذ A4 في أردوينو، وSCL بمنفذ A5، وكلتاهما تُغذّى من 5 فولت والأرضي. هذا هو إعداد ناقل I2C نفسه الذي تناولناه سابقًا لكل من DS1307 بمفرده وشاشات OLED منفردة.
ضبط الوقت
ضبط الساعة على زمن ترجمة البرنامج لا يساوي زمن رفعه بدقة. شغّل أمر الضبط مرة واحدة فقط ثم احذفه أو احمه بشرط حتى لا تعود الساعة للخلف بعد كل إعادة تشغيل. راجع دائرة بطارية الوحدة: بعض اللوحات تشحن LIR2032 ولا ينبغي وضع CR2032 غير قابلة للشحن في دائرة شحن.
عرض الوقت
بمجرد تشغيل DS1307، يقرأ الكود الساعة والدقيقة والثانية والتاريخ الحالي منها ضمن حلقة تكرار، ويهيئها كنص واضح يُرسم على شاشة OLED باستخدام مكتبة رسوميات مثل Adafruit_SSD1306، وغالبًا بخط أكبر للوقت وسطر أصغر تحته للتاريخ.
كيف يبني هذا على مشاريع سابقة
سبق أن تناولنا DS1307 لتسجيل قراءات الحساسات مع طابع زمني، وشاشات OLED بمفردها لعرض بيانات الحساسات. يجمع هذا المشروع بين الاثنين في ساعة مخصصة، وهي خطوة طبيعية تالية بمجرد إتقانك لكل جزء على حدة.
يمكنك إيجاد وحدات الساعة الفعلية DS1307 وشاشات OLED ضمن متجر Juthour Tech.
اترك تعليقا