الإعلانات

البشر مبرمجون بشكل طبيعي للاستيقاظ مع شروق الشمس. من المؤسف أن الحياة الحديثة تمليها ساعة اعتباطية ، تجبرنا في كثير من الأحيان على الاستيقاظ عندما لا يكون هناك ضوء طبيعي. اليوم ، سنقوم بعمل منبه شروق الشمس ، والذي سوف يوقظك بلطف وببطء دون اللجوء إلى آلة ضجيج مسيئة.

إذا كان صنع ساعة منبه شروق الشمس أكثر من اللازم بالنسبة لك ، تحقق من أجهزة iPhone و تطبيقات الأندرويد استخدم هذه التطبيقات لمساعدتك على النوم بشكل أفضل [Android و iOS]أفضل شيء يمكنك القيام به بعد يوم حافل هو الحصول على قسط مفيد من النوم. هناك دائمًا دراسات جديدة تظهر مدى أهمية النوم حقًا بالنسبة لشخص ما ، مما يحسن ... اقرأ أكثر هذا الكشف عندما يكون من الأفضل إيقاظك بحركات الجسم هل يمكن للتطبيق أن يساعدك حقًا على النوم بشكل أفضل؟لقد كنت دائمًا جزءًا من مجرب النوم ، حيث احتفظت بمفردات أحلام دقيقة طوال معظم حياتي ودرست قدر المستطاع حول النوم في هذه العملية. هناك... اقرأ أكثر ، مما يضمن لك عدم الابتعاد عن هذا الحلم الرائع ، ولكن بدلاً من ذلك ، استيقظ وأنت تشعر بالانتعاش والانتعاش - إنهم يعملون حقًا.

مشروع غيرنشط

سيكون الجزء الرئيسي من المشروع حوالي 5 أمتار شريط إضاءة LED حول السرير. سنقوم بتزويدها بالطاقة باستخدام مصدر خارجي 12 فولت ، يتم تبديله باستخدام بعض ترانزستورات MOSFET N. سيكون إعداد هذا الجزء مطابقًا لـ

instagram viewer
نظام إضاءة ديناميكي قم ببناء الإضاءة المحيطة الديناميكية الخاصة بك للحصول على مركز إعلاميإذا كنت تشاهد الكثير من الأفلام على جهاز الكمبيوتر أو المركز الإعلامي ، فأنا متأكد من أنك واجهت معضلة الإضاءة ؛ هل تطفئ كل الأضواء تمامًا؟ هل تبقيهم على الانفجار الكامل؟ أو... اقرأ أكثر بنيت من قبل.

سيشكل التوقيت مشكلة - نظرًا لأن هذا نموذج أولي ، سأعيّن Arduino للعد التنازلي من أي وقت يتم فيه إعادة تعيينه. من الناحية النظرية ، يجب أن نفقد ثانية أو اثنتين فقط كل يوم ، ولكن من الأفضل أن نضيف شريحة "ساعة في الوقت الحقيقي" للقيام بذلك بشكل أكثر موثوقية. سيبدأ منبه شروق الشمس 30 دقيقة قبل وقت الاستيقاظ ، ويزيد ببطء مستوى الخرج حتى يصل إلى سطوع 100٪ - يجب أن يكون هذا كافيًا لإيقاظنا ، على الرغم من أنها فكرة جيدة أن تستمر في استخدام المنبه المعتاد حتى يعتاد جسمك على عليه.

سأقوم أيضًا بدمج ضوء ليلي في هذا المشروع ، والذي يكتشف الحركة وينشط مستوى منخفضًا غير ظاهر ضوء تحت السرير مع مهلة 3 دقائق ، منفصلة عن مصابيح LED حيث أن هذه ستؤدي إلى استيقاظ زوجتي وأنا فوق. ستكون الإضاءة تحت السرير وحدة رئيسية تجارية ، لذا سأقوم باختراق التتابع داخل مقبس التوصيل لتشغيل وإيقاف تشغيله. إذا لم تكن مرتاحًا للعمل مع طاقة التيار المتردد 110-240 فولت تحت أي ظروف (وهذا بشكل عام قاعدة جيدة لديك) ، ثم توصيل جهاز الإرسال اللاسلكي 433 ميغاهرتز مع مآخذ التبديل ، على النحو المبين في مشروع أتمتة المنزل Raspberry Pi Arduino دليل أتمتة المنزل مع Raspberry Pi و Arduinoإن سوق التشغيل الآلي للمنزل مليء بأنظمة استهلاكية باهظة الثمن ، غير متوافقة مع بعضها البعض ومكلفة للتثبيت. إذا كان لديك Raspberry Pi و Arduino ، يمكنك تحقيق نفس الشيء في ... اقرأ أكثر .

قائمة الأجزاء والتخطيطي

  • اردوينو
  • مجموعة من أضواء شريط RGB LED
  • مزود طاقة 12 فولت
  • 3 × ترانزستورات MOSFET N (أستخدم النوع STP16NF06FP)
  • مأخذ التتابع والطاقة ، أو مقابس التحكم اللاسلكية وجهاز الإرسال المناسب
  • اختيارك للضوء الليلي (الخطوط الرئيسية التي تعمل بالطاقة مع القابس على ما يرام)
  • مستشعر حركة PIR (HC-SR501) ، أو سونار SC-04 (غير فعال)
  • مستشعر الضوء
  • رمز المشروع - ولكن تابع القراءة للتأكد من أنك تفهم كيفية تخصيص كل شيء.

هنا التخطيطي الكامل.

الشروق - إنذار - دارة

توصيل الأسلاك

ملحوظة: تخطي هذا القسم إذا كنت ترغب في استخدام أضواء RGB كمصباح ليلي أيضًا - وهذا خصيصًا لتشغيل ضوء منفصل بالطاقة.

لتبديل طاقة التيار الكهربائي ، ستحتاج مرحلتك إلى تصنيف الجهد - 110 فولت أو 240 فولت تيار متردد اعتمادًا على المكان الذي تعيش فيه - وأكثر من إجمالي التيار الذي ستبدله. الذي استخدمته من حزمة أجهزة الاستشعار هذه (إخلاء المسؤولية: هذا متجري) يكون 250VAC / 10A، لذلك يجب أن نكون آمنين. التبديلات لها كوم منفذ ، عادة في المركز ، والذي يجب توصيله بالسلك الحي الداخل إلى القابس ؛ ثم قم بتوصيل مأخذ توصيل مأخذ توصيل مباشر إلى لا (عادة مفتوحة). لا يجب أن أخبرك أن لا تفعل هذا أثناء توصيله بمأخذ التيار ، أو ستموت. إذا كنت تخشى العبث بقوة التيار الرئيسي ، فاستخدم مآخذ توصيل لاسلكية بدلاً من ذلك.

تتابع الأسلاك

يجب أن تتجه الأرض والكابلات المحايدة مباشرة إلى التجويف ولن تلمس التتابع. قد لا يكون لديك خط أرضي في الولايات المتحدة. تقع على عاتقك مسؤولية معرفة الترميز اللوني للأسلاك في منطقتك المحلية - إذا لم تتمكن من توصيل مقبس عادي في منزلك أو إعادة توصيل قابس ، فلا تحاول تضمين التتابع في واحد!

للاختبار ، قم بتوصيل سلك إشارة الترحيل إلى 12 ، ثم قم بتشغيل برنامج وميض بسيط تم تعديله للعمل على الطرف 12 ، وليس 13 كما هو افتراضي. يجب تشغيل المقبس وإيقافه كل بضع ثوانٍ. السبب في أنني لا أستخدم رقم التعريف الشخصي 13 هو أنه أثناء عملية التحميل ، يضيء مصباح LED المدمج في تتابع سريع للإشارة إلى النشاط التسلسلي ، مما قد يؤدي إلى تنشيط التتابع أيضًا.

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

وظائف التوقيت والساعة صعبة دون الوصول إلى اتصال بالشبكة أو مخصصة ساعة الوقت الحقيقي (تشمل هذه البطاريات الخاصة بها للحفاظ على مدار الساعة حتى عندما لا يكون لدى Arduino الرئيسي طاقة). للحفاظ على انخفاض التكاليف ، سوف أغش. سأعمل على ترميز وقت بدء Arduino لبدء العد التنازلي ؛ وبالتالي ، ستكون المواعيد مرتبطة بوقت البدء هذا. كل 24 ساعة ، سيتم إعادة تعيين الساعة. يتأكد رمز وظيفة الساعة أدناه من المتغيرات العامة التيار ميلي و دقائق الحالية صحيحة كل يوم. لا يجب أن يفقد Arduino أكثر من بضع ثوانٍ كل 45 يومًا ؛ ومع ذلك ، فإن أسلوب التوقيت الثابت هذا محدود للغاية من حيث أن انقطاع التيار الكهربائي أو إعادة التعيين العرضي سيؤدي إلى كسر كل شيء ، لذلك من المؤكد أن هذه منطقة يمكن تحسينها. إذا خرج التوقيت عن المزامنة ، فما عليك سوى إعادة ضبط Arduino في وقت البدء المحدد.

يجب أن يكون الرمز سهل الفهم.

ساعة باطلة () {if (millis ()> = previousMillis + 86400000) {// انقضى يوم كامل ، أعد ضبط الساعة ؛ سابقميليس + = 86400000 ؛ } currentMillis = millis () - previousMillis ؛ // هذا يحافظ على رسائلنا الحالية نفسها كل يوم currentMinutes = (currentMillis / 1000) / 60 ؛ }

وظيفة ضوء الليل

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

يمكن أن يكون مستشعر PIR ملتويًا قليلاً إذا لم تستخدمه من قبل ، على الرغم من أن توصيله ليس صعبًا - ستجد VCC, GNDو خارج بشكل واضح على ظهره. هناك نوعان من المقاومات المتغيرة ؛ يحدد RX المسمى النطاق (حتى حوالي 7 أمتار) ، ويحدد آخر TX المسمى التأخير. التأخير هو 5 ثوان عند أدنى إعداد له (عكس اتجاه عقارب الساعة تمامًا) ، ويعني أن أي حركة مؤقتة ستؤدي إلى 5 ثوان على الأقل من حالة "التشغيل" من جهاز الاستشعار. ومع ذلك ، فإنه يحدد أيضًا التأخير بين الحالات النشطة - لذلك إذا انقضت 5 ثوان ولم تحدث أي حركة تم الكشف عن أن المستشعر سيرسل إشارة منخفضة لمدة 5 ثوان على الأقل حتى إذا كانت هناك حركة خلال ذلك فترة. إذا كان لديك تأخير مرتفع للغاية في حوالي 30 ثانية ، فقد يبدو أن المستشعر مكسور.

مستشعر البير

إذا كنت تنام بمفردك ولا تمانع في استخدام نفس أضواء شريط RGB لكل من منبه شروق الشمس والضوء الليلي ، فيجب أن تكون قادرًا على تعديل الرمز بسهولة كافية.

ضوء الليل باطل () {// يعمل فقط بين ساعات إعادة الضبط -> شروق الشمس. if (currentMinutes 

إنذار شروق الشمس

من أجل البساطة ، سأستخدم قيمة لون RGB 255،255،0 لشروق شمس صفراء عميقة - وبهذه الطريقة ستكون الزيادة على قناتي اللون هي نفسها. إذا وجدت أنه يوقظك مبكرًا جدًا ، ففكر في البدء باللون الأحمر العميق ويتلاشى نحو الأصفر أو الأبيض. المنحدر الذي استخدمته في الخط الخطي فقط - قد ترغب في التحقيق باستخدام منحنى أكثر طبيعية لقيم السطوع.

الوظيفة بسيطة - تعمل على تحديد مقدار الضوء الذي يجب زيادته في كل ثانية بحيث تكون في سطوع كامل بعد فترة 30 دقيقة ؛ ثم يضاعف ذلك بعد مرور عدة ثوانٍ على شروق الشمس حاليًا. إذا كان في حالة سطوع كامل بالفعل ، فإنه يظل قيد التشغيل لمدة 10 دقائق أخرى للتأكد من أنك مستيقظ (وإذا كنت لا تزال غير مستيقظًا ، فمن المحتمل أن يكون لديك منبه احتياطي).

يجب أن يزيد sunrisealarm () {// كل ثانية خلال فترة الـ 30 دقيقة قيمة اللون بمقدار: زيادة التعويم = (تعويم) 255 / (30 * 60) ؛ // أحمر 255 ، أخضر 255 يمنحنا سطوعًا كاملًا باللون الأصفر إذا بدأ (currentMinutes> = minutesUntilSunrise) {// الشروق! تعويم التيار = (تعويم) ((currentMillis / 1000) - (minutesUntilSunrise * 60)) * زيادة ؛ Serial.print ("القيمة الحالية لشروق الشمس:") ؛ Serial.println (currentVal) ؛ // أثناء التزايد ، اكتب القيمة الحالية للدقائق X زيادة سطوع إذا (currentVal <255) {analogWrite (RED، currentVal)؛ analogWrite (أخضر ، تيار حالي) ؛ } وإلا إذا كان (currentMinutes - minutesUntilSunrise <40) {// بمجرد وصولنا إلى السطوع الكامل ، استمر في تشغيل الإضاءة لمدة 10 دقائق أطول analogWrite (RED ، 255) ؛ analogWrite (أخضر ، 255) ؛ } آخر {// بعد ذلك ، سنقوم بإدخالهم مرة أخرى لإيقاف تشغيل analogWrite (RED، 0) ؛ analogWrite (أخضر ، 0) ؛ } } }

مطبات وترقيات المستقبل

لقد كنت أستخدم هذا في الأسابيع القليلة الماضية الآن وهو يساعد حقًا في الاستيقاظ والشعور بمزيد من الانتعاش وفي وقت لائق ؛ يعمل ضوء الليل بشكل جيد أيضًا. ومع ذلك ، فهي ليست مثالية ، لذا إليك بعض الأشياء التي تحتاج إلى العمل والدروس المستفادة أثناء البناء.

إنذار شروق الشمس

أثناء تنفيذ هذا المشروع ، واجهت الكثير من المشكلات المتعلقة بالتعامل مع أعداد كبيرة ، لذلك إذا كنت تخطط لتعديل الرمز ، فيرجى مراعاة ذلك. في لغة C ، كتابة المتغيرات الخاصة بك مهم جدا - الرقم ليس دائمًا مجرد رقم. على سبيل المثال، بلا توقيع طويل يجب استخدام المتغيرات لتخزين أعداد كبيرة جدًا مثلما نتعامل معها عند الحديث عن المللي ثانية ، ولكن حتى عدد صغير يصل إلى 60000 لا يمكن تخزينه كعدد صحيح منتظم (كان العدد غير الموقَّع مقبولاً حتى 68000). المقصود هو، اقرأ عن أنواع المتغيرات الخاصة بك عند استخدام أعداد كبيرة ، وإذا وجدت أخطاءً غريبة ، فربما يرجع السبب في ذلك إلى أن أحد المتغيرات لا يحتوي على ما يكفي من البتات!

لقد وجدت أيضًا مشكلة مع تسرب جهد سطوع منخفض جدًا - مما يؤدي إلى أصغر كمية من الضوء المنبعثة حتى عندما الكتابة الرقمية (أحمر ، 0) تنبعث الإشارة - لا أعتقد أنها مشكلة في الأجهزة مع الشرائط لأنها تعمل بشكل جيد مع وحدات التحكم الرسمية. إذا تمكن أي شخص من حل هذه المشكلة ، في الصورة أدناه ، سأكون في غاية الامتنان. لقد حاولت سحب المقاومات ، وتحد من جهد الخرج من دبابيس Arduino. قد أحتاج إلى إضافة دائرة تبديل طاقة بسيطة لإمداد الجهد فقط لشريط LED عند الحاجة الفعلية ؛ أو قد يكون هناك خلل في أجهزة MOSFET.

تسرب الضوء

للعمل المستقبلي ، آمل أن أضيف في جهاز استقبال الأشعة تحت الحمراء وأن أكرر بعض ميزات وحدة التحكم الأصلية - في على الأقل القدرة على تغيير الألوان كضوء للاستخدام العام ، حيث يحول هذا المشروع الآن الشريط إلى ليلة مخصصة ضوء. يمكنني أيضًا إضافة وظيفة مهلة 30 دقيقة تلقائية.

هل جربت هذا أو أدخلت تحسينات أو حصلت على أي أفكار أخرى؟ اسمحوا لي أن نعرف في التعليقات!

جيمس حاصل على درجة البكالوريوس في الذكاء الاصطناعي ، وهو حاصل على شهادة CompTIA A + و Network +. وهو المطور الرئيسي لـ MakeUseOf ، ويقضي وقت فراغه في لعب كرة الطلاء VR وألعاب الطاولة. لقد كان يبني أجهزة الكمبيوتر منذ أن كان طفلاً.