جدول المحتويات:
- اللوازم
- الخطوة 1: إعداد Raspberry Pi
- الخطوة الثانية: توصيل الإلكترونيات
- الخطوة 3: تصميم قاعدة البيانات
- الخطوة 4: إعداد Arduino
- الخطوة 5: Raspberry Pi Backend
- الخطوة 6: الحالة
فيديو: إيقاظي - ساعة منبه ذكية: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
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
يمكنك تنزيل الكود الخاص بي باستخدام جيثب. (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 أجزاء مختلفة:
- اللوحة الأمامية بها فتحات للسماعة وبعض الجدران للشاشة ذات الأجزاء السبعة
- الحلقة الخارجية لشريط ledstrip في PETG الشفاف.
- الجزء الأوسط
- اللوح الخلفي مع فتحة لشاشات الكريستال السائل وفتحة للكابلات.
في النموذج الأصلي ، لم يكن هناك ثقب للشاشة ذات الأجزاء السبعة ، ولكن هذا ضروري لأنه بخلاف ذلك لن يتألق ضوء شاشة العرض ذات الأجزاء السبعة.
كما ترون بعد وضع جميع المكونات في ، استخدمت ملصقات فينيل بمظهر خشبي لجعل النتيجة النهائية تبدو أفضل. تضيء شاشة الساعة عبر الملصق مما يخلق تأثيرًا رائعًا للغاية.
موصى به:
حافظة ذكية لجهاز Nexus 7 مزودة بمغناطيس ومغناطيس: 5 خطوات
حافظة Nexus 7 الذكية W / Sugru & Magnet: بعد فترة وجيزة من وضع الأشخاص أيديهم لأول مرة على Nexus 7 ، وجد شخص ما أنها تستجيب لمغناطيس موضوع في منطقة معينة ، مثل الكثير من الحالات الذكية لجهاز iPad. لم يكن أي من الحالات التي رأيتها يحتوي على هذا ، ولا يمكنني العثور على واحدة تم فتحها بشكل مبالغ فيه مثل
مصفوفة LED ذكية يتم التحكم فيها عبر الإنترنت (ADAFRUIT + ESP8266 + WS2812): 8 خطوات (بالصور)
مصفوفة SMART LED التي يتم التحكم فيها عبر الإنترنت (ADAFRUIT + ESP8266 + WS2812): إليك تقدمي الثاني في مشروع يسعدني جدًا أن أعرضه عليك. يتعلق الأمر بمصفوفة DIY Smart LED التي تتيح لك إظهار البيانات ، مثل إحصائيات YouTube وإحصائيات المنزل الذكي ، مثل درجة الحرارة والرطوبة ، على مدار الساعة ، أو مجرد عرض
تحويل هاتف ذكي غير مستخدم إلى شاشة ذكية: 6 خطوات (بالصور)
تحويل الهاتف الذكي غير المستخدم إلى شاشة ذكية: برنامج Deze التعليمي متوفر باللغة الإنجليزية ، على سبيل المثال ، هل لديك هاتف ذكي (قديم) غير مستخدم؟ حوله إلى شاشة ذكية باستخدام أوراق Google وبعض القلم والورق ، باتباع هذا البرنامج التعليمي السهل خطوة بخطوة. عندما تنتهي
C.Q: مرآة ذكية DIY: 5 خطوات
C.Q: مرآة ذكية DIY: نحن كاترينا كونسيبسيون وعادل قيصر ، وكلاهما طالب في السنة الثانية في أكاديمية WBASD STEM. هذا هو المشروع الذي كنا نتعاون ونفذه للحصول على جائزة أفضل جائزة لهذا العام. عندما قررنا القيام بهذا المشروع ، كان يدور في ذهننا & quot؛ ما هو أكثر
علبة قمامة ذكية بالسيارة: 5 خطوات
علبة قمامة ذكية مع سيارة: هذه سلة قمامة ذكية مزودة بمستشعر فوق صوتي وسيارة وزر ، لذا تحرك للأمام عند الضغط عليها. هذا المشروع مستوحى من https://www.instructables.com/id/DIY-Smart-Dustbin-With-Arduino/ فيما يلي بعض الأجزاء التي قمت بإجراء التغييرات عليها: 4 عجلات