في هذه الجلسة ، سنذهب إلى Interface Real Time Clock Module DS1307 مع Raspberry PI لعمل منبه. على الرغم من أن Raspberry Pi لديه ساعة داخلية ، ولكن بدون اتصال بالإنترنت ، تتم إعادة ضبط هذه الساعة الداخلية بعد كل إعادة تشغيل. للحصول على TIME دقيق بدون اتصال بالإنترنت ، نحتاج إلى واجهة RTC Module DS1307 مع Raspberry Pi. تحتوي وحدة RTC على بطارية زر للنسخ الاحتياطي حتى لا يتم إعادة تعيين TIME. لقد قمنا أيضًا ببناء المنبه باستخدام Arduino وباستخدام متحكم ATmega32 AVR ، تحقق منها أيضًا.
في ساعة Raspberry Pi الرقمية هذه ، شاشة LCD مقاس 16 * 2 تعرض الوقت الحقيقي ووقت التنبيه وحالة التنبيه (تشغيل / إيقاف). بمجرد بدء تشغيل البرنامج في Pi ، يمكننا فصل الشاشة ويمكننا ضبط المنبه بمساعدة شاشة LCD وخمسة أزرار.
يمكن لكل من 17 دبوسًا GPIO توصيل أو سحب تيار 15 مللي أمبير كحد أقصى. لذلك لا تلعب مع دبابيس GPIO وتحقق من التوصيلات مرتين قبل تشغيل Raspberry Pi. تعرف على المزيد حول دبابيس GPIO وزر التوصيل مع Raspberry Pi هنا. تحقق أيضًا من سلسلة دروس Raspberry Pi التعليمية جنبًا إلى جنب مع بعض مشاريع إنترنت الأشياء الجيدة.
المكونات المطلوبة:
نحن هنا نستخدم Raspberry Pi 2 Model B مع نظام التشغيل Raspbian Jessie OS. تمت مناقشة جميع متطلبات الأجهزة والبرامج الأساسية مسبقًا ، يمكنك البحث عنها في مقدمة Raspberry Pi و Raspberry PI LED Blinking للبدء ، بخلاف ما نحتاج إليه:
- Raspberry Pi مع نظام تشغيل مثبت مسبقًا
- وحدة RTC DS1307 مع البطارية
- مزود الطاقة
- 1KΩ المقاوم (6 قطع)
- 5 أزرار
- 1000 فائق التوهج مكثف (2 قطعة)
- 16 * 2 حرف LCD
- 2N2222 الترانزستور
- صفارة
إعداد Raspberry Pi لساعة المنبه:
قبل المضي قدمًا ، نحتاج إلى تكوين Raspberry Pi قليلاً وتثبيت ملف المكتبة لوحدة RTC ، اتبع الخطوات التالية:
الخطوة 1: انتقل أولاً إلى قائمة تكوين Raspberry Pi وقم بتمكين خيار I2C كما هو موضح أدناه:
الخطوة 2: إنشاء مجلد جديد على شاشة سطح مكتب Raspberry Pi وتسميته "Alarm Clock"
الخطوة 3: قم بتنزيل Header File لوحدة RTC من الرابط أدناه:
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
الخطوة 4: قم بفك ضغط الملف المضغوط الذي تم تنزيله في المجلد (المنبه) الذي تم إنشاؤه على سطح المكتب ، كما هو موضح في الخطوة السابقة.
الخطوة 5: افتح نافذة Terminal في Raspberry Pi وأدخل الأمر أدناه ، ثم اضغط على Enter:
sudo apt-get install i2c-tools
يقوم هذا الأمر بتثبيت أدوات I2C المطلوبة لربط وحدة RTC. ثم أعد تشغيل Raspberry pi عن طريق إصدار أمر sudo reboot .
الخطوة 6: الآن نحتاج إلى التحقق من عنوان I2C لوحدة RTC. قبل التحقق من العنوان ، قم أولاً بتوصيل وحدة RTC كما هو موضح في مخطط الدائرة أدناه.
ثم ادخل أدناه في نافذة المحطة.
sudo i2cdetect -y 0 أو sudo i2cdetect -y 1
الخطوة 7: إذا نجح أي من الأمرين أعلاه ، فسترى شيئًا كهذا:
الخطوة 8: سترى عنوان I2C 0x68 إذا كانت وحدة RTC متصلة بشكل صحيح ، فقم بتسجيل القيمة.
مع هذا يتم إجراء جميع التعديلات اللازمة مع تكوين Raspberry Pi.
مخطط الدائرة والتوصيلات:
يتم عرض الاتصالات بين Raspberry Pi و LCD في الجدول أدناه:
يتم عرض الاتصالات بين Raspberry Pi وخمسة أزرار أيضًا في الجدول أدناه مع الوظيفة الخاصة بكل زر:
شرح البرنامج والعمل:
تحتوي وحدة RTC على خلية زر للنسخ الاحتياطي للطاقة كما تمت مناقشته ، لذلك سيكون الوقت محدثًا حتى نفاد النسخ الاحتياطي وسيكون لدينا وقت دقيق في RTC.
سنقوم الآن بكتابة برنامج Python للحصول على الوقت الدقيق من RTC Module DS1307. سيتم عرض هذه المرة على شاشة LCD مقاس 16 × 2. بعد ذلك سيكون لدينا ميزة المنبه مكتوبة في البرنامج. سيتم أيضًا عرض وقت التنبيه على السطر الثاني من شاشة LCD ، متبوعًا بحالة التشغيل والإيقاف. يمكن ضبط وقت التنبيه عن طريق 5 أزرار متصلة بـ Raspberry Pi كما هو مذكور في الجدول أعلاه ومن السهل جدًا ضبط المنبه. يمكنك أيضًا التحقق من الفيديو التوضيحي الخاص بنا لتشغيل ساعة منبه Raspberry Pi. يوجد زرين للزيادة والإنقاص وقت ساعة التنبيه ، وزرين للزيادة والإنقاص وقت دقيقة التنبيه وزر واحد لتشغيل وإيقاف التنبيه.
يواصل برنامج Python مقارنة وقت التنبيه بوقت RTC بشكل مستمر وبمجرد أن يتطابق وقت التنبيه مع وقت RTC ، يقوم PI بتشغيل Buzzer ، المتصل بـ GPIO pin 22 من Raspberry Pi من خلال ترانزستور NPN 2N2222. لذلك بمجرد وصول وقت التنبيه ، يصدر الجرس الصوت.
البرنامج الكامل موضح أدناه ، ويتم شرحه جيدًا من خلال التعليقات. إذا كان لديك أي شك ، يمكنك السؤال في قسم التعليقات أدناه.