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

إيقاظي - ساعة منبه ذكية: 6 خطوات
إيقاظي - ساعة منبه ذكية: 6 خطوات

فيديو: إيقاظي - ساعة منبه ذكية: 6 خطوات

فيديو: إيقاظي - ساعة منبه ذكية: 6 خطوات
فيديو: Eternal Dragon God EP 1-116 MULTI SUB 1080P 2024, ديسمبر
Anonim
Wake Me Up - ساعة منبه ذكية
Wake Me Up - ساعة منبه ذكية

Wake me up عبارة عن منبه ذكي يمكن استخدامه أيضًا كإضاءة ذكية.

يحاكي شريط LED المدمج الضوء الطبيعي القادم إلى غرفتك. يتيح ذلك طريقة هادئة وطبيعية لبدء يومك.

تم تجهيز المنبه أيضًا بشاشة عرض 4 * 7 لقراءة الوقت ، ومكبرات صوت للاستيقاظ مع الموسيقى المفضلة لديك ، وزر لمس ، و ldr لتكييف سطوع شريط LED ، ومستشعر درجة الحرارة الذي يمكنك استخدامه لعرض درجة حرارة غرفتك.

اللوازم

يمكن العثور على قائمة بالأسعار الدقيقة التي دفعتها هنا:

المتحكمات الدقيقة وأجهزة الكمبيوتر:

استخدم Raspberry Pi 4I Raspberry Pi 4 4GB ومع ذلك ، يجب أن يكون أي طراز Raspberry Pi 3+ جيدًا

اردوينو اونو

يستخدم اردوينو للتحكم في عرض ساعة المقطع 4 * 7.

المستشعرات:

  • TMP36: مستشعر درجة الحرارة
  • LDR: مقاوم يعتمد على الضوء

المحركات:

  • WS2801: شريط LED قابل للعنونة بشكل فردي
  • شاشة LCD: شاشة عرض LCD مقاس 16 * 2.
  • عرض الساعة 4 * 7

IC:

  • 74HC595: Shiftregister لشاشة LCD
  • MCP3008: محول تناظري إلى رقمي 8 بت
  • محول المستوى المنطقي: يستخدم للتواصل بين raspi و arduino

اشياء اخرى:

  • مضخم adafruit MAX9744 لتشغيل مكبرات الصوت
  • أي مكبر صوت ، استخدمت مكبر صوت كامل النطاق Visaton 4Ohm 8Watt (المادة رقم 2240)
  • مزود طاقة 9 فولت لتشغيل مكبر الصوت
  • مزود طاقة 5 فولت لتزويد شريط LED والمكونات الأخرى. ضع في اعتبارك أن كل مصباح LED في شريط LED يمكن أن يسحب 60 مللي أمبير ، لذا تأكد من أن مصدر الطاقة لديك كافٍ.
  • عدد قليل من المقاومات 220 أوم
  • لوح صغير لوضعه في حقيبتك.

أدوات:

  • لحام الحديد.
  • شيء ما لصنع الحالة (استخدمت طابعة ثلاثية الأبعاد مع PLA و PETG وبعض ملصقات الفينيل للحصول على التأثير الخشبي.)

الخطوة 1: إعداد Raspberry Pi

raspberry pi هو جهاز التحكم الصغير الرئيسي لدينا.

يدير raspberry pi خادم الويب المحلي لدينا ، وقاعدة البيانات ، ويتحكم في شريط الإشارات ، ومكبرات الصوت ، …

الجزء 1: تثبيت Raspbian

استخدم هذا البرنامج التعليمي لتثبيت raspbian: https://www.raspberrypi.org/documentation/installa …

تأكد من تمكين SSH

الجزء الثاني: التوصيل

من أجل الاتصال بالإنترنت ، تحتاج إلى الوصول إلى محطة Raspberry Pi الخاصة بك. أوصي باستخدام المعجون. في نوع المحطة:

wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf

"YourNetwork" هو اسم شبكة wifi الخاصة بك و "YourSSID" هي كلمة مرور الشبكة.

بمجرد إضافة الشبكة ، حاول إعادة تشغيل Raspberry Pi.

اكتب الأمر "ping 8.8.8.8" هذا سيرسل حزمة إلى خوادم google إذا تلقيت استجابة تم إعداد الشبكة الخاصة بك وتشغيلها!

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

سنحتاج إلى تثبيت بعض البرامج الإضافية لبدء هذا المشروع وتشغيله.

قبل أن نبدأ ، قم بتشغيل هذين الأمرين للتأكد من ترقية كل شيء.

sudo apt التحديث

sudo apt الترقية

وهذا قد يستغرق بعض الوقت.

اباتشي

sudo apt تثبيت apache2 -y

sudo apt install php libapache2-mod-php -y

MariaDB

sudo apt install mariadb-server mariadb-client -y

sudo apt تثبيت php-mysql -y

PHPMyAdmin

sudo apt تثبيت phpmyadmin -y

بيثون بيب

نحتاج إلى تثبيت pip لتمكين بعض مكتبات Python

pip3 تثبيت mysql- موصل- بيثون

pip3 تثبيت flask-socketio

pip3 تثبيت قارورة cors

تثبيت pip3 gevent

pip3 تثبيت gevent-websocket

الخطوة الثانية: توصيل الإلكترونيات

توصيل الإلكترونيات
توصيل الإلكترونيات
توصيل الإلكترونيات
توصيل الإلكترونيات

لقد أضفت مخططين ، 1 هو مخطط اللوح لأغراض الاختبار. أوصي ببناء المخطط الأول ومحاولة تشغيل الكود.

لقد أضفت ملفات فريتزينج أدناه.

الخطوة 3: تصميم قاعدة البيانات

تصميم قاعدة البيانات
تصميم قاعدة البيانات

هذا هو مخطط قاعدة البيانات الذي صنعته. الكلمات مكتوبة بالهولندية ولكني سأشرح كل جدول بالتفصيل.

الجدول 1: tblMuziek

هذا جدول أساسي جدا. يقوم بحفظ اسم الفنان واسم الأغنية واسم ملف الأغنية.

الجدول 2: tblLedstrip

يتتبع هذا الجدول الحالة الحالية لشريط ledstrip ويحفظ حالة شريط ledstrip. نحن بحاجة إلى هذا لوظيفة المصباح الذكي.

الجدول 3: tblSensoren

هذا الجدول يتتبع المستشعرات في إنذارنا. نقوم بتخزين اسم المستشعر وقناة MCP3008

الجدول 4: الجدول tblMeting

يخزن هذا الجدول قيم أجهزة الاستشعار لدينا مع وقتها.

الجدول 5: tblWekker

يخزن هذا الجدول كلمة المرور واسم المنبه الخاص بك (مثل غرفة النوم) هذا الجدول ليس إلزاميًا ولكني أضفته لأنني أفترض أنه سيكون لديك أكثر من ساعة منبه في منزلك.

الجدول 6: tblAlarm

ربما يكون هذا هو الجدول الأكثر أهمية. إنه يتتبع المنبه الذي قمت بضبطه وما يجب أن تفعله الساعة (أي أغنية يتم تشغيلها ، والتي أدت إلى تسلسل ، في أي أيام يجب أن تنطلق ، …). من المهم جدًا تتبع تاريخين. يتم استخدام تاريخ 1 للتخزين في أي ساعة يجب أن ينطلق المنبه. الآخر يتتبع آخر مرة انطلق فيها المنبه. لمعرفة أي يوم من أيام الأسبوع يجب أن ينطلق ، استخدمت varchar الذي يحتوي على عدد من 7 أرقام. الرقم الأول هو الاثنين ، الثلاثاء الثاني ، … إذا كان الرقم 1 ، فيجب أن ينطلق ، إذا كان 0 فلا ينبغي. مثال: 1111100 يعني هذا أن هذا المنبه يجب أن ينطلق أيام الاثنين والثلاثاء والأربعاء والخميس والجمعة.

الخطوة 4: إعداد Arduino

هذه الخطوة سهلة للغاية. سيكون هناك رابط إلى جيثب الخاص بي في الخطوة التالية حيث يمكنك تنزيل ملف اردوينو.

ماذا يفعل البرنامج؟

ينتظر البرنامج أن تأتي البيانات التسلسلية من pi.

بمجرد استلام البيانات ، يتم تحليلها عبر السلسلة وإرسال تأكيد مرة أخرى إلى pi.

ستكون السلسلة شيئًا من هذا القبيل: "1201" وهذا يعني أنها 12:01. لقد استخدمت عرضًا شائعًا من 7 أجزاء من الأنود ، وهذا يعني أن الأرقام يجب أن تكون عالية ويجب أن تكون A و B و C و D و E و F و G و DP منخفضة لتشغيلها. إذا كنت تستخدم كاثودًا شائعًا ، فيجب عليك فقط تغيير HIGH إلى LOW & LOW إلى HIGH.

إليك ارتباط بمزيد من المعلومات حول كيفية عمل شاشات 7 مقاطع. (مع استخدام المكتبة):

www.instructables.com/id/Using-a-4-digit-7…

إليك رابط يعرض 7 مقاطع بدون استخدام مكتبة:

create.arduino.cc/projecthub/SAnwandter1/p…

الخطوة 5: Raspberry Pi Backend

خلفية Raspberry Pi Backend
خلفية Raspberry Pi Backend

يمكنك تنزيل الكود الخاص بي باستخدام جيثب. (https://github.com/VanHevelNico/WakeMeUp)

طريقة تثبيت البرنامج:

الواجهة الخلفية مكتوبة بلغة الثعبان باستخدام قارورة. يمكنك إنشاء خدمة تبدأ هذا البرنامج (app.py) تلقائيًا.

يجب عليك وضع كود الواجهة الأمامية في ملف html لخادم اباتشي الذي قمنا بتنزيله مسبقًا. (/ var / html)

كيف يعمل البرنامج؟

عند تشغيل المنبه ، انتقل إلى عنوان IP الخاص بساعتك (سيتم عرضه على شاشة LCD)

بمجرد الانتقال إلى عنوان IP هذا في متصفحك ، سيرسل جهاز الكمبيوتر الخاص بك طلب socket.io إلى الواجهة الخلفية قائلاً إن العميل متصل. عندما تتلقى الواجهة الخلفية هذا ، ستبدأ بعض سلاسل الرسائل التي سأشرحها أدناه.

اقامة

هذا يهيئ كل الأشياء المطلوبة.

GetTemp

هذا يقرأ mcp3008 القناة 0 ويحول البيانات الثنائية إلى درجة الحرارة الفعلية ويضعها في قاعدة البيانات مع التاريخ والساعة الحاليين.

GetTempGrafiek

هذا يحصل على القيم العشرين الماضية لمستشعر درجة الحرارة ويبعثها إلى الواجهة الأمامية.

tijd_sturen

تحصل هذه الطريقة على الوقت الحالي وتتحقق مما إذا كانت الدقيقة قد تغيرت. إذا تم تغييره ، يرسل البرنامج الوقت الجديد إلى اردوينو باستخدام الاتصال التسلسلي

تحقق

هذه هي الطريقة الأكثر أهمية. يحصل على جميع الإنذارات التي تم تشغيلها ويتحقق مما إذا كان أي من هذه الإنذارات يجب أن يذهب بين الآن و 5 دقائق (هذا هو المخزن المؤقت للتأكد من أن كل إنذار يذهب عندما يحتاج إلى ذلك). إذا كان المنبه ينطلق ، فسنبدأ تشغيل الموسيقى ، شريط LED ، … نقرأ المقاوم الحساس للقوة باستمرار وعندما تنخفض القيمة إلى أقل من 1000 (اقرأ fsr مضغوطًا) ندير المنبه ونحدث الإنذار في قاعدة البيانات. قمنا بتعيين التاريخ الذي انطلق فيه المنبه للمرة الأخيرة إلى التاريخ الحالي.

حالة الضوء

تنبعث هذه الطريقة من قيمة شريط LED وتقوم بتشغيل شريط LED إذا لزم الأمر.

lichtAanpassen

هذه طريقة إضافية للتأكد من عدم تعارض شريط LED وضوء التنبيه.

الخطوة 6: الحالة

قضية
قضية
قضية
قضية
قضية
قضية

يمكن العثور على رابط ملفاتي هنا:

لقد استخدمت طابعة ثلاثية الأبعاد لطباعة الغلاف. تمت طباعته في 4 أجزاء مختلفة:

  1. اللوحة الأمامية بها فتحات للسماعة وبعض الجدران للشاشة ذات الأجزاء السبعة
  2. الحلقة الخارجية لشريط ledstrip في PETG الشفاف.
  3. الجزء الأوسط
  4. اللوح الخلفي مع فتحة لشاشات الكريستال السائل وفتحة للكابلات.

في النموذج الأصلي ، لم يكن هناك ثقب للشاشة ذات الأجزاء السبعة ، ولكن هذا ضروري لأنه بخلاف ذلك لن يتألق ضوء شاشة العرض ذات الأجزاء السبعة.

كما ترون بعد وضع جميع المكونات في ، استخدمت ملصقات فينيل بمظهر خشبي لجعل النتيجة النهائية تبدو أفضل. تضيء شاشة الساعة عبر الملصق مما يخلق تأثيرًا رائعًا للغاية.

موصى به: