- قاذفة صاروخية يتم التحكم فيها بالصوت بواسطة Alexa - تعمل
- Launchpad لوحدة التحكم في إطلاق الصواريخ NodeMCU
- المكونات المطلوبة لقاذفة الصواريخ التي تسيطر عليها Alexa
- مخطط دائرة Arduino Rocket Launcher
- بناء الدائرة على PerfBoard
- برمجة NodeMCU لقاذفة الصواريخ التي يتم التحكم فيها من قِبل Alexa
- تكوين Alexa باستخدام تطبيق Alexa Android
- قاذفة الصواريخ التي تسيطر عليها أليكسا - اختبار
مع اقتراب فصل الشتاء ؛ يأتي ذلك الوقت من العام الذي يتم فيه الاحتفال بمهرجان الأضواء. نعم ، نحن نتحدث عن ديوالي وهو مهرجان هندي حقيقي يتم الاحتفال به في جميع أنحاء العالم. هذا العام ، انتهى ديوالي بالفعل ، ورأيت مفرقعات نارية للناس ، توصلت إلى فكرة بناء قاذفة صواريخ تعمل بالتحكم الصوتي أو Igniter تعتمد على Alexa ، والتي يمكنها إطلاق الصواريخ بأمر صوتي فقط ، مما يجعلها آمنة وممتعة للغاية للأطفال
لتوضيح ذلك ، أنا لست هنا لتشجيع الناس على إطلاق المفرقعات في ديوالي ، فقد فرضت الحكومة الهندية قيودًا على المفرقعات للحد من التلوث ومن مسؤوليتنا الالتزام بها. الفكرة هنا هي أنه بدلاً من قضاء يوم كامل في إطلاق المفرقعات ، دعونا نبني جهاز إشعال صاروخي بارد من نوع Arduino يتم التحكم فيه بالصوت ونطلق بعض الصواريخ بأناقة. أنا أرى ذلك على أنه فوز.
هذا قاذفة صواريخ اردوينو ستكون مختلفة جدا عن الآخرين. إنه يحتوي على هيكل قوي للغاية مصنوع من الخشب الرقائقي ، وآلية تحكم موثوقة تعتمد على الترحيل ، وآلية فريدة جدًا لإطلاق الصواريخ وإعادة تحميلها ، لذلك دون مزيد من التأخير ، دعنا ندخل مباشرة في عملية البناء.
قاذفة صاروخية يتم التحكم فيها بالصوت بواسطة Alexa - تعمل
آلية عمل الدائرة بسيطة للغاية ، المكون الرئيسي المسؤول عن إطلاق الصاروخ هو سلك نيتشروم ، ويأتي على شكل ملف تسخين. سيعمل سلك النيتشروم هذا كمشعل للصواريخ. كيف؟ سأريك لاحقا.
كما ترون في الصورة أعلاه ، يأتي سلك النيتشروم على شكل ملف تسخين ، بالنسبة لي ، كان أسهل طريقة للحصول عليه. يجب أن نسحبه بشكل مستقيم ونثنيه لتشكيل شكل يشبه كما هو موضح في الصورة أدناه
بمجرد قيامنا بذلك ، سنقوم بتشغيله ببطارية حمض الرصاص 12 فولت وسوف يتوهج باللون الأحمر. سيكون هذا كافيًا لإشعال المسحوق الأسود داخل الصاروخ وسيعمل تمامًا مثل جرعة الصمامات العادية. يرجى العلم أن هذه وحدة تحكم في إطلاق الصواريخ عالية الطاقة ، والتيار المطلوب لجعل السلك أحمر حار مرتفع. اتبع إرشادات السلامة عند العمل مع التيارات العالية.
بمجرد الانتهاء من الاختبار ، فإن الشيء الوحيد المتبقي هو عملية التحكم ، والتي سنفعلها بينما نمضي قدمًا في المقالة.
Launchpad لوحدة التحكم في إطلاق الصواريخ NodeMCU
بالنسبة لهذا التصميم ، دعنا نصنع لوحة التشغيل. بعد الانتهاء من لوحة التشغيل ، يمكننا بسهولة إعادة تحميل بعض المفرقعات وتشغيلها بسهولة بالغة. لقد قمت ببناء لوحة إطلاق تشبه تلك الموضحة في الصورة الموضحة أدناه.
دعنا ننتقل إلى عملية بناء لوحة التشغيل خطوة بخطوة. بالنسبة إلى جانبي الإطار ، لقد استخدمت قطعتين من الخشب الرقائقي بطول 25 × 3 × 1.5 بوصة. بالنسبة للجزء العلوي ، لقد استخدمت جزءًا طويلًا (20 × 3 × 1.5) بوصة من الخشب الرقائقي وللقاعدة ، استخدمت قطعة طويلة من الخشب الرقائقي (20 × 6 × 1.5 بوصة) ، مما يمنحها مزيدًا من الاستقرار. الصورة أدناه ستعطيك فكرة واضحة.
الآن ، حان الوقت لصنع خيوط نيتشروم القائمة على الأسلاك ، والتي ستكون بمثابة فتيل لصاروخنا. لذلك ، اشتريت ملف تسخين بقاعدة سلك نيتشروم 1000 وات ، وقمت بتقويمه ، وصنع الهيكل الموضح أدناه. اضطررت إلى استخدام كماشة وقواطع جانبية لتشكيل سلك نيتشروم كما هو موضح أدناه.
بمجرد الانتهاء من ذلك ، قسمت قطعة الخشب الرقائقي مقاس 20 بوصة إلى سبع قطع قياسها ، وحفرت ثقوبًا لوضع خيوط نيتشروم القائمة على الأسلاك فيها ، وبمجرد الانتهاء من ذلك ، بدت مثل الصور أدناه.
لكن قبل وضع الخيوط ، قمت بتوصيل سلك نحاسي بسمك 1 مم مربع في كل طرف وقمت بتمريرها عبر الفتحات ، بمجرد الانتهاء من كل شيء ، بدا الأمر كما في الصورة أدناه.
كما ترون ، لقد قمت أيضًا بوضع المادة اللاصقة المكونة من عنصرين لتأمين السلك والخيوط في مكانها. وبهذا تكون لوحة التشغيل كاملة. وكما ترون من الصورة الأولى في هذا القسم ، لقد قمت بربط أسلاك الفتيل مباشرة بـ PCB لأننا نتعامل مع تيارات عالية جدًا لذلك لم أكلف نفسي عناء وضع طرف لولبي ، وهذا يمثل نهاية الهيكل لدينا عملية البناء.
المكونات المطلوبة لقاذفة الصواريخ التي تسيطر عليها Alexa
بالنسبة إلى جانب الأجهزة للأشياء ، استخدمنا أجزاء عامة جدًا يمكنك الحصول عليها بسهولة من متجر الهوايات المحلي ، وترد أدناه قائمة كاملة بالعناصر.
- مرحل 12 فولت - 3
- الترانزستور BD139 - 3
- 1N4004 ديود - 3
- 5.08 مم طرف المسمار - 1
- LM7805 - منظم الجهد - 1
- 100 فائق التوهج فصل مكثف - 2
- 5.1 فولت زينر ديود - 1
- لوحة NodeMCU (ESP8266-12E) - 1
- لوحة الأداء المنقط - ½
- سلك التوصيل - 10
مخطط دائرة Arduino Rocket Launcher
الرسم التخطيطي الكامل لـ Alexa Controlled Rocket Launcher موضح أدناه. لقد استخدمت العلامات لتوصيل دبوس بآخر. إذا نظرت عن كثب بما فيه الكفاية ، فلن يكون من الصعب تفسير التخطيطي.
بناء الدائرة بسيط جدًا ، لذا لن أخوض في التفاصيل كثيرًا.
أولاً ، لدينا IC1 وهو منظم جهد LM7805 ، مع مكثفات فصل 100 فائق التوهج يُشار إليها بواسطة C1 و C2. بعد ذلك ، لدينا قلب مشروعنا ، لوحة NodeMCU ، التي تضم وحدة ESP-12E. نظرًا لأننا نستخدم بطارية الرصاص الحمضية بجهد 12 فولت لتشغيل الدائرة بأكملها ، ولهذا السبب يتعين علينا استخدام LM7805 لتحويلها أولاً إلى 12 فولت إلى 5 فولت لتشغيل لوحة NodeMCU. نحن نقوم بذلك لأن منظم الجهد AMS1117 الموجود على اللوحة غير كافٍ لتحويل 12 فولت مباشرة إلى 3.3 فولت ، وهذا هو سبب أهمية 7805.
من الآن فصاعدًا ، لدينا ثلاث مرحلات 12 فولت ، لهذا العرض التوضيحي ، نستخدم ثلاث مرحلات ، ولكن كما ذكرنا سابقًا ، تحتوي لوحة الإطلاق على عنصر نائب لـ 7 صواريخ. يمكنك تعديل الشفرة قليلاً ووضع جميع الصواريخ السبعة لإطلاقها تمامًا. يتم تشغيل المرحلات الثلاثة بواسطة T1 و T2 و T3 وهي ثلاثة ترانزستورات NPN ، وهي كافية لدفع الحمل الحقيقي. أخيرًا ، لدينا ثلاثة صمامات ثنائية حرة تعمل على حماية الدائرة من طفرات الجهد العالي الناتجة عن التتابع.
بناء الدائرة على PerfBoard
كما ترون من الصورة الرئيسية ، كانت الفكرة هي إنشاء دائرة بسيطة يمكنها التعامل مع كمية هائلة من التيار لفترة قصيرة ، وفقًا لاختباراتنا ، 800 مللي ثانية كافية لإضاءة قطعة من الورق. لذلك ، قمنا ببناء الدائرة على قطعة من لوحة بيرف بورد وربط جميع الوصلات الرئيسية بسلك نحاسي بسمك 1 ملم مربع. بعد أن انتهينا من لحام اللوحة. بمجرد الانتهاء ، بدا الأمر كما هو موضح أدناه.
برمجة NodeMCU لقاذفة الصواريخ التي يتم التحكم فيها من قِبل Alexa
الآن وقد أصبح الجهاز جاهزًا ، فقد حان الوقت لبدء الترميز لقاذفة الصواريخ التي يتم التحكم فيها بالصوت من Alexa. يمكن العثور على الكود الكامل في نهاية هذه الصفحة ، ولكن قبل أن نبدأ ، من المهم إضافة المكتبات المطلوبة إلى Arduino IDE الخاص بك. تأكد من إضافة المكتبات الصحيحة من الرابط الموضح أدناه وإلا فإن الشفرة ستظهر أخطاء عند تجميعها.
- تحميل مكتبة Espalexa
بعد إضافة المكتبات المطلوبة ، يمكنك تحميل الكود الوارد في أسفل هذه الصفحة مباشرةً للتحقق مما إذا كانت الدائرة تعمل أم لا. إذا كنت تريد معرفة كيفية عمل الكود ، فاستمر في القراءة.
كما هو الحال دائمًا ، نبدأ البرنامج عن طريق إضافة ملفات الرأس المطلوبة وتحديد أسماء الدبوس وبيانات الاعتماد لنقطة الاتصال الخاصة بنا.
#تضمن
بالانتقال إلى الكود الخاص بنا ، لدينا نماذج وظيفية وتعريفات دالة رد الاتصال.
يتم استخدام وظيفة connectToWiFi () للاتصال بشبكة Wi-Fi وتعود هذه الوظيفة إلى حقيقة عند اتصال Wi-Fi بنجاح.
بعد ذلك ، لدينا وظائف رد الاتصال الخاصة بنا ، سيتم استدعاء هذه الوظائف عندما نعطي أمرًا إلى Alexa ، تتولى espalexa API هذه الوظائف
allrockets باطلة (سطوع uint8_t) ؛ أول صاروخ باطل (سطوع uint8_t) ؛ صاروخ ثانٍ باطل (سطوع uint8_t) ؛ صاروخ ثالث باطل (سطوع uint8_t) ؛
بعد ذلك ، نحدد أسماء الأجهزة. ستنعكس أسماء الأجهزة المحددة هذه على تطبيق Alexa وعندما نقول أمرًا ، ستتعرف Alexa على الأجهزة بهذه الأسماء. لذا فهذه الأسماء مهمة جدًا.
// أسماء الأجهزة String First_Device_Name = "All Rockets" ؛ String Secound_Device_Name = "صاروخ واحد" ؛ String Third_Device_Name = "الصاروخ الثاني" ؛ String Forth_Device_Name = "Rocket Three" ؛
بعد ذلك ، نحدد حالة wifi المتغيرة المنطقية ، والتي ستحمل حالة اتصال Wi-Fi. أخيرًا ، قمنا بإنشاء كائن Espalexa espalexa. سنستخدم هذا الكائن لتكوين NodeMCU.
// فحص حالة wifi boolean wifiStatus = خطأ ؛ // كائن Espalexa Espalexa espalexa ؛
بعد ذلك ، لدينا قسم الإعداد الباطل () . في هذا القسم ، نقوم بتهيئة الاتصال التسلسلي لتصحيح الأخطاء باستخدام وظيفة Serial.begin () . لقد قمنا بتعيين جميع المسامير المحددة السابقة كإخراج باستخدام وظيفة pinMode () ، ثم نسمي وظيفة connectToWiFi () ، وستحاول الاتصال بشبكة Wi-Fi لمدة خمسة عشر مرة إذا كانت متصلة ، وستعود صحيحًا إذا لم تكن الحصول على اتصال، فإنه سيعود كاذبة وسوف رمز تنفيذ في الوقت () حلقة إلى الأبد. إذا كان اتصال Wi-Fi ناجحًا ، نضيف الأجهزة المحددة مسبقًا إلى كائن Alexa باستخدام وظيفة espalexa.addDevice (). تأخذ هذه الوظيفة وسيطين ، الأول هو اسم الجهاز ، الثاني هو اسم وظيفة رد الاتصال ، عندما نصدر أمرًا إلى Alexa ، سيتم استدعاء الوظيفة المجاورة. بمجرد أن ننتهي من القيام بذلك لجميع أجهزتنا الأربعة ، فإننا نسمي طرق البدء () لكائن espalexa.
إعداد باطل () {Serial.begin (115200) ؛ // تمكين المسلسل لتصحيح أخطاء الرسائل pinMode (ROCKET_1_PIN ، OUTPUT) ؛ // إعداد دبابيس ESP كإخراج pinMode (ROCKET_2_PIN ، OUTPUT) ؛ // إعداد دبابيس ESP كإخراج pinMode (ROCKET_3_PIN ، OUTPUT) ؛ // إعداد دبابيس ESP كإخراج wifiStatus = connectToWiFi () ؛ // الاتصال بشبكة Wi-Fi المحلية إذا (wifiStatus) {// إعداد جميع أجهزة espalexa // حدد أجهزتك هنا. espalexa.addDevice (First_Device_Name، allrockets) ؛ // أبسط تعريف ، الحالة الافتراضية خارج espalexa.addDevice (Secound_Device_Name ، firstrocket) ؛ espalexa.addDevice (Third_Device_Name، secondrocket) ؛ espalexa.addDevice (Forth_Device_Name، thirdrocket) ؛ espalexa.begin () ، } else {while (1) {Serial. println ("لا يمكن الاتصال بشبكة WiFi. يرجى التحقق من البيانات وإعادة تعيين ESP.") ؛ تأخير (2500) ؛ }}}
في قسم الحلقة ، نسمي طريقة الحلقة () لكائن espalexa الذي سيتحقق دائمًا من أي أمر وارد واستدعاء وظيفة رد الاتصال إذا وجدت أنها صحيحة.
حلقة باطلة () {espalexa.loop () ، تأخير (1) ؛ }
بعد ذلك ، نحدد جميع وظائف رد الاتصال الخاصة بنا ، في هذا القسم ، سنحدد ما يحدث عندما يتم استدعاء وظيفة رد الاتصال هذه. عندما يتم استدعاء وظيفة allrockets () ، سيتم إطلاق جميع الصواريخ معًا. لذلك ، سنقوم بتشغيل التتابع لمدة 00 مللي ثانية وبعد ذلك ، سنقوم بإيقاف تشغيل المرحلات. في اختباراتي ، وجدت أنه بالنسبة للطول المحدد لسلك نيتشروم ، أحتاج إلى 800 مللي ثانية من التأخير لتسخين السلك تمامًا ، وقد يكون هذا هو الحال بالنسبة لك وقد لا يكون كذلك. لذا اختر التأخير وفقًا لذلك.
باطل allrockets (uint8_t سطوع) {if (السطوع == 255) {digitalWrite (ROCKET_1_PIN ، HIGH) ؛ الكتابة الرقمية (ROCKET_2_PIN ، عالية) ؛ الكتابة الرقمية (ROCKET_3_PIN ، عالية) ؛ تأخير (800) ؛ digitalWrite (ROCKET_1_PIN ، منخفض) ؛ digitalWrite (ROCKET_2_PIN ، منخفض) ؛ digitalWrite (ROCKET_3_PIN ، منخفض) ؛ Serial.println ("تم إطلاق جميع الصواريخ") ؛ }}
بعد ذلك ، لدينا صاروخنا الأول () ، يتم استدعاء هذا عندما نتصل بـ Alexa ونقول أمر التعادل لإطلاق الصاروخ الأول. العملية متشابهة جدًا ، نقوم بتشغيل التتابع لمدة 800 مللي ثانية وإيقاف تشغيله.
firstrocket فارغ (uint8_t السطوع) {if (السطوع == 255) {digitalWrite (ROCKET_1_PIN ، HIGH) ؛ تأخير (800) ؛ digitalWrite (ROCKET_1_PIN ، منخفض) ؛ Serial.println ("إطلاق أول صاروخ") ؛ }}
أخيرًا ، لدينا وظيفة connectToWiFi () الخاصة بنا . هذه الوظيفة عامة جدًا ولا تحتاج إلى شرح ، لذا لن أخوض في التفاصيل حول هذه الوظيفة. تقوم هذه الوظيفة بتوصيل ESP بشبكة Wi-Fi وتعيد حالة الاتصال.
boolean connectToWiFi () {boolean state = true؛ كثافة العمليات أنا = 0 ؛ WiFi.mode (WIFI_STA) ؛ WiFi.begin (SSID ، كلمة المرور) ؛ Serial.println ("") ؛ Serial.println ("الاتصال بشبكة WiFi") ؛ // انتظر الاتصال Serial.print ("توصيل…") ؛ while (WiFi.status ()! = WL_CONNECTED) {delay (500) ؛ Serial.print (".") ؛ إذا (i> 15) {state = false ؛ استراحة؛ } أنا ++ ؛ } Serial.println ("") ؛ إذا (حالة) {Serial.print ("متصل بـ") ؛ Serial.println (ssid) ؛ Serial.print ("عنوان IP:") ؛ Serial.println (WiFi.localIP ()) ؛ } else {Serial.println ("فشل الاتصال.")؛ } حالة الإرجاع ؛ }
تحدد هذه الوظيفة نهاية جزء التشفير.
تكوين Alexa باستخدام تطبيق Alexa Android
تقبل Alexa الأوامر فقط إذا تعرفت على جهاز esp8866 وفقط. لذلك ، نحتاج إلى تكوين Alexa بمساعدة تطبيق Alexa على Android. أحد الأشياء المهمة التي يجب القيام بها قبل المضي قدمًا هو أننا نحتاج إلى التأكد من تكوين Alexa باستخدام تطبيق android الخاص بنا.
للقيام بذلك ، انتقل إلى قسم المزيد في تطبيق Alexa وانقر فوق خيار إضافة جهاز ، وانقر فوق Light ، ثم قم بالتمرير لأسفل في أسفل الصفحة وانقر فوق أخرى.
بعد ذلك، انقر على DISCOVER الجهاز و الانتظار لحظة بعد ذلك سوف تجد اليكسا الأجهزة الجديدة. بمجرد عثور Alexa على الأجهزة ، تحتاج إلى النقر عليها وإضافتها إلى الأماكن / الفئات الخاصة بها ، وتكون قد انتهيت.
قاذفة الصواريخ التي تسيطر عليها أليكسا - اختبار
من أجل عملية الاختبار ، ذهبت إلى حديقتي ، وسحبت جميع الصمامات من الصاروخ ، ووضعتها في أماكنها ، وصرخت أليكسا…! قم بتشغيل جميع الصواريخ ، بأصابعي متقاطعة. وقد حلقت جميع الصواريخ من خلال وصف جهودي بأنها نجاح كبير. بدا شيء من هذا القبيل.
أخيرًا ، قلت مرة أخرى أليكسا…! قم بتشغيل جميع الصواريخ للحصول على صورة ملحمية للخيوط التي يمكنك رؤيتها أدناه.
للحصول على تجربة ملحمية أكثر ، أوصيك بشدة بمشاهدة الفيديو.