- المكونات المطلوبة لبناء ستائر اردوينو الآلية
- التحكم في الستائر الدوارة باستخدام الأردوينو
- تصميم وبناء معدات ستائر النوافذ
- طباعة ثلاثية الأبعاد على حامل المحرك والعتاد المكفوفين
- مخطط الدائرة للتحكم في الستائر في الأردوينو
- تطبيق Blynk للتحكم في Arduino Blind
- برمجة NodeMCU للتحكم في الستائر باستخدام Blynk
- التحكم في الستائر باستخدام مساعد جوجل
- التحكم التلقائي في أعمى النوافذ القائم على Arduino - شرح
"صباح الخير. إنها السابعة صباحًا الطقس في ماليبو 72 درجة… "كانت هذه هي الكلمات الأولى لـ JARVIS عند تقديمه في Marvel Cinematics Universe. يجب أن يكون معظم عشاق Iron Man قادرين على تذكر هذا المشهد وتذكر أن JARVIS كان قادرًا على فتح نافذة (نوعًا ما) في الصباح وإعطاء التحديثات في الوقت والطقس. في الفيلم ، صُنعت نظارات النافذة فعليًا من شاشات اللمس الشفافة ، وبالتالي تمكنت JARVIS من تحويلها من الأسود إلى الشفاف وعرض إحصائيات الطقس عليها أيضًا. ولكن ، في الواقع ، نحن بعيدون جدًا عن شاشات اللمس الشفافة ، وكلما اقتربنا من التحكم في ستائر النوافذ أو القيود تلقائيًا.
لذلك ، في هذا المشروع ، سنقوم ببناء ذلك بالضبط ، سنقوم ببناء ستارة آلية آلية من شأنها أن تفتح وتغلق تلقائيًا في أوقات محددة مسبقًا. في السابق ، قمنا ببناء العديد من مشاريع أتمتة المنزل والتي قمنا فيها بأتمتة الأضواء والمحركات وما إلى ذلك. يمكنك التحقق منها إذا كنت مهتمًا. لذا ، بالعودة ، يمكن لهذه الستائر التي يتم التحكم فيها بواسطة Arduino أن تأخذ أوامر من مساعد Google حتى تتمكن من فتح أو إغلاق ستائر النوافذ عن بُعد من خلال الأوامر الصوتية. مثيرة للاهتمام؟ ثم دعونا نبنيها.
المكونات المطلوبة لبناء ستائر اردوينو الآلية
المشروع بسيط نسبيًا ولا توجد العديد من المكونات المطلوبة. فقط اجمع العناصر المدرجة أدناه.
- NodeMCU
- محرك متدرج - 28BYJ-48
- وحدة سائق محرك متدرج
- LM117-3.3 فولت
- المكثفات (10 فائق التوهج ، 1 فائق التوهج)
- محول تيار مستمر 12 فولت
- مجلس بيرف
- عدة لحام
- طابعة 3D
التحكم في الستائر الدوارة باستخدام الأردوينو
يوجد الآن العديد من أنواع الستائر في السوق ، ولكن الأكثر استخدامًا هو حبل به حواف (كما هو موضح أدناه) يمكن سحبه لفتح أو إغلاق الستائر.
عندما نسحب هذا الحبل الدائري في اتجاه عقارب الساعة ، ستفتح ستائر النوافذ وعندما نسحب هذا الحبل في اتجاه عكس عقارب الساعة ، ستغلق ستائر النوافذ. لذا ، إذا أردنا أتمتة هذه العملية ، فكل ما علينا فعله هو استخدام محرك لسحب هذا الحبل في اتجاه عقارب الساعة أو عكس اتجاه عقارب الساعة وسننتهي من ذلك. في الواقع ، هذا ما سنفعله في هذا المشروع ؛ سنستخدم محرك السائر 28BYJ-48 جنبًا إلى جنب مع NodeMCU لسحب حبل مطرز.
تصميم وبناء معدات ستائر النوافذ
كان جزء الإلكترونيات من هذا المشروع بسيطًا إلى حد ما ومباشرًا ، وكان الجزء الصعب في بناء Blind Gear التي يمكن أن تسحب حبل مطرز. لنبدأ هذه المقالة بتصميم العتاد الأعمى ، لن أخوض في تفاصيل حول كيفية تصميم الترس ، لكن هذه الفكرة الأساسية يجب أن تساعدك. صورة الحبل مع الخرز عليه مبينة أدناه.
مرة أخرى ، هناك العديد من أنواع الحبال ولكن أكثر الحبال شيوعًا هي المسافة من المركز إلى المركز لكل خرزة تبلغ 6 مم وقطر كل خرزة 4 مم. باستخدام هذه المعلومات ، يمكننا البدء في تصميم معداتنا. إذا كان للحبل على الستائر لديك نفس الأبعاد التي تمت مناقشتها ، يمكنك ببساطة تخطي هذه الخطوة وتنزيل ملف STL المتوفر في هذه المقالة وطباعة الترس. إذا كان حبلك يحتوي على ترتيب خرز مختلف ، فهذه هي الطريقة التي يجب أن تعيد بها تصميم العتاد الأعمى.
قررت أن أحصل على 24 خرزة على معداتي للحصول على الحجم الأمثل لعجلة التروس ، يمكنك تحديد أي رقم قريب من هذا لتكون عجلة التروس كبيرة أو صغيرة. الآن ، نعلم أن المسافة بين كل خرزة هي 6 مم ونحتاج إلى 24 خرزة على معداتنا. سيعطي ضرب كلاهما محيط عجلة التروس. باستخدام هذه البيانات ، يمكنك حساب نصف قطر عجلة التروس. كما ترون في الصورة أعلاه ، تم حساب قطر عجلة التروس بحوالي 46 ملم. لكن تذكر أن هذا ليس القطر الفعلي للترس لأننا لم نأخذ في الحسبان قطر الحبيبات وهو 4 مم. لذلك ، سيكون القطر الفعلي لعجلة التروس 42 مم ، وقد قمت بطباعة واختبار العديد من عجلات التروس قبل أن أجد أفضلها. إذا لم تكن مهتمًا بالتصاميم ،ما عليك سوى تنزيل ملفات STL وطباعتها من الفقرة التالية ومتابعة مشروعك.
طباعة ثلاثية الأبعاد على حامل المحرك والعتاد المكفوفين
إلى جانب الترس ، سنحتاج أيضًا إلى غلاف صغير يمكن حفره على الحائط وإبقاء محرك السائر في موضعه ، كما هو موضح أدناه كل من الغلاف والترس المستخدم في هذا المشروع.
يمكنك العثور على ملفات تصميم كاملة وملفات STL على صفحة Arduino Blind Control Thingiverse الموضحة أدناه. يمكنك فقط تنزيل وطباعة معداتك المكفوفة وحافظة المحرك.
قم بتنزيل ملفات STL الخاصة بـ Blind Gear و Motor Case
مخطط الدائرة للتحكم في الستائر في الأردوينو
بمجرد أن تكون جاهزًا مع الترس والتجميع ، يصبح من السهل متابعة جزء الإلكترونيات والبرامج. يظهر أدناه مخطط الدائرة الكاملة لمشروع التحكم في إنترنت الأشياء Blind.
لقد استخدمنا محول 12 فولت لتشغيل الإعداد بالكامل ؛ يقوم منظم LM1117-3.3V بتحويل 12V إلى 3.3V والذي يمكن استخدامه لتشغيل لوحة NodeMCU. يتم تشغيل وحدة محرك السائر مباشرة من محول 12 فولت. لقد حاولت تشغيل محرك السائر بجهد 5 فولت ، ولكن بعد ذلك لم يوفر عزمًا كافيًا لسحب الستائر ، لذا تأكد من أنك تستخدم أيضًا 12V.
بصرف النظر عن ذلك ، فإن الدائرة بسيطة جدًا ، إذا كنت جديدًا على المحركات السائر ، فابحث في أساسيات مقالة محرك السائر لفهم كيفية عملها وكيف يمكن استخدامها مع متحكم دقيق.
تطبيق Blynk للتحكم في Arduino Blind
قبل الدخول في برنامج Arduino للتحكم في الستائر ، دعنا نفتح تطبيق blynk وإنشاء بعض الأزرار التي يمكننا من خلالها فتح أو إغلاق الستائر. سنحتاج أيضًا إلى هذا لاحقًا للتحكم من Google home.
لقد أضفت للتو زرين لفتح وإغلاق الستائر وموقت واحد لفتح الستائر في الساعة 10:00 صباحًا كل يوم. يمكنك إضافة عدة مؤقتات لفتح أو إغلاق الستائر في فترات مختلفة من اليوم. بشكل أساسي ، عندما يتعين علينا إغلاق الستائر ، يتعين علينا تشغيل دبوس افتراضي V1 وعندما يتعين علينا فتح الستائر ، يتعين علينا تشغيل دبوس افتراضي V2. سيتم كتابة برنامج التحكم في محرك السائر بناءً على الزر الذي تم الضغط عليه هنا على Arduino IDE ، وهو نفس الشيء موضح أدناه.
برمجة NodeMCU للتحكم في الستائر باستخدام Blynk
يمكن العثور على رمز ESP8266 الكامل لمشروع Blind Control هذا في أسفل هذه الصفحة. يجب أن ينتظر برنامجنا أمرًا من تطبيق blynk وبناءً على هذا الأمر ، يتعين علينا تدوير محرك السائر إما في اتجاه عقارب الساعة أو في اتجاه عكس اتجاه عقارب الساعة. تتم مناقشة الأجزاء المهمة من الكود أدناه.
وفقًا لمخطط الدائرة لدينا ، استخدمنا المسامير الرقمية 1 و 2 و 3 و 4 على nodemcu للتحكم في محرك السائر الخاص بنا. لذلك ، يتعين علينا إنشاء مثيل يسمى stepper باستخدام هذه المسامير كما هو موضح أدناه. لاحظ أننا حددنا الدبابيس بالترتيب 1 و 3 و 2 و 4. لقد تم ذلك عمداً وليس خطأ ؛ يتعين علينا تبديل الدبابيس 2 و 3 حتى يعمل المحرك بشكل صحيح.
// إنشاء مثيل لفئة السائر باستخدام الخطوات ودبابيس السائر (STEPS ، D1 ، D3 ، D2 ، D4) ؛
في الخطوة التالية ، يتعين علينا مشاركة رمز مصادقة تطبيق blynk الخاص بنا وبيانات اعتماد Wi-Fi التي يجب توصيل وحدة تحكم IoT Blind بها. إذا لم تكن متأكدًا من كيفية الحصول على رمز المصادقة Blynk هذا ، فارجع إلى مشروع Blynk LED Control لفهم أساسيات تطبيق blynk وكيفية استخدامه.
// يجب أن تحصل على Auth Token في تطبيق Blynk. // انتقل إلى إعدادات المشروع (رمز الجوز). char auth = "l_b47mF1hioCc_7FzdKMJJeFnJjTxxxx" ؛ // بيانات اعتماد WiFi الخاصة بك. // تعيين كلمة المرور على "" للشبكات المفتوحة. char ssid = "CircuitDigest" ؛ char pass = "dummy123" ؛
بالانتقال إلى الكود الخاص بنا ، بعد وظيفة الإعداد ، حددنا طريقتين لـ blynk. كما ذكرنا سابقًا ، يتعين علينا تحديد ما يجب أن تفعله الدبابيس الافتراضية V1 و V2. يتم إعطاء رمز لنفسه أدناه.
BLYNK_WRITE (V1) // CLOSE the BLINDS {Serial.println ("Closing Blinds")؛ if (open == true) {for (int c_val = 0؛ c_val <= 130؛ c_val ++) // تدوير في عكس اتجاه عقارب الساعة لإغلاق {stepper.step (c_val) ؛ يخضع أو يستسلم()؛ } مغلق = صحيح ؛ فتح = خطأ ؛ تعطيل_المحرك () ؛ // محركات الخطوة المرغوبة دائمًا بعد استخدامها لتقليل استهلاك الطاقة والتدفئة}} BLYNK_WRITE (V2) // OPEN the BLINDS {Serial.println ("فتح الستائر")؛ if (مغلق == صحيح) {for (int cc_val = 0؛ cc_val> = -130؛ cc_val--) // تدوير في اتجاه عقارب الساعة لفتح {stepper.step (cc_val) ؛ يخضع أو يستسلم()؛ } مفتوح = صحيح ؛ مغلق = خطأ ؛ } disable_motor () ؛ // محركات خطوة مرغوبة دائمًا بعد استخدامها لتقليل استهلاك الطاقة والتدفئة}
كما ترون ، يستخدم V1 لغلق الستائر ويستخدم V2 لفتح الستائر. A لحلقة يستخدم لتدوير المحركات في اتجاه عقارب الساعة أو عكس عقارب الساعة اتجاه 130 الخطوات. لقد جربت الستائر لتجد أنه من خلال 130 درجة ، يمكنني فتح الستائر وإغلاقها بالكامل. قد يختلف رقمك. و للحلقة لالسائر المحركات تدوير في اتجاه عقارب الساعة وعكس اتجاه عقارب الساعة الاتجاه هو مبين أدناه.
لـ (int c_val = 0 ؛ c_val <= 130 ؛ c_val ++) // تدوير في عكس اتجاه عقارب الساعة لإغلاق {stepper.step (c_val) ؛ يخضع أو يستسلم()؛ } لـ (int cc_val = 0؛ cc_val> = -130؛ cc_val--) // تدوير في اتجاه عقارب الساعة للفتح {stepper.step (cc_val) ؛ يخضع أو يستسلم()؛ }
يمكنك أيضًا ملاحظة متغيرين منطقيين "مفتوحان" و "مغلقان" في برنامجنا. يتم استخدام هذين المتغيرين لمنع المحرك من فتح أو إغلاق الستائر مرتين. بمعنى ، لن تفتح الستائر إلا عندما تكون مغلقة مسبقًا ولن تغلق إلا عند فتحها مسبقًا.
كيف تزيد سرعة محرك السائر 28BJY-48؟
أحد عيوب استخدام محرك السائر 28BJY-48 هو أنه بطيء جدًا. تم تصنيع هذه المحركات في الأصل لاستخدامها في تطبيقات عالية الدقة منخفضة السرعة ، لذلك لا تتوقع أن تدور هذه المحركات بسرعة عالية. إذا كنت ترغب في زيادة سرعة محرك السائر باستخدام Arduino ، فهناك معلمتان يمكنك تغييرهما. أحدهما هو #define STEPS 64 ، لقد وجدت أنه عندما يتم تحديد الخطوات على أنها 64 ، كان المحرك أسرع نسبيًا. معلمة أخرى هي stepper.setSpeed (500) ؛ مرة أخرى وجدت أن 500 قيمة مثالية ، أي شيء أكثر من ذلك يجعل محرك السائر أبطأ.
هل تعرف أي طريقة أخرى لزيادة سرعة هذه المحركات؟ إذا كانت الإجابة بنعم ، فاتركها في قسم التعليقات أدناه.
كيفية منع ارتفاع درجة حرارة المحرك السائر؟
يجب دائمًا تعطيل المحركات السائر عند عدم استخدامها لمنع ارتفاع درجة الحرارة. إن تعطيل محرك السائر بسيط للغاية ؛ ما عليك سوى تغيير حالة الدبوس لجميع دبابيس GPIO الأربعة التي تتحكم في محرك السائر إلى المستوى المنخفض. هذا مهم جدًا ، وإلا فقد يصبح محركك ساخنًا جدًا عند + 12V ويتلف نفسه بشكل دائم. فيما يلي برنامج لتعطيل محرك السائر.
void disable_motor () // أوقف تشغيل المحرك عند الانتهاء لتجنب التسخين {digitalWrite (D1، LOW) ؛ الكتابة الرقمية (D2 ، منخفضة) ؛ الكتابة الرقمية (D3 ، منخفضة) ؛ الكتابة الرقمية (D4 ، منخفضة) ؛ }
التحكم في الستائر باستخدام مساعد جوجل
سنستخدم blynk API للتحكم في الستائر عبر مساعد Google ، وسيكون مشابهًا لمشروع أتمتة المنزل الذي يتم التحكم فيه بالصوت ، لذا تحقق من ذلك إذا كنت مهتمًا. في الأساس ، يتعين علينا تشغيل الرابط أدناه عندما نقول عبارة محددة مسبقًا لمساعد Google.
//http://188.166.206.43/l_b47mF1hioCc_7FzdKMJJeFnJjTxxxx/update/V1؟value=1 /
تأكد من تغيير رمز المصادقة إلى الرمز الذي يوفره تطبيق blynk الخاص بك. يمكنك حتى اختبار هذا الرابط على متصفح Chrome لمعرفة ما إذا كان يعمل كما هو متوقع. الآن بعد أن أصبح الرابط جاهزًا ، علينا ببساطة الانتقال إلى IFTTT وإنشاء برنامجين يمكنك تشغيل الدبوس الافتراضي V1 و V2 عندما نطلب إغلاق الستائر وفتحها. مرة أخرى ، لا أخوض في تفاصيل هذا لأننا فعلنا ذلك مرات عديدة. إذا كنت بحاجة إلى مزيد من المساعدة ، فارجع إلى مشروع راديو FM الذي يتم التحكم فيه صوتيًا ، فقط استبدل خدمات adafruit بخطافات الويب. أشارك أيضًا لقطة شاشة لمقتطفي كمرجع.
التحكم التلقائي في أعمى النوافذ القائم على Arduino - شرح
بعد أن تصبح الدوائر والمرفقات المطبوعة ثلاثية الأبعاد جاهزة ، ما عليك سوى تجميع الجهاز على الحائط عن طريق حفر فتحتين على الحائط. يظهر إعداد التركيب الخاص بي في الصور أدناه.
بعد ذلك ، تأكد من أن الستائر في حالة مفتوحة ثم قم بتشغيل الدائرة. الآن ، يمكنك محاولة إغلاق الستائر من تطبيق blynk أو من خلال مساعد Google ويجب أن يعمل. يمكنك أيضًا ضبط المؤقتات في تطبيق blynk لفتح وإغلاق الستارة تلقائيًا في وقت معين من اليوم.
يمكن العثور على العمل الكامل للمشروع في الفيديو أدناه ؛ إذا كان لديك أي أسئلة ، فلا تتردد في كتابتها في قسم التعليقات أدناه. أيضًا ، يمكنك استخدام منتدياتنا لإجراء مناقشات تقنية أخرى.