- مخطط دائرة لأتمتة المنزل التي يتحكم فيها مساعد Google
- إعداد تطبيق Blynk
- إعداد IFTTT مع Google Assistant و Blynk لقراءة السلسلة
- برمجة Arduino لـ Blynk Home Automation
- تصنيع ثنائي الفينيل متعدد الكلور باستخدام PCBGoGo
- تجميع ثنائي الفينيل متعدد الكلور
- توصيل اللوح بوحدات طاقة التيار المتردد / لوحات التمديد
مع التقدم في المساعدين الافتراضيين مثل Google Assistant و Alexa ، أصبحت أتمتة المنزل وتطبيقات التحكم الصوتي أمرًا طبيعيًا. الآن ، قمنا بأنفسنا ببناء العديد من مشاريع أتمتة المنزل ، من أضواء السلالم التلقائية البسيطة إلى أتمتة المنزل القائمة على إنترنت الأشياء والتي يتم التحكم فيها عبر الإنترنت باستخدام Raspberry Pi لكن هذا المشروع هنا مختلف ، والفكرة هنا هي إنشاء لوحة أتمتة منزلية عملية يمكن أن تتناسب مع وحدات طاقة التيار المتردد على جدراننا وتبقى مخفية بداخلها. يجب ألا تقاطع اللوحة العمل العادي لمفاتيح وحدة الطاقة الخاصة بنا ، أي يجب تشغيلها أو إيقاف تشغيلها باستخدام المفاتيح اليدوية أيضًا. ودون أن يقال ، يجب أن يكون قادرًا أيضًا على التحكم في نفس الحمل باستخدام الصوت باستخدام مساعد جوجل وأيضًا ضبط مؤقت بحيث يمكن تشغيل أو إيقاف أي حمل تلقائيًا خلال وقت محدد مسبقًا من اليوم.
هذا المشروع مشابه جدًا لقابس ESP8266 Smart Wi-Fi الخاص بنا ولكن هنا نظرًا لأننا سنستخدم ESP12 ، سيكون لدينا المزيد من دبابيس GPIO مما يسمح لنا بالتحكم في أربعة أحمال AC في وقت واحد. أيضًا ، نظرًا لأننا دمجنا Blynk و Google Assistant ، أصبح المشروع ممتعًا وعمليًا للاستخدام. لهذا المشروع قمنا ببناء لوحات الدوائر باستخدام خدمة تصنيع PCBGOGO PCB. في القسم الأخير من المقالة ، قدمنا ملف Gerber المصمم للدائرة وشرحنا أيضًا الإجراء الكامل لطلب ثنائي الفينيل متعدد الكلور من PCBGOGO.
تحذير: يتضمن هذا المشروع العمل بجهد التيار المتردد. يرجى العلم بضرورة توخي الحذر الشديد عند العمل بجهد تيار متردد عالي. تأكد من أن يشرف عليك شخص ذو خبرة إذا كنت جديدًا.
مخطط دائرة لأتمتة المنزل التي يتحكم فيها مساعد Google
يمكن العثور أدناه على مخطط الدائرة الكاملة لأتمتة المنزل.
كما ترى ، الدائرة بسيطة للغاية ، فلنبدأ الشرح من وحدة ESP12E Wi-Fi. يمكنك أيضًا مشاهدة الفيديو أدناه للحصول على شرح مفصل للمشروع. يمكن برمجة الوحدة تمامًا مثل لوحات تطوير nodeMCU وهي تقلل الكثير من المساحة. بشكل افتراضي ، عند التشغيل ، سيدخل ESP12E في وضع التشغيل. من أجل برمجته ، يتعين علينا استخدام زر إعادة الضبط والفلاش. هذا لوضع ESP12 في وضع البرمجة ، اضغط مع الاستمرار على كل من زر إعادة الضبط والفلاش ، ثم حرر زر إعادة الضبط. سيؤدي هذا إلى تشغيل ESP12E مع الضغط على زر الفلاش ، والآن حرر زر الفلاش وسيدخل ESP12E في وضع البرمجة. بعد البرمجة ، يجب عليك الضغط على زر إعادة الضبط مرة أخرى لتشغيل ESP12E في وضع التشغيل العادي لتنفيذ البرنامج الذي تم تحميله. دبابيس البرمجة Rx ، Rx ،ويتم تمديد الأرض لتتمكن من الاتصال بلوحة FTDI أو محول USB إلى TTL. تأكد من توصيل دبوس Tx الخاص بـ ESP12 بدبوس Rx الخاص بالمبرمج والعكس صحيح.
تُستخدم دبابيس العلم الأخرى I1 إلى I4 و R1 إلى R4 لتوصيل المحولات والمرحلات. دبابيس I1 إلى I4 تقف لدبابيس الإدخال. تدعم كل هذه المسامير المقاوم الداخلي للسحب ، لذا يتعين علينا فقط توصيل المفاتيح الموجودة في صندوق الامتداد بدبوس الإدخال الخاص بنا من خلال المقاوم المنسدل كما هو موضح أدناه.
وبالمثل ، يتم استخدام دبابيس خرج الترحيل R1 إلى R4 للتحكم في المرحلات. لقد استخدمنا دائرة تشغيل قياسية للترحيل مع BC547 و IN4007 Diode كما هو موضح أدناه. لاحظ أنه يجب تشغيل المرحلات بجهد 5 فولت ولكن دبابيس خرج ESP12E تبلغ 3.3 فولت فقط. لذلك ، من الضروري استخدام الترانزستور لقيادة المرحلات. لقد وضعنا أيضًا مؤشرًا ضوئيًا في المسار الأساسي للترانزستور بحيث يتم أيضًا تشغيل مؤشر LED كلما تم تشغيل الترانزستور.
أخيرًا ، لتشغيل جميع دوائرنا ، استخدمنا محول Hi-Link AC-DC لتحويل 220 فولت تيار متردد إلى 5 فولت تيار مستمر. ثم يتم تحويل هذا الجهد 5V DC إلى 3.3V باستخدام منظم الجهد AMS117-3.3V. يستخدم 5V لتشغيل المرحلات ويستخدم 3.3V لتشغيل وحدة ESP21 Wi-Fi.
إعداد تطبيق Blynk
لقد قمنا سابقًا ببناء العديد من مشاريع Blynk مثل Wi-Fi Controled Arduino Robot ، لذلك لن ندخل في تفاصيل إعداد تطبيق blynk. ولكن لتبسيط الأمر ، ما عليك سوى تثبيت التطبيق وإنشاء مشروع جديد لـ NodeMCU والبدء في وضع عناصر واجهة المستخدم الخاصة بك كما هو موضح أدناه.
لقد استخدمت دبابيس افتراضية من V1 إلى V4 للتحكم في الترحيل من 1 إلى 4 في مشروعنا. تأكد من تغيير نوع الزر للتبديل. يمكن أيضًا استخدام خيار المؤقت لتشغيل المسامير الافتراضية تلقائيًا للوقت المحدد ، حتى إذا تم إيقاف تشغيل الهاتف. لقد استخدمت مؤقتًا فقط للدبوس الظاهري V1 هنا ، على سبيل المثال ، ولكن يمكنك استخدامه لجميع المسامير الأربعة إذا لزم الأمر.
تأكد من الحصول على قيمة رمز المصادقة blynk من صفحة مشروعك. ما عليك سوى النقر على أيقونة الجوز (محاطة بدائرة باللون الأحمر في الصورة أعلاه) ونسخ رمز المصادقة باستخدام خيار نسخ الكل ولصقه في مكان آمن ، سنحتاجه عند برمجة لوحة Arduino.
إعداد IFTTT مع Google Assistant و Blynk لقراءة السلسلة
أسهل طريقة لاستخدام مساعد Google للتشغيل الآلي للمنزل هي باستخدام IFTTT. لقد قمنا أيضًا ببناء العديد من مشاريع IFTTT سابقًا مع NodeMCU و Raspberry Pi. في هذا المشروع ، سنستخدم تطبيق Blynk لتشغيل خطاف ويب باستخدام مساعد Google. إنه مشابه جدًا لأتمتة المنزل الذي يتم التحكم فيه صوتيًا ومشروع راديو FM بالتحكم الصوتي. فيما عدا ، سنستخدم blynk مع IFTTT لإرسال سلسلة مما يجعلها أسهل بكثير ومثيرة للاهتمام.
في الأساس ، سنستخدم الدبوس الظاهري V5 و V6 على blynk لإرسال أمر المشغل. سيتم استخدام V5 لأوامر التشغيل وسيتم استخدام V6 لأوامر إيقاف التشغيل. على سبيل المثال ، إذا قلنا تشغيل التلفزيون والمصباح. سيتم إرسال أمر السلسلة هنا "TV and Lamp" إلى NodeMCU باستخدام واجهة برمجة التطبيقات. بناء جملة API على النحو التالي.
http://188.166.206.43//update/V5؟value=TV and Lamp
الآن كل ما يتعين علينا القيام به في IFTTT هو استخدام مساعد google كـ IF و webhooks ، لذا استمع إلى هذا الأمر وأرسل المعلومات إلى NodeMCU باستخدام واجهة برمجة التطبيقات المذكورة أعلاه. النموذج الصغير الذي يتم تشغيله هو نفسه موضح أدناه.
لاحظ أنه يجب عليك تحديد خيار نطق العبارة باستخدام خيار مكون النص عند إنشاء وصفة لمساعد Google. وبالمثل ، عليك أن تكرر نفس الشيء مع الدبوس الافتراضي V6 لإيقاف تشغيل المرحلات. يمكنك التحقق من الفيديو في أسفل هذه الصفحة للحصول على معلومات مفصلة.
برمجة Arduino لـ Blynk Home Automation
يمكن العثور على كود Arduino الكامل لهذا المشروع في أسفل هذه الصفحة. شرح نفسه على النحو التالي. قبل ذلك ، تأكد من أنه يمكنك استخدام Blynk و Program NodeMCU من Arduino IDE. في حالة عدم اتباع مقالة البدء باستخدام ESP12. أضف أيضًا مكتبة blynk إلى Arduino IDE باستخدام مدير اللوحة.
كما هو الحال دائمًا ، نبدأ الكود الخاص بنا عن طريق تحديد دبابيس الإدخال والإخراج ، هنا سيكون الإدخال من المفاتيح وسيكون الإخراج من المرحلات. لقد حددنا أسماء الدبوس لجميع المفاتيح الأربعة على أنها sw و relays على أنها rel كما ترون أدناه.
#define sw1 13 #define sw2 12 #define sw3 14 #define sw4 16 #define rel1 4 #define rel2 5 #define rel3 9 #define rel4 10
في المرحلة التالية ، يجب عليك إدخال بعض بيانات الاعتماد مثل رمز المصادقة blynk واسم المستخدم وكلمة المرور لجهاز توجيه Wi-Fi الذي يجب أن يتصل به nodeMCU. يمكن الحصول على رمز المصادقة الوامضة من تطبيق blynk. سوف نتعلم المزيد عن ذلك في قسم إعداد تطبيق blynk.
char auth = "Fh3tm0ZSrXQcROYl_lIYwOIuVu-E" ؛ // الحصول على من تطبيق blynk char ssid = "home_wifi" ؛ char pass = "fakepass123" ؛
بعد ذلك ، قدمنا تعريفًا لوظيفة تسمى read_switch_toggle () . في هذه الوظيفة ، سنقارن الحالة الحالية والحالة السابقة لمفاتيح التبديل الخاصة بنا. إذا تم تشغيل المفتاح أو إيقاف تشغيله ، على سبيل المثال ، إذا تم تبديل المفتاح. سيكون هناك تغيير في حالة المفتاح ، وستقوم الوظيفة بمراقبة هذا التغيير وإرجاع رقم التبديل. إذا لم يتم اكتشاف أي تغيير ، فسيتم إرجاع 0.
int read_switch_toggle () {int نتيجة = 0 ؛ // لاحظ جميع القيم السابقة لـ (int i = 0 ؛ i <= 3 ؛ i ++) pvs_state = crnt_state ؛ // اقرأ الحالة الحالية للمفاتيح crnt_state = digitalRead (sw1) ؛ crnt_state = digitalRead (sw2) ؛ crnt_state = digitalRead (sw3) ، crnt_state = digitalRead (sw4) ، // قارن الحالة الحالية و pvs لـ (int i = 0 ؛ i <= 3 ؛ i ++) {if (pvs_state! = crnt_state) {نتيجة = (i + 1) ؛ // إذا تم تبديل أي مفتاح ، نحصل على رقم التبديل كنتيجة لإرجاع النتيجة ؛ } نتيجة أخرى = 0 ؛ // إذا لم يكن هناك تغيير نتيجة 0} إرجاع النتيجة ؛ // إرجاع النتيجة}
بعد ذلك ، لدينا رمز تطبيق blynk. سنستخدم رقم التعريف الشخصي الظاهري V1 إلى V6 للتحكم في صندوق التوصيل الذكي الخاص بنا. سيتم استخدام الدبابيس V1 إلى V4 للتحكم في المرحلات من 1 إلى 4 على التوالي مباشرة من تطبيق blynk. يوضح الكود أدناه ما يحدث عند تشغيل V1 من تطبيق blynk. نحن ببساطة نقرأ الحالة (عالية أو منخفضة) ونتحكم في التتابع وفقًا لذلك.
BLYNK_WRITE (V1) {digitalWrite (rel1، param.asInt ()) ؛ Serial.println ("V1") ؛ }
وبالمثل ، يمكن أيضًا استخدام الدبابيس الافتراضية لقراءة سلسلة من تطبيق blynk. سنتعلم كيفية إرسال سلسلة من مساعد Google إلى NodeMCU باستخدام IFTTT ومساعد Google لاحقًا ولكن في الوقت الحالي ، دعنا نرى كيف يقرأ رمز NodeMCU هذه السلسلة ويبحث عن كلمة رئيسية معينة ويقوم بتشغيل الترحيل وفقًا لذلك.
في الكود أدناه ، يمكنك أن ترى أنه عند تشغيل الدبوس الظاهري V5 ، نحصل على السلسلة التي تمررها إلى متغير سلسلة يسمى ON_message . ثم باستخدام متغير السلسلة هذا وطريقة inderOf ، نقوم بالبحث عما إذا كانت هناك أي كلمات رئيسية مثل "مصباح" ، "LED" ، "موسيقى" ، "تلفزيون" ، إذا كانت الإجابة بنعم ، فإننا نقوم بتشغيل هذا الحمل المحدد. إذا تم الكشف عن الكلمة الرئيسية "كل شيء" ، فإننا نقوم بتشغيل كل شيء. يمكن أيضًا القيام بنفس الشيء مع V6 لإيقاف تشغيل المرحلات. سوف نفهم المزيد حول هذا الأمر عندما ندخل إلى قسم IFTTT.
BLYNK_WRITE (V5) {String ON_message = param.asStr () ؛ Serial.println (ON_message) ؛ if (ON_message.indexOf ("lamp")> = 0) digitalWrite (rel1، HIGH) ؛ if (ON_message.indexOf ("LED")> = 0) digitalWrite (rel2، HIGH) ؛ if (ON_message.indexOf ("music")> = 0) digitalWrite (rel3، HIGH) ؛ if (ON_message.indexOf ("TV")> = 0) digitalWrite (rel4، HIGH) ؛ if (ON_message.indexOf ("everything")> = 0) {digitalWrite (rel1، HIGH)؛ digitalWrite (rel2، HIGH)؛ digitalWrite (rel3، HIGH)؛ digitalWrite (rel4، HIGH)؛ }}
أخيرًا ، داخل وظيفة الحلقة ، علينا فقط التحقق مما إذا كانت أي أزرار قد تغير موضع التبديل. إذا كانت الإجابة بنعم ، فإننا نستخدم حالة تبديل كما هو موضح أدناه لتبديل موضع هذا الترحيل المحدد.
التبديل (toggle_pin) {حالة 0: كسر ؛ الحالة 1: Serial.println ("Toggling Relay 1") ؛ digitalWrite (rel1، relay_state) ؛ استراحة؛ الحالة 2: Serial.println ("Toggling Relay 2") ؛ digitalWrite (rel2، relay_state) ؛ استراحة؛ الحالة 3: Serial.println ("Toggling Relay 3") ؛ digitalWrite (rel3، relay_state) ؛ استراحة؛ الحالة 4: Serial.println ("Toggling Relay 4") ؛ digitalWrite (rel4، relay_state) ؛ استراحة؛ }}
تصنيع ثنائي الفينيل متعدد الكلور باستخدام PCBGoGo
الآن نحن نفهم كيفية عمل المخططات ، يمكننا المضي قدمًا في بناء ثنائي الفينيل متعدد الكلور لمشروع أتمتة المنزل. يتوفر أيضًا تخطيط PCB للدائرة أعلاه للتنزيل باسم Gerber من الرابط.
- قم بتنزيل برنامج GERBER لأتمتة المنزل المتحكم فيه بالصوت باستخدام مساعد Google
الآن تصميمنا جاهز ، حان الوقت لجعلها ملفقة باستخدام ملف جربر. لإنجاز PCB من PCBGOGO أمر سهل للغاية ، ما عليك سوى اتباع الخطوات أدناه-
الخطوة 1: ادخل إلى www.pcbgogo.com ، واشترك إذا كانت هذه هي المرة الأولى لك. ثم في علامة التبويب PCB Prototype ، أدخل أبعاد PCB وعدد الطبقات وعدد PCB الذي تحتاجه. بافتراض أن PCB هو 80 سم × 80 سم ، يمكنك ضبط الأبعاد كما هو موضح أدناه.
الخطوة 2: تابع بالنقر فوق الزر Quote Now . سيتم نقلك إلى صفحة حيث يتم تعيين بعض المعلمات الإضافية إذا لزم الأمر مثل تباعد المسار المستخدم ، وما إلى ذلك ، ولكن في الغالب ، ستعمل القيم الافتراضية بشكل جيد. الشيء الوحيد الذي يتعين علينا التفكير فيه هنا هو السعر والوقت. كما ترى فإن مدة البناء هي 2-3 أيام فقط وتكلف 5 دولارات فقط لثنائي الفينيل متعدد الكلور. يمكنك بعد ذلك تحديد طريقة الشحن المفضلة بناءً على متطلباتك.
الخطوة 3: الخطوة الأخيرة هي تحميل ملف Gerber ومتابعة الدفع. للتأكد من أن العملية سلسة ، يتحقق PCBGOGO مما إذا كان ملف Gerber الخاص بك صالحًا قبل متابعة الدفع. بهذه الطريقة ، يمكنك التأكد من أن ثنائي الفينيل متعدد الكلور الخاص بك سهل التصنيع وسيصل إليك كما هو ملتزم.
تجميع ثنائي الفينيل متعدد الكلور
بعد طلب اللوحة ، وصلتني بعد بضعة أيام من خلال البريد السريع في صندوق معبأ جيدًا ، وكما هو الحال دائمًا ، كانت جودة PCB رائعة. يظهر ثنائي الفينيل متعدد الكلور الذي استلمته أدناه. كما ترى ، تحولت كل من الطبقة العلوية والسفلية كما هو متوقع.
كانت جميع المنافذ والوسادات بالحجم المناسب. استغرق الأمر مني حوالي 15 دقيقة للتجميع على لوحة PCB للحصول على دائرة عمل. يتم عرض اللوحة المجمعة أدناه.
توصيل اللوح بوحدات طاقة التيار المتردد / لوحات التمديد
تم تصميم اللوحة ليتم تثبيتها داخل مقابس التيار المتردد في منازلنا. ولكن من أجل هذا المشروع ، سنستخدم صندوق تمديد. إذا كنت تريد حلاً دائمًا ، فقم بتوصيله داخل مآخذ طاقة التيار المتردد ، كما ترى أدناه ، فإن طول PCB مضغوط بدرجة كافية ليتم وضعه داخل مقبس طاقة التيار المتردد.
تأكد من اتباع احتياطات السلامة أثناء العمل مع أنابيب التيار المتردد. اتبع مخطط الدائرة أدناه لفهم كيفية توصيل المرحلات والمفاتيح بلوحة PCB الخاصة بنا.
مخطط الاتصال معطل فقط لترحيل واحد وتبديل ولكن يمكنك فقط تكرار نفس الشيء للثلاثة المتبقية أيضًا. بمجرد الانتهاء من الاتصالات ، يجب أن يبدو لوحك هكذا
بمجرد إجراء التوصيلات ، تأكد من تثبيتها بإحكام باستخدام أطراف المسمار واستخدم أيضًا الغراء الساخن لمزيد من الأمان. أعد كل شيء إلى الصندوق وسنكون جاهزين للاختبار. يمكنك العثور على العمل الكامل لهذا المشروع في الفيديو أدناه.
أتمنى أن تكون قد استمتعت بالمقال وتعلمت شيئًا مفيدًا. إذا كانت لديك أي أسئلة ، فيرجى تركها في قسم التعليقات أدناه أو استخدام منتدياتنا.