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

اردوينو توقيت الغسق / الفجر: 15 خطوة
اردوينو توقيت الغسق / الفجر: 15 خطوة

فيديو: اردوينو توقيت الغسق / الفجر: 15 خطوة

فيديو: اردوينو توقيت الغسق / الفجر: 15 خطوة
فيديو: شنو راح تسوي لو باقي دقيقة على أذان الفجر 😂💔 2024, يوليو
Anonim
اردوينو توقيت الغسق / الفجر على مدار الساعة
اردوينو توقيت الغسق / الفجر على مدار الساعة

ملخص:

يمكن لهذا المؤقت القائم على Arduino تبديل ضوء 220 فولت عند الغسق أو الفجر أو في الوقت المحدد.

مقدمة:

يتم تشغيل بعض الأضواء في منزلي تلقائيًا عند الغسق ، حتى وقت محدد مسبقًا أو حتى الفجر (طوال الليل).

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

كتحدي رائع ، قررت إنشاء مؤقت مستقل قائم على Arduino بدلاً من ذلك. يستخدم ساعة الوقت الحقيقي ومكتبة Dusk2Dawn لتحديد الوقت الذي يجب تشغيل أو إيقاف تشغيل الأضواء فيه. غلاف هذا المؤقت مطبوع ثلاثي الأبعاد ويمكن العثور عليه في Thingiverse. يمكن العثور على كود Arduino لهذا المشروع على GitHub.

في إنشاء هذا المؤقت ، استلهمت من العديد من التصميمات والدوائر على الإنترنت. شكري لجميع المساهمين الذين لم يتم ذكرهم صراحة.

لسهولة القراءة ، يتم عرض المخططات الجزئية في الخطوات عند الحاجة ، بدلاً من رسم تخطيطي كامل للدائرة.

حلول بديلة:

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

قيود:

تضمن الكود المقدم مع هذا المشروع تنفيذ تغييرات التوقيت الصيفي بناءً على نظام التوقيت الصيفي الأوروبي.

الخطوة 1: قائمة الأجزاء والأدوات

قائمة الأجزاء والأدوات
قائمة الأجزاء والأدوات

القطع:

إجمالي تكاليف قطع الغيار (باستثناء الطباعة ثلاثية الأبعاد) حوالي 30 يورو -.

  • Arduino Nano V3 (متوافق) بدون رؤوس
  • مزود الطاقة 5 فولت 0.6 أمبير (34 × 20 × 15 مم)
  • مرحل الحالة الصلبة 5 فولت - نشط منخفض - 2 أمبير 230 فولت تيار متردد
  • ساعة الوقت الحقيقي DS3231 (صغيرة)
  • شاشة OLED مقاس 0.96 بوصة SPI 128 * 64 بكسل
  • جهاز تشفير دوار - EC11 - 20 مم
  • مقبض 6 مم رمح 15 مم * 17 مم
  • لوحة الدوائر المطبوعة اللوح ،
  • 4 * مسامير M3x25mm
  • العلبة المطبوعة ثلاثية الأبعاد
  • أنابيب الانكماش الحراري
  • الأسلاك
  • كتلة طرفية لولبية (لتوصيل أسلاك محايدة)

الادوات المطلوبة:

  • لحام حديد
  • أسلاك اللحام
  • مضخة ديسولديرينغ
  • أدوات تقشير الأسلاك
  • القواطع
  • طابعة ثلاثية الأبعاد (لطباعة العلبة)
  • أدوات صغيرة متنوعة

تحذير

تعمل هذه الدائرة على 230 فولت تيار متردد وإذا لم تكن معتادًا على العمل بجهد رئيسي أو لم تكن لديك خبرة كبيرة في العمل بجهد رئيسي 230 فولت فيرجى الابتعاد عن هذا المشروع

لا أتحمل أي مسؤولية عن أي خسارة أو ضرر ينشأ مباشرة عن أو نتيجة لمتابعة هذا المشروع

يُنصح دائمًا بتوخي الحذر والاحتياطات المناسبة أثناء العمل مع التيار المتردد

الخطوة 2: قم بإعداد شاشة OLED وساعة الوقت الحقيقي

قم بإعداد شاشة OLED وساعة الوقت الحقيقي
قم بإعداد شاشة OLED وساعة الوقت الحقيقي

تم تصميم العلبة المطبوعة ثلاثية الأبعاد لأدنى حجم ممكن. نتيجة لذلك ، يجب إزالة رؤوس شاشة OLED وساعة الوقت الحقيقي.

استعدادًا للخطوة التالية ، قم بإزالة أي لحام متبقي من الثقوب باستخدام مضخة إزالة اللحام.

الخطوة 3: تحضير جهاز التشفير الدوار

تحضير التشفير الروتاري
تحضير التشفير الروتاري

يحتوي المشفر الدوار على موصلات واهية. لمنع التلف ، قم بتركيب قطعة من لوحة الدوائر المطبوعة بجهاز التشفير.

في الصورة ، تم تحضير الاتصال الأرضي (إلى أعلى اليمين والجزء السفلي الأوسط) بالفعل.

ملاحظة: تأكد من أن المشفر الدوار المزود بلوحة الدوائر المطبوعة يلائم العلبة دون لمس Arduino. قد يكون مطلوبًا طحن لوحة الدوائر المطبوعة للحصول على مقاس مناسب.

الخطوة 4: الضميمة

نسيج
نسيج
نسيج
نسيج

اطبع الأجزاء الثلاثة من العلبة باستخدام طابعة ثلاثية الأبعاد. راجع التعليمات الموجودة على Thingiverse.

الخطوة 5: تعطيل Arduino Power LED (اختياري)

تعطيل Arduino Power LED (اختياري)
تعطيل Arduino Power LED (اختياري)

لمنع توهج اللون الأخضر في المؤقت ، يمكن تعطيل مؤشر LED الخاص بالطاقة في Arduino.

لاحظ أن هذا التعديل اختياري.

يتكون التعديل على Arduino Nano من إزالة المقاوم بجوار الطاقة (انظر الدائرة الحمراء في الصورة).

الخطوة 6: مزود الطاقة + ترحيل الحالة الصلبة

مزود الطاقة + ترحيل الحالة الصلبة
مزود الطاقة + ترحيل الحالة الصلبة

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

يتم إجراء التوصيلات بين مزود الطاقة والمرحل في الجزء السفلي من هذه المكونات. سيتم استخدام الكتلة الطرفية اللولبية الخاصة بالمرحل للاتصال بـ Arduino.

ملاحظة: عند إجراء التوصيلات ، تأكد من أن فتحات التركيب الخاصة بمرحل الحالة الصلبة تظل خالية.

  • قم بتوصيل سلك توصيل بين مرحل الحالة الصلبة A1 بأحد توصيلات التيار المتردد لمصدر الطاقة
  • قم بتوصيل سلك بوصلة التيار المتردد الأخرى لمصدر الطاقة (سيتم توصيل هذا بمجموعة طرف المسمار المحايد في الخطوة 7)
  • لحام سلك بين مزود الطاقة -Vo لترحيل DC-
  • لحام سلك لتوصيل مصدر الطاقة + Vo لترحيل DC +

ملاحظة: قد يكون من الضروري تقصير الخيوط الموجودة على مصدر الطاقة والترحيل لتتمكن من وضعها في العلبة.

الخطوة 7: Arduino Nano + Power Supply + Solid-state Relay

اردوينو نانو + مزود طاقة + ترحيل الحالة الصلبة
اردوينو نانو + مزود طاقة + ترحيل الحالة الصلبة

في هذه الخطوة ، يتم توصيل Arduino Nano بمصدر الطاقة وترحيل الحالة الصلبة.

  • قطع سلكين بطول 70 مم تقريبًا. قم بفصل 30 مم من العزل من جانب و 4 مم على الجانب الآخر.
  • لحام الجانب بعزل 30 مم إلى Arduino + 5V و GND ، مع السلك الملتصق من خلاله
  • اقطع أنبوبين من الانكماش الحراري بطول 20 مم وقم بتثبيتهما فوق الجزء المجرد 25 مم. هذا يعزل الأسلاك حتى الاتصال مع كتلة طرف المسمار اللولبي DC + و DC- لترحيل الحالة الصلبة.
  • لاحظ أن الأسلاك الخاصة بـ GND و + 5V تحتاج إلى العبور لتوصيلها بشكل صحيح بكتلة طرف المسمار اللولبي.
  • قطع سلك بطول 40 مم تقريبًا وشريط 4 مم لعزل كلا الطرفين. قم بلحام جانب واحد من اتصال A2 على الجانب الخلفي من Arduino ، وقم بتوصيل الجانب الآخر بوصلة CH1 الخاصة بكتلة طرف المسمار اللولبي ذات الحالة الصلبة.

تحذير

يتم تشغيل Arduino مباشرة من مصدر طاقة ثابت + 5 فولت بدلاً من استخدام منظم الطاقة الداخلي Arduino. لذلك ، ليس من الآمن توصيل USB عندما يتلقى Arduino الطاقة من مصدر الطاقة.

افصل دائمًا التيار الكهربائي 230VAC قبل استخدام وصلة Arduino USB.

الخطوة 8: اردوينو نانو + ساعة الوقت الحقيقي

اردوينو نانو + ساعة الوقت الحقيقي
اردوينو نانو + ساعة الوقت الحقيقي

في هذه الخطوة ، يتم توصيل ساعة الوقت الفعلي بـ Arduino ، جزئيًا باستخدام الكابلات المعدة في الخطوة السابقة.

  • قم بتلحيم السلك القادم من Arduino GND (متصل أيضًا بـ DC- الخاص بالمرحل) إلى "-" في ساعة الوقت الفعلي.
  • قم بلحام السلك القادم من Arduino + 5V (متصل أيضًا بـ DC + الخاص بالمرحل) إلى "+" في ساعة الوقت الفعلي.
  • قطع سلكين بطول 40 مم تقريبًا وشريط عزل 4 مم لكلا الطرفين.
  • قم بلحام سلك بين Arduino A4 وساعة الوقت الحقيقي D (SDA).
  • قم بلحام سلك بين Arduino A5 وساعة الوقت الحقيقي C (SCL).
  • قم بتشكيل أسلاك ساعة الوقت الفعلي للتأكد من أنها لا تتداخل مع المشفر الدوار. لهذا ، يجب أن تكون الأسلاك في الجزء السفلي من العلبة.

الخطوة 9: قم بتوصيل شاشة OLED

قم بتوصيل شاشة OLED
قم بتوصيل شاشة OLED

في هذه الخطوة ، تتم إضافة شاشة OLED SPI إلى Arduino.

  • قطع سلكين بطول 65 مم وشريط عزل 4 مم لكلا الطرفين.
  • قم بتوصيل سلك بتوصيل GND لشاشة OLED. قم بتوصيل هذا السلك بالسلك المعزول لأنابيب الانكماش الحراري القادمة من Arduino GND (راجع الخطوة 4) وقم بتوصيل كلا السلكين بالكتلة الطرفية اللولبية DC-mount لترحيل الحالة الصلبة.
  • قم بتوصيل سلك بوصلة VCC لشاشة OLED. قم بتوصيل هذا السلك بالسلك المعزول لأنابيب الانكماش الحراري القادمة من Arduino + 5V (راجع الخطوة 4) وقم بتوصيل كلا السلكين إلى كتلة طرف المسمار اللولبي DC + لمرحل الحالة الصلبة.
  • قطع 5 أسلاك بطول 65 مم وشريط 4 مم لعزل كلا الطرفين.
  • قم بتوصيل سلك لتوصيل D0 (CLK) بـ Arduino D10
  • قم بتوصيل سلك لتوصيل D1 (MOSI / DATA) بـ Arduino D9
  • قم بتوصيل سلك لتوصيل RES (RT) بـ Arduino D8
  • قم بتوصيل سلك لتوصيل DC بـ Arduino D11
  • قم بتوصيل سلك لتوصيل CS بـ Arduino D12

ملاحظة: ترتيب أسلاك العرض غير منطقي. هذه نتيجة استخدام مثال Adafruit أولاً ، ثم تغيير الاتصالات لأن استخدام D13 ينتج عنه مؤشر LED أحمر على Arduino طوال الوقت.

لبديل

من الممكن استخدام ترتيب "عادي" لاتصالات SPI. لهذا ، يجب تعديل تعريف الإخراج الرقمي لبرنامج Arduino في oledcontrol.cpp وفقًا لذلك:

// استخدام برنامج SPI

// تعريفات دبوس

# تعريف CS_PIN 12

#define RST_PIN 8

# تعريف DC_PIN 11

#define MOSI_PIN 9

#define CLK_PIN 10

الخطوة 10: التشفير الروتاري

التشفير الروتاري
التشفير الروتاري

يوضح الرسم التخطيطي اتصالات Arduino بالمشفّر الدوار (المشفر المرئي من الأعلى).

  • قطع 4 أسلاك بقطر 45 مم وشريط عزل 4 مم لكلا الطرفين.
  • قم بتوصيل Arduino GND بالموصلات العلوية اليمنى والسفلى من المشفر
  • قم بتوصيل Arduino D2 بالجزء السفلي الأيسر من المشفر
  • قم بتوصيل Arduino D3 بالجزء السفلي الأيمن من المشفر
  • قم بتوصيل Arduino D4 بأعلى يسار المشفر

الخطوة 11: التثبيت في الضميمة

التثبيت في الضميمة
التثبيت في الضميمة

قم بتثبيت جميع الأجهزة الإلكترونية في الجزء السفلي من العلبة:

  • قم بتمرير Arduino على الفتحة العمودية
  • حرك ساعة الوقت الحقيقي في الحجرة السفلية
  • قم بتحريك مصدر الطاقة والمرحل في المقصورة العلوية ، وتأكد من تثبيت المرحل على حوامله.

الخطوة 12: التوصيل بالتيار الكهربائي / الضوء المراد تبديله

التوصيل بالأنابيب / الضوء المراد تبديله
التوصيل بالأنابيب / الضوء المراد تبديله
التوصيل بالتيار الكهربائي / الضوء المراد تبديله
التوصيل بالتيار الكهربائي / الضوء المراد تبديله

تحذير

تأكد من توخي الحذر والاحتياطات المناسبة أثناء العمل مع التيار المتردد ، وتأكد من فصل التيار المتردد

لا أتحمل أي مسؤولية عن أي خسارة أو ضرر ينشأ مباشرة عن أو نتيجة لمتابعة هذا المشروع

  • قم بتوصيل طور التيار المتردد الرئيسي بمجموعة طرف المسمار اللولبي A1 (يسار) للمرحل.
  • قم بتوصيل طور الضوء المراد تحويله إلى كتلة طرف المسمار B1 (اليمنى) الخاصة بالمرحل.
  • استخدم كتلة طرفية لولبية منفصلة لتوصيل السلك المحايد لأنابيب التيار المتردد والسلك المحايد الخفيف والسلك المحايد لمصدر الطاقة.
  • لتخفيف الضغط ، قم بتركيب ربطة عنق حول كل من كبلات الطاقة.

الخطوة 13: الانتهاء من الضميمة

الانتهاء من الضميمة
الانتهاء من الضميمة

في هذه الخطوة يتم الانتهاء من التركيب في العلبة

  • قم بتمرير شاشة OLED عبر فتحة تركيب الشاشة في الجزء الأوسط من العلبة.
  • قم بتمرير المشفر الدوار عبر الفتحة الموجودة في الجزء الأوسط ، وتأكد من أن الخطوط المضادة للدوران لأعلى. قم بتركيب المشفر الدوار باستخدام الغسالة والصمولة المرفقين.
  • قم بتركيب الجزء العلوي من العلبة وأغلق العلبة عن طريق تركيب أربعة براغي M3x25mm من الأسفل.

الخطوة 14: برمجة Arduino

تحذير

يتم تشغيل Arduino مباشرة من مصدر طاقة ثابت + 5 فولت بدلاً من استخدام منظم الطاقة الداخلي Arduino. لذلك ، ليس من الآمن توصيل USB عندما يتلقى Arduino الطاقة من مصدر الطاقة.

افصل دائمًا التيار الكهربائي 230VAC قبل استخدام وصلة Arduino USB.

استرجع برنامج توقيت Arduino من GitHub.

يستخدم هذا البرنامج Arduino IDE ، والذي يمكن الحصول عليه هنا.

يستخدم البرنامج المكتبات الإضافية التالية:

SSD1303Ascii

مكتبة Arduino Wire

لاحظ أنه يتم استخدام مكتبة dusk2dawn أيضًا ، ولكن يتم تضمينها كرمز بسبب تغيير في واجهتها.

لضمان حساب الغسق / الفجر الصحيح ، يجب تعيين خط الطول وخط العرض والمنطقة الزمنية.

كما هو موضح في مثال dusk2dawn ، تتمثل إحدى الطرق السهلة للعثور على خط الطول وخط العرض لأي موقع في العثور على البقعة في خرائط Google ، والنقر بزر الماوس الأيمن فوق المكان على الخريطة ، وتحديد "ماذا هنا؟". في الجزء السفلي ، سترى بطاقة بها الإحداثيات.

خطوط الطول والعرض مشفرة في البرنامج ، في خط Dusk2Dawn.cpp 19 و 20:

/ * يجب تعيين خط العرض وخط الطول لموقعك هنا.

* * تلميح: من الطرق السهلة للعثور على خط الطول وخط العرض لأي موقع * العثور على المكان في خرائط Google ، والنقر بزر الماوس الأيمن فوق المكان على الخريطة ، و * تحديد "ماذا يوجد هنا؟". في الجزء السفلي ، سترى بطاقة بها الإحداثيات *. * / #define LATITUDE 52.097105 ؛ // أوترخت #define LONGTITUDE 5.068294 ؛ // أوترخت

يتم أيضًا ترميز المنطقة الزمنية بشكل ثابت في سطر Dusk2Dawn.cpp 24. بشكل افتراضي يتم تعيينها على هولندا (GMT + 1):

/ * أدخل منطقتك الزمنية (تعويض بتوقيت جرينتش) هنا.

* / #define TIMEZONE 1

عند برمجة Arduino لأول مرة ، يجب تهيئة ذاكرة EEPROM. لهذا ، قم بتغيير timer.cpp line 11 للقيام بتهيئة EEPROM:

// التغيير إلى صحيح عند البرمجة لأول مرة

#define INITIALIZE_EEPROM_MEMORY خطأ

قم بتحميل البرنامج على Arduino وقم بتشغيل Arduino.

قم بتعطيل تهيئة EEPROM وقم بتحميل البرنامج على Arduino مرة أخرى. سيتذكر المؤقت الآن إعدادات وقت التبديل عند إعادة التشغيل.

الخطوة 15: ضبط الوقت والتبديل بين الأوقات

مفاهيم تفاعل المستخدم:

  • الضغط القصير يستخدم لتأكيد التحديدات. علاوة على ذلك ، في شاشة المؤقِّت الرئيسية ، تعمل ضغطة قصيرة على تشغيل الضوء أو إيقاف تشغيله.
  • الضغط لفترة طويلة يستخدم للدخول إلى القائمة من شاشة المؤقت الرئيسية. في أي مكان في القائمة ، ستعود ضغطة طويلة إلى شاشة المؤقت الرئيسية.
  • ">" مؤشر التحديد. يشير هذا المؤشر إلى الخيار المحدد في القائمة.

شاشة الموقت الرئيسية

تعرض شاشة المؤقت الرئيسية:

يوم الأسبوع سو

الوقت الحالي 16:00

حالة المؤقت الحالية ووقت التبديل التالي Timer OFF حتى 17:12

الفجر و الغسق الفجر 08:05 الغسق 17:10

ضبط الوقت الصحيح

اضغط لفترة طويلة للدخول إلى القائمة. يتم عرض الخيارات التالية:

BackSet timeWeek day programWeekend programWeekend program خيارات

اختر ضبط الوقت لضبط تاريخ ووقت ساعة الوقت الحقيقي. أدخل القيم الصحيحة لـ:

YearMonthDayTime

يحدد المؤقت تلقائيًا يوم الأسبوع. يتم أيضًا تبديل التوقيت الصيفي تلقائيًا. يتم تطبيق التوقيت الصيفي للمنطقة الزمنية الأوروبية فقط.

ضبط برنامج المؤقت

يحتوي المؤقت على برنامجين ، أحدهما لأيام الأسبوع والآخر لعطلة نهاية الأسبوع. لاحظ أن يوم الجمعة يعتبر جزءًا من عطلة نهاية الأسبوع ، ويمكن أن تظل الأضواء مضاءة لفترة أطول قليلاً.

كل مؤقت لديه مفتاح تشغيل وإيقاف لحظة. يمكن أن تكون اللحظة إما:

  • الوقت: الوقت المحدد بالضبط
  • الفجر: التبديل بناءً على وقت الفجر المحسوب
  • الغسق: التبديل بناءً على وقت الغسق المحسوب

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

أمثلة:

لتشغيل الضوء طوال الليل ، حدد التشغيل عند (الغسق + 10 دقائق) ، قم بإيقاف التشغيل عند (الفجر - 10 دقائق)

لتشغيل الضوء في المساء ، حدد تشغيل عند الغسق ، وأطفئ الساعة: 22:30.

خيارات

في شاشة الخيارات ، يمكن ضبط مهلة لتبديل الشاشة.

عند إيقاف تشغيل الشاشة ، فإن الضغط على مفتاح التشفير الدوار سيعود إلى شاشة المؤقت الرئيسية.

موصى به: