جدول المحتويات:

DS1307 ساعة الوقت الحقيقي RTC مع Arduino: 4 خطوات
DS1307 ساعة الوقت الحقيقي RTC مع Arduino: 4 خطوات

فيديو: DS1307 ساعة الوقت الحقيقي RTC مع Arduino: 4 خطوات

فيديو: DS1307 ساعة الوقت الحقيقي RTC مع Arduino: 4 خطوات
فيديو: Raspberry Pi: How to connect DS1307 5V Real time clock (RTC) to 3.3V? (2 Solutions!!) 2024, شهر نوفمبر
Anonim
DS1307 ساعة الوقت الحقيقي RTC مع Arduino
DS1307 ساعة الوقت الحقيقي RTC مع Arduino

في هذا البرنامج التعليمي ، سوف نتعرف على Real Time Clock (RTC) وكيف يتم وضع Arduino و Real Time Clock IC DS1307 معًا كجهاز توقيت.

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

الخطوة 1: الأشياء التي تحتاجها

أشياء تحتاجها
أشياء تحتاجها
أشياء تحتاجها
أشياء تحتاجها
أشياء تحتاجها
أشياء تحتاجها

هذه هي الأشياء التالية التي تحتاجها لهذه التعليمات:

اردوينو أونو

وحدة DS1307 rtc

أسلاك العبور

3.7 فولت خلية عملة

الخطوة 2: التوصيلات

روابط
روابط
روابط
روابط

برجاء اتباع المعلقين المرفقين في قسم الصور وربط كل شيء حسب الشماتيين.

الخطوة 3: جزء الترميز

جزء الترميز
جزء الترميز

برمجة Arduino لإطعام RTC بالتاريخ والوقت الحاليين ؛ وقراءة التاريخ والوقت من RTC.

هنا ، سنستخدم مكتبة DS1307 بواسطة Watterott من GitHub.

قم بتنزيل هذه المكتبة من هنا.:

قم باستخراج المكتبة وإضافة المجلد المسمى DS1307 إلى مسار مجلد المكتبات في Arduino IDE.

بمجرد إضافة المكتبة إلى Arduino IDE ، افتح IDE وافتح مثال الرسم المسمى مثال من مكتبة DS1307 المضافة.

كلمة تحذير: في مثال الرسم ، في حلقة الإعداد ، يتم استخدام وظيفة rtc.set (). قم بتمرير وسيطات التاريخ والوقت الحالية كما هو مذكور لهذه الوظيفة. في مثال الرسم ، سيتم التعليق على هذا البيان. قم بفك التعليق وحمل الرسم التخطيطي. بمجرد تحميل المخطط ، قم بإلغاء التعليق على البيان مرة أخرى وقم بتحميل الرسم التخطيطي. إذا لم يتم ذلك ، في كل مرة يتم فيها إعادة تعيين لوحة Arduino UNO أو تشغيلها بعد انقطاع التيار الكهربائي ، سيتم تعيين التاريخ والوقت اللذين قمت بتعيينهما مرارًا وتكرارًا ولن تتمكن من قراءة الوقت والتاريخ الحاليين بالضبط.

/ * مثال DS1307 RTC (ساعة الوقت الحقيقي)

أونو A4 (SDA) ، A5 (SCL) ميجا 20 (SDA) ، 21 (SCL) ليوناردو 2 (SDA) ، 3 (SCL) * /

# تضمين "Wire.h"

# تضمين "DS1307.h"

DS1307 rtc ؛

إعداد باطل () {/ * init Serial port * / Serial.begin (9600)؛ بينما (! المسلسل) ؛ / * انتظر حتى يتم توصيل المنفذ التسلسلي - مطلوب ليوناردو فقط * /

/ * init RTC * / Serial.println ("Init RTC…") ؛

/ * قم بتعيين التاريخ + الوقت مرة واحدة * / rtc.set (0 ، 0 ، 8 ، 24 ، 12 ، 2014) ؛ / * 08: 00: 00 24.12.2014 // ثانية ، دقيقة ، ساعة ، يوم ، شهر ، سنة * /

/ * stop / pause RTC * / // rtc.stop () ؛

/ * بدء RTC * / rtc.start () ؛ }

حلقة فارغة () {uint8_t ثانية ، دقيقة ، ساعة ، يوم ، شهر ؛ uint16_t سنة ؛

/ * احصل على وقت من RTC * / rtc.get (& sec، & min، & hour، & day، & month، & year) ؛

/ * الإخراج التسلسلي * / Serial.print ("\ n الوقت:") ؛ Serial.print (ساعة ، ديسمبر) ؛ Serial.print (":") ؛ Serial.print (دقيقة ، ديسمبر) ؛ Serial.print (":") ؛ Serial.print (ثانية ، ديسمبر) ؛

Serial.print ("\ n التاريخ:")؛ Serial.print (اليوم ، ديسمبر) ؛ Serial.print (".") ؛ Serial.print (الشهر ، ديسمبر) ؛ Serial.print (".") ؛ Serial.print (السنة ، ديسمبر) ؛

/ * انتظر ثانية * / تأخير (1000) ؛ }

انسخ الكود أعلاه وقم بتحميله على لوحة اردوينو الخاصة بك

الخطوة الرابعة: الحصول على الوقت

الحصول على الوقت
الحصول على الوقت
الحصول على الوقت
الحصول على الوقت

بعد توصيل كل شيء معًا وتحميل الكود على لوحة اردوينو الخاصة بك ، افتح الشاشة التسلسلية في اردوينو ID ومن ثم ستتمكن من الحصول على التاريخ والوقت كما هو في شاشتك التسلسلية كما ترى أنا قادر على رؤية وقتي & التاريخ في الشاشة التسلسلية الخاصة بي ، للإخراج التجريبي ، يرجى الرجوع إلى إخراج الصورة أعلاه والاستمتاع بإضافة ساعة RTC إلى مشروعك.

موصى به: