DIY: يتسابر مع الصوت

الصورة

مرحبا بالجميع! منذ الطفولة أحب عالم حرب النجوم. عندما كان عمري 7 سنوات ، شاهدت الحلقات 4-6 مرات عديدة لدرجة أنني استطعت أن أعيد محتوياتها بتفصيل كبير.

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

في نهاية العام ، تم إصدار 8 حلقات ، 4 مايو قاب قوسين أو أدنى ، وعشية اليوم العالمي لحرب النجوم ، قررت كتابة هذا المقال.

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

الآن على شبكة الإنترنت ، هناك العديد من الشركات المصنعة التجارية للعربات الضوئية ، وأبرزها في رأيي:

● ● ● جينيسيس سيبرس المخصصة - مقابض عالية الجودة مخصصة للغاية ، ويختلف سعر سيف النخبة المخصص مع الصوت حول 1500-3000 دولار أمريكي.

● ● ● Sabre Forge هو خيار رائع ، والأسعار في متناول الجميع ، ولكن السيوف ليست أصلية كما هو الحال في Genesis CS. سعر سيف بحدود 300 دولار.

● ● ● Ultrasabers هي واحدة من أكثر المتاجر إنسانية من حيث السعر. سيف ذو صوت أساسي يكلف حوالي 160 دولارًا أمريكيًا. يمكنك طلب مكونات فردية لمشروعك.

● ● ● متجر Sabre المخصص - موقع به متجر ومصمم لبناء سيفك.

هناك جهات تصنيع أخرى للمصباح الضوئي ، على سبيل المثال ، ● ● ● ماكوتو تساي ، الذي يصنع السيوف الأكثر سطوعًا استنادًا إلى شرائط LED محلية الصنع.

ولكن ماذا لو كنت لا تريد إنفاق الكثير من المال ، ولكنك تريد حقًا السيف الضوئي؟ هناك طريقة واحدة للخروج - لتوفير 5000 روبل وصنع سيف لنفسك.

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

في وصف عملية صنع السيف ، سأحاول وصف جميع الصعوبات الرئيسية.

لذلك دعونا نبدأ. إليك قائمة بكل ما استخدمته:

  1. Arduino Pro micro 5v ~ 250 روبل على علي
  2. وحدة الصوت WT588D-U ~ 250 روبل على علي
  3. الخطوة 3-5V ~ 100 روبل على علي
  4. السماعة Ø28mm ، 8ohm ، 2W ~ 40 روبل على Ali
  5. مقياس التسارع ADXL335 ~ 200 روبل على علي
  6. N-MOSFET IRF530N x2 ~ 40 روبل في Amperka
  7. LED Luxeon rebel 3W ~ 70 روبل على علي
  8. عدسة LED 8 ° ~ 50 روبل على علي
  9. بطارية CR123A x2 3.7V ~ 400 روبل على علي
  10. بطارية كرونا 9 فولت لطاقة اردوينو
  11. حامل البطارية ~ 15 روبل على علي
  12. زر مكافحة التخريب ~ 100 روبل على علي
  13. تبديل التبديل ~ 50 روبل على علي
  14. أنبوب البولي كربونات الأبيض 1 ”~ 800 روبل في موسكو (هناك الكثير من المتاجر ، فهي موجودة في Google)
  15. الأنابيب البلاستيكية لتصنيع مقبض

ستحتاج أيضًا إلى أسلاك ومسمار لتثبيت أنبوب البولي كربونات في المقبض وغطاء لأنبوب البولي كربونات بعاكس.

لقد طلبت غطاء مع عاكس في متجر Custom sabre من 7 دولارات هناك ، وتكاليف التوصيل للأغراض الصغيرة 14 دولارًا.

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

اشتريت مجموعة من الأصوات على موقع Saberfont الإلكتروني مقابل 7 دولارات ، لكني متأكد من أنه يمكنك العثور على أصوات مجانية.

يبلغ إجمالي المكونات حوالي 5000 روبل إذا قمت بشراء الأصوات ، إذا لم تكن كذلك ، في منطقة 4000.

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

على سبيل المثال ، يستخدم ماكوتو عدة شرائط مجزأة في سيوفه الأكثر سطوعًا.

الصورة

أوصي باستخدام مصباح LED قوي للبناء الأول ، فهو أبسط بكثير ومشرق جدًا.

أريد أن أقول على الفور أن السيوف على الفيديو تبدو أكثر إشراقًا من الحياة ، لأن تجمع مصفوفة الكاميرا الضوء ، على عكس أعيننا. لا تتوقع أن يتوهج سيفك كما في الأفلام.

أقترح بدء تجميع النموذج مع إعدادات الصوت.

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

قبل تحميل الملفات إلى WT ، كان علي تعديلها قليلاً ، لذلك يمكنك استخدام برنامج Audacity المجاني.

من الضروري فتح كل ملف بدوره ، وتحديد المنطقة بالصوت (كان لدي بضع ثوان من الصمت في نهاية كل ملف) ، في الزاوية اليسرى السفلية من الشاشة ، تحتاج إلى ضبط التردد من 16000 إلى 22000 كيلو هرتز. إذا كان التردد أكثر من 22000 ، فلن يسمح WT بتنزيل الملف. تم تحديد التصدير التالي - 16 بت.
لتنزيل الملفات إلى WT588D ، ستحتاج إلى برنامج لتنزيل الأصوات من الشركة المصنعة للوحدة النمطية - Waytronic (يعمل فقط مع Windows ، قمت بتشغيله على MAC عبر BootCamp).

تحتاج إلى تشغيل البرنامج وتحديد اللغة الإنجليزية في الإعدادات. هناك العديد من أوضاع التشغيل في WT588D ، اخترت وضع سطر واحد ، لأنه يتطلب الحد الأدنى من اللحام ، وتتواصل الوحدة مع Arduino من خلال دبوس واحد.

ينقسم مجال العمل إلى 3 أجزاء ، على اليسار قائمة بالملفات التي تم تحميلها على الوحدة ، في الوسط قائمة بقوائم التشغيل ، على اليمين قائمة بالملفات في قائمة التشغيل.

لتنزيل الملفات ، انقر بزر الماوس الأيمن على قائمة الملفات التي تم تنزيلها وحدد تحميل - ابحث عن الملف الصوتي الذي تمت معالجته في Audacity وحدده. كرر لجميع الملفات.

بعد ذلك ، تحتاج إلى إنشاء قوائم تشغيل ، وإضافة الكثير من الأصوات المتكررة لضوضاء العمل بعد صوت التضمين وأصوات التقلبات / التصادمات. يعد ذلك ضروريًا حتى لا تكتب رمزًا للتبديل إلى الضوضاء بعد تشغيل / الضربات الشديدة.

سنتصل بأرقام قوائم التشغيل لاحقًا في رسمنا. بعد تنزيل الأصوات وإعداد قوائم التشغيل ، تحتاج إلى توصيل الطاقة بـ WT ، وتوصيل مكبر صوت ، وتوصيل دبوس بيانات WT بـ Arduino. قم أيضًا بتوصيل زر لتشغيل / إيقاف الضوء / الصوت و LED من خلال MOSFET إلى Arduino.

هنا مخطط الاتصال الخاص بي:

الصورة

أقوم بتغذية WT من بطارية 3.7V منفصلة عبر MOSFET ، باستخدام زيادة تصل إلى 5 فولت ، وفي هذه الحالة أحصل على أقصى حجم إخراج.

تحتاج أولاً إلى تسجيل كل شيء سيتم استخدامه في الرسم:

#define WT588D_SDA 8 //      WT588D //          const int xpin = A0; const int ypin = A1; const int zpin = A2; int oldtime; int newtime; int ADXL = 3; int BUTTON_PIN = 7; //     int LED_PIN = 9; //MOSFET  int WT_MOSFET = 6; //MOSFET WT588D int i = 0; byte file_count = 1; bool saberon; bool swingsound; void setup() { Serial.begin(9600); pinMode(BUTTON_PIN, INPUT_PULLUP); pinMode(LED_PIN, OUTPUT); pinMode(ADXL, OUTPUT); pinMode(WT_MOSFET, OUTPUT); pinMode(WT588D_SDA, OUTPUT); digitalWrite(ADXL, LOW); digitalWrite(LED_PIN, LOW); digitalWrite(WT588D_SDA, HIGH); digitalWrite(WT_MOSFET, LOW); saberon = false; swingsound = false; oldtime = analogRead(xpin) + analogRead(ypin) + analogRead(zpin); //    } 

لكي يعمل WT ، في الرسم تحتاج إلى إعلان الأمر WT_Send_Command (*) ، لهذا ، أضف التعليمات البرمجية التالية إلى نهاية الرسم:

 void WT588D_Send_Command(byte addr) { digitalWrite(WT588D_SDA, LOW); delay(100); for (int i = 0; i < 9; i++) { digitalWrite(WT588D_SDA, HIGH); if (bitRead(addr, i)) { delayMicroseconds(600); digitalWrite(WT588D_SDA, LOW); delayMicroseconds(200); } else { delayMicroseconds(200); digitalWrite(WT588D_SDA, LOW); delayMicroseconds(600); } } digitalWrite(WT588D_SDA, HIGH); delay(50); } 

الخطوة التالية هي كتابة الرمز بحيث عند الضغط على الزر ، يتم تشغيل LED ويتم تشغيل قائمة التشغيل مع تشغيل الصوت. عند الضغط على الزر مرة أخرى ، تم إيقاف تشغيل LED وإيقاف تشغيل قائمة التشغيل.

إذا لم تكن لديك خبرة في البرمجة ، لفهم الشفرة بشكل أفضل ، أوصيك بقراءة المواد التالية:

اردوينو إذا تعليمي
دروس اردوينو المنطقية
البرنامج التعليمي زر اردوينو

فيما يلي الكود الخاص بي للتعرف على حالة الزر وتشغيل / إيقاف التأثيرات:

 if (digitalRead(BUTTON_PIN) == LOW) { if (saberon) { WT588D_Send_Command(*    ); delay(700); saberon = false; { analogWrite(LED_PIN, LOW); digitalWrite(WT_MOSFET, LOW); delay(1); } } else { digitalWrite(WT_MOSFET, HIGH); delay(100); WT588D_Send_Command(*    ); { analogWrite(LED_PIN, HIGH); delay(1); } saberon = true; } } 

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

الجزء الرئيسي من الرسم جاهز ، الآن سنقوم بتوصيل مقياس التسارع وجعل WT يعزف أصوات الأمواج.

ADXL335 سهل الاستخدام للغاية ، ولا يحتاج إلى ربط أي مكتبات. هنا مخطط الاتصال:

لكي يعمل مقياس التسارع ، سنأخذ قياسين ، ونستند إلى مقارنة القراءات ونشغل صوت الموجة.

أوصي بوضع مقياس التسارع بالقرب من أحد طرفي المقبض قدر الإمكان.

 newtime = analogRead(xpin) + analogRead(ypin) + analogRead(zpin); delay (100); if (newtime - oldtime >= 75 || newtime - oldtime <= -75) { if (swingsound) { swingsound = false; delay (50); } else { swingsound = true; WT588D_Send_Command(*    ); delay (150); } } Serial.print(oldtime); Serial.print("\t"); Serial.print(newtime); Serial.print("\t"); Serial.print(newtime - oldtime); Serial.println(); oldtime = newtime; 

كل شيء ، النموذج جاهز. حان الوقت لإنشاء مقبض ووضع كل الحشو فيه.

لقد صنعت مقبضًا من أنابيب PVC ، وهو ملحق لشفرة بقطر 28 مم.

لقد واجهت مشاكل في المقبض ، ونتيجة لذلك ، كانت النسخة الأولى صغيرة جدًا ، والآن أقوم بعمل نسخة جديدة.

في تصنيع مقابض PVC ، أنت محدود فقط بخيالك ، يمكنني فقط تقديم نصيحة واحدة - قبل الطلاء ، معالجة سطح الأنبوب بورق صنفرة ناعم ، وإلا لن يثبت الطلاء جيدًا.

إليكم النسخة الأولى من قبضتي ، في الغلاف قمت بحفر ثقوب ووضعت مكبر صوت ، ويتم تثبيت الشفرة في الأنبوب بأربعة مسامير:

الصورة

الصورة

الصورة

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

إليكم اختبار السيف الصغير في الشارع ليلاً:



تحديث:
أكملت المقبض وعملت على مزامنة الأصوات ، وأضاف صوت اشتباك هنا هو فيديو محدث:


أنا متأكد من أن Geektimes يقرأ عددًا كبيرًا من الأشخاص الموهوبين والمهرة للغاية ، أطلب منك مشاركة رأيك وتقديم المشورة. من الممكن أنه بفضل التعاون سنكون قادرين على تبسيط / تحسين العملية أكثر.

تأكد من مشاركة نتائجك ، فمن المثير للاهتمام أن ترى ما تحصل عليه!

شكرا لكم جميعا على اهتمامكم! وقد تكون القوة معك!

Source: https://habr.com/ru/post/ar402681/


All Articles