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

خوذة مغير الصوت المتقشف: 14 خطوة (بالصور)
خوذة مغير الصوت المتقشف: 14 خطوة (بالصور)

فيديو: خوذة مغير الصوت المتقشف: 14 خطوة (بالصور)

فيديو: خوذة مغير الصوت المتقشف: 14 خطوة (بالصور)
فيديو: The Republic by Plato | Audiobook with scrolling text for Mobile phones 2024, شهر نوفمبر
Anonim
خوذة مغير الصوت المتقشف
خوذة مغير الصوت المتقشف
خوذة مغير الصوت المتقشف
خوذة مغير الصوت المتقشف

أهلا! نحن فريق مكون من 4 طلاب من كلية البوليتكنيك بجامعة السوربون:

  • لويس بوخيرت
  • بلال المليحي
  • باو تينه بيوت
  • ماركو لونجيبي

يتم تنفيذ هذا المشروع كجزء من دراساتنا ، ويهدف إلى الاستفادة من عدد من الأدوات ، وكذلك إظهار إنجازاتنا النظرية.

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

الأهداف التعليمية:

  • التقط الصوت من ميكروفون
  • تضخيم الإشارة وتصفيتها ورقمنتها
  • يدرك FFT للإشارة
  • اعرض هذا FFT على الشاشة
  • توليف الإشارة
  • خذ صوتًا من مكبر صوت
  • إدراك التأثيرات على الصوت الصوتي (صدى ، صدى ، إلخ …)

الآن بعد أن وضعنا الخلفية وقدمنا المشروع ، حان الوقت للحصول على يديك!

الخطوة 1: المتطلبات 1/3 - الأجهزة

المتطلبات 1/3 - الأجهزة
المتطلبات 1/3 - الأجهزة

من أجل بناء خوذتك بنجاح ، سنحتاج إلى بعض الأجهزة لتشغيل الجهاز.

  • DE0-Nano-SoC Development Board من Terasic + Adafruit TFT LCD Screen (Arduino)
  • الوصول إلى طابعة ثلاثية الأبعاد لصنع الخوذة (إذا كنت طالبًا جامعيًا اقترب من جامعتك ، فبعضها لديه مختبرات يمكن للطلاب الوصول إليها)
  • جهاز كمبيوتر متصل بالإنترنت مع حد أدنى من الاتصال (USB ، Ethernet). يحتاج جهاز الكمبيوتر الخاص بك أيضًا إلى معالج قوي لأن برامج التجميع على Qsys تستغرق الكثير من الوقت.
  • (غير مطلوب) طابعة تصنع لوحات الدوائر المطبوعة (PCB) من ملفات Gerber لتقليص حجم الدائرة + مكواة لحام لوضع المكونات على PCB.
  • (موصى به بشدة): قهوة جيدة للاستمتاع بعملك مع Instructable:)

الخطوة 2: المتطلبات 2/3 - مكونات دائرتك

المتطلبات 2/3 - مكونات دائرتك
المتطلبات 2/3 - مكونات دائرتك
المتطلبات 2/3 - مكونات دائرتك
المتطلبات 2/3 - مكونات دائرتك
المتطلبات 2/3 - مكونات دائرتك
المتطلبات 2/3 - مكونات دائرتك

فيما يلي المكونات اللازمة لدائرتك:

  • مكبر صوت من فئة Texas Instrument LM386 AB
  • اللوح
  • مجموعة من الكابلات ذكر ، ذكر ، ذكر ، أنثى
  • محول LM358P من Digital إلى Analoh (DAC)
  • مكبر الصوت
  • ميكروفون صغير يستخدم في الدوائر التناظرية
  • لعبة مجموعة مقاومات من 1 كيلو اوم الى 220 كيلو اوم
  • مكثف 1.5nF
  • مكثف 50nF
  • مكثف 100nF
  • مكثف 100 فائق التوهج
  • مكثف 220 فائق التوهج
  • x4 مكثفات 10 فائق التوهج

الخطوة 3: المتطلبات 3/3 - البرنامج

المتطلبات 3/3 - البرمجيات
المتطلبات 3/3 - البرمجيات
المتطلبات 3/3 - البرمجيات
المتطلبات 3/3 - البرمجيات

أخيرًا وليس آخرًا ، ستحتاج إلى برنامج:

  • Quartus 15.1: إصدار لايت
  • مترجم لغة سي (دول مجلس التعاون الخليجي على سبيل المثال)
  • التيوم لتصميم ثنائي الفينيل متعدد الكلور
  • مجموعة Altera SoC المدمجة للتواصل مع خريطة SoC

  • المعجون

الخطوة 4: دائرة الإدخال

دارة الإدخال
دارة الإدخال
دارة الإدخال
دارة الإدخال
دارة الإدخال
دارة الإدخال
دارة الإدخال
دارة الإدخال

دعونا نبني الدائرة. استخدم الصورة أعلاه للدائرة لتجميعها على لوح التجارب. سترى أيضًا صورة BreadBoard والدائرة الداخلية لترى كيفية توصيل المسامير. يتم تشغيل الدائرة بأكملها بتيار مباشر بجهد 5 فولت (DC). لهذا ، يمكنك استخدام بطارية 5 فولت مع محول USB-B أو مولد وظيفة.

بعض التذكيرات:

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

لا تتردد في مشاهدة برنامج تعليمي مخصص حول كيفية استخدام اللوح وإنشاء دائرة عليه. لا تنس أيضًا أن تقرأ بعناية موضع دبوس مكبر الصوت LM358P (انظر الصورة أعلاه)

الخطوة 5: دائرة الإخراج

دارة الإخراج
دارة الإخراج
دارة الإخراج
دارة الإخراج
دارة الإخراج
دارة الإخراج
دارة الإخراج
دارة الإخراج

نفس التعليمات مثل الخطوة 4. المدخلات الأربعة: SDI ، وليس CS ، SCK ، وليس LDAC هي من لوحة DE0-Nano-Soc. سنرى فيما بعد كيفية توليدها.

لا تنس أن تقرأ بعناية مواضع دبوس مكبر الصوت LM386 (انظر الصورة أعلاه)

الخطوة 6: [اختياري] إنشاء مكونات لحام ودوائر مطبوعة

[اختياري] إنشاء مكونات لحام ودوائر مطبوعة
[اختياري] إنشاء مكونات لحام ودوائر مطبوعة
[اختياري] إنشاء مكونات لحام ودوائر مطبوعة
[اختياري] إنشاء مكونات لحام ودوائر مطبوعة
[اختياري] إنشاء مكونات لحام ودوائر مطبوعة
[اختياري] إنشاء مكونات لحام ودوائر مطبوعة

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

ستحتاج إلى ملفي جربر هذين.

تم عمل هذه الملفات على Altium. استخدمها على برنامج طابعة PCB لطباعة PCB. بمجرد حصولك على ثنائي الفينيل متعدد الكلور ، تأكد من أن ثنائي الفينيل متعدد الكلور نظيف وأن المسارات تمت طباعتها بشكل صحيح.

الآن هنا تأتي الصفقة الحقيقية: لحام. الصورتان أعلاه هي خريطة الدائرة على PCB. كل مكون له أسماء (R6 ، C4 ، MK1 وما إلى ذلك). توضح الصور في الخطوة 4 و 5 معلمات المكونات (المقاومة ، التوصيل..). ضع كل مكون من اللوح الخاص بك إلى PCB وفقًا لأسمائهم.

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

الخطوة 7: إعداد SoC

إعداد SoC
إعداد SoC
إعداد SoC
إعداد SoC

فيما يتعلق بإعداد SoC ، ستحتاج إلى تشغيل بعض الأوامر والنصوص المضمنة في مجموعة SoC المدمجة داخل Terminal. للقيام بذلك ، سوف تحتاج إلى إضافة بعض $ PATH. يتم استخدام PATH داخل محطة للقول للبحث عن ملف في الدلائل المعطاة بواسطة المسار عند تشغيل أمر. للقيام بذلك ، اكتب سطر الأوامر التالي:

تصدير PATH = / cygdrive / c / altera_lite / 15.1 / quartus / sopc_builder / bin: $ PATH

ثم اكتب سطر الأوامر لإنشاء رؤوس من ملف sof. يمكنك الحصول على ملف sof عن طريق تجميع مشروعك على Quartus. للقيام بذلك ، اكتب:./generate_header.

الخطوة 8: برمجة C HPS

برمجة C HPS
برمجة C HPS

نحتاج إلى إدراك شيئين في هذا الجزء ، وهما قراءة قيمة ADC وكتابتها في SPI.

1. اقرأ قيمة ADC

لا يمكن الوصول مباشرة إلى عنوان الذاكرة التي تحتوي على ADC ، في الواقع ، يقوم نظام Linux الموجود على البطاقة بإعداد تجريد للذاكرة. للوصول حقًا إلى عنوان ADC ، سنستخدم وظيفة mmap.

"h2p_lw_spi_addr = virtual_base + ((طويلة بدون توقيع) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (بدون توقيع طويل) (HW_REGS_MASK)) ؛"

تسمح هذه التعليمات بإضافة إزاحة في بداية العنوان الأساسي للوصول إلى عنوان الذاكرة المخصصة لـ ADC ، وللقيام على العنوان الناتج بمنطق ومراعاة التقنيع.

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

2. اكتب قيمة ADC في SPI

التلاعب متطابق ، هذه المرة نعطي mmap الإزاحة للهبوط على العنوان المخصص من قبل SPI. أثناء الكتابة في SPI ، تحدد الوثائق الفنية أنه يجب عليك الكتابة إلى العنوان + 1 قيمة adc.

"* (h2p_lw_spi_addr + 1) = ((0x1 << 12) | * h2p_lw_adc_addr) ؛"

تتيح لك هذه التعليمات الكتابة إلى SPI. في الواقع ، البتة 4 ، لذا 1 << 12 ، هي البتة التي تسمح بتنشيط SPI. باستخدام OR المنطقي ، نعطي كلًا من بت التنشيط وقيمة ADC إلى SPI.

الخطوة 9: الاستحواذ الرقمي على ADC من البطاقة

الاستحواذ الرقمي على ADC من البطاقة
الاستحواذ الرقمي على ADC من البطاقة
الاستحواذ الرقمي على ADC من البطاقة
الاستحواذ الرقمي على ADC من البطاقة
الاستحواذ الرقمي على ADC من البطاقة
الاستحواذ الرقمي على ADC من البطاقة
الاستحواذ الرقمي على ADC من البطاقة
الاستحواذ الرقمي على ADC من البطاقة

بادئ ذي بدء ، سيكون عليك تعيين عنوان IP الخاص بشبكة Ethernet لجهاز الكمبيوتر الخاص بك من خلال لوحة التحكم -> الشبكة -> Card Parmesals. حدد واجهة إيثرنت للبطاقة والممتلكات وعنوان IPv4 وأدخل عنوان IP ثابتًا وقناعًا وما إلى ذلك …

بعد ذلك ، قم بتوصيل البطاقة من جانب مقبس الطاقة بكابل USB الصغير. افتح مبرمج Quartus وابدأ التصدير. سيتم إعادة إجراء هذا التلاعب بعد كل إيقاف تشغيل للبطاقة.

قم بتغيير كابل توصيل micro USB ، لتوصيل هذه المرة بجوار مقبس Ethernet. الآن ، مع المعجون ، سيكون من الضروري الاتصال بالبطاقة عن طريق الارتباط التسلسلي. التكوين مرئي في الصور ، والفكرة هي استبدال COM5 بـ COM متبوعًا بالرقم الذي يمكنك العثور عليه في مدير جهازك (انقر بزر الماوس الأيمن على شعار windows لفتحه).

اضغط على Enter ، أنت متصل.

معلومات لإعادة تشغيل المشروع: - إصلاح ethernet ip المطابق للبطاقة - قم بتشغيل البطاقة ، في كل مرة تقوم فيها بتشغيل الطاقة ، من الضروري وضع "البرنامج" ضمن quartus المشروع المترجم في البطاقة. يتم ذلك عبر منفذ micro-USB - حتى نتمكن من عرض نتيجة البرنامج ، نستخدم المزيد من USB الصغير ولكن UART - مع المعجون الذي تم تكوينه لـ COM5 التسلسلي (أو 6 watch gestinnaire periph) قم بالاتصال بالبطاقة. - تعيين كلمة مرور (passwd) - تعيين عنوان IP ifconfig ethxx IPchoice (عنوان IP ليس بعيدًا عن ذلك الخاص بأخلاقيات الكمبيوتر الشخصي) - إنشاء الرأس وفقًا لـ Qsys مع المحطة المضمنة (مسار التصدير) - جعل - scp l exec في خريطة - تنفيذ تحت المعجون بروغ

الخطوة 10: حساب FFT

حساب FFT
حساب FFT

من أجل الحصول على Fast Fourier Transform في برنامج C الخاص بنا ، سوف نستخدم مكتبة كتبها Mark Borgerding: Kiss FFT. يمكنك تنزيل المكتبة من هنا: https://kissfft.sourceforge.net/. يعد تطبيق FFT على إشارة أمرًا ضروريًا لتعديل تأثيرات الإشارة وتطبيقها. يمكن أن يعمل أيضًا على عرض طيف الإشارة.

تتكون الخطوة الأولى في برنامج C الخاص بك من تخصيص ذاكرة لتخزين نتيجة FFT. يعتمد حجم الذاكرة على عدد النقاط المستخدمة لحساب FFT. كلما حصلت على نقاط أكثر ، كلما كانت إرادة FFT أكثر دقة. ومع ذلك ، سيعمل البرنامج بشكل أبطأ وسيستخدم المزيد من الذاكرة. لاحظ أنك ستحصل على صفيفين من دالة kiss_fft: مدخلات ومخرجات الوظيفة (cx_in و cx_out)

بمجرد أن تمتلئ المصفوفة بقيم FFT الجديدة ، أي عندما r = Win - 1 ، فإننا نعالج FFT. فيما يتعلق بالشاشة ، فإننا نعرض فقط الجزء الموجب من الطيف ، حيث يوجد تناظر بين الجزء السالب والجزء الموجب.

فيما يتعلق بالمحور الأفقي ، نقوم بتقليل قيم الذروة بمقدار 100 * ارتفاع / (ارتفاع²) من أجل التمييز بين قمم الترددات الرئيسية.

نحن نستخدم استدعاء نظام usleep لتحديد تردد قراءة لقيم ADC. هذا التردد مضبوط حاليًا على 1 ، 5 هرتز.

الخطوة 11: عرض FFT

عرض FFT
عرض FFT
عرض FFT
عرض FFT

استنادًا إلى مثال تم تقديمه على شاشة Adafruit TFT LCD المتاحة هنا: https://www.terasic.com/downloads/cd-rom/de0-nano-s… قمنا ببرمجة NIOS في مجلس إدارتنا حتى يتمكن من القراءة قيمة ADC.

لذلك يتم مشاركة سجل ADC بين NIOS و HPS لأنه سيتم استخدام قيم ADC لعرض FFT على شاشة NIOS ، وستتم كتابة هذه القيم نفسها على SPI من أجل إخراجها من اللوحة وتحويلها في النهاية بواسطة DAC للحصول على إشارة تناظرية.

الخطوة 12: التجميع

المجسم
المجسم

نحن على وشك الانتهاء! سوف تحتاج إلى تجميع كل جزء من المشروع (دائرة الدخول ودائرة الإخراج واللوحة). تأكد من توصيل الأجزاء لتصحيح المسامير وفقًا لمشروع Quartus.

  1. سترسل دائرة الإدخال الإشارة الصوتية الملتقطة بواسطة الميكروفون وتضخيمها وتصفيتها وإزاحتها.
  2. سيقرأ البرنامج C الموجود على البطاقة قيم ADC كما رأينا سابقًا ، وسوف يكتبها على SPI حتى نتمكن من استرداد القيمة على GPIO الخاص بالبطاقة.
  3. بعد ذلك ، سينقل خرج GPIO الخاص بـ SPI المعلومات التي سيتم فك تشفيرها بواسطة DAC الخاص بنا وتضخيمها عن طريق التشغيل للوصول إلى السماعة.

الخطوة 13: المؤثرات الصوتية

مؤثرات صوتية
مؤثرات صوتية
مؤثرات صوتية
مؤثرات صوتية

الخطوة الوحيدة المتبقية هي المؤثرات الصوتية.

التأثيرات المتاحة هي:

  • مرشح عالي التردد
  • مرشح التردد المنخفض

يمكنك التبديل بين التأثيرات بفضل الزر. سيغير هذا الزر متغيرًا في برنامج C الخاص بنا ، حتى يتمكن من تطبيق التأثير الصحيح.

الخطوة 14: [اختياري] صنع الخوذة

[اختياري] صنع الخوذة
[اختياري] صنع الخوذة
[اختياري] صنع الخوذة
[اختياري] صنع الخوذة
[اختياري] صنع الخوذة
[اختياري] صنع الخوذة

ها نحن في الخطوة الأكثر يدوية للمشروع:

  1. أولاً قمنا بلصق الأجزاء المطبوعة ثلاثية الأبعاد المختلفة للخوذة.
  2. لملء الفراغات بين القطع الملصقة أضفنا لمسة نهائية باستخدام قلم ثلاثي الأبعاد.
  3. قمنا بتلميع الفجوات المملوءة بالقلم والخوذة بشكل عام بحيث تثبت اللوحة جيدًا بعد ذلك.
  4. قمنا بطلاء الخوذة بطبقتين: الأولى باللون الأسود أنثراسايت عن قرب والثانية باللون الأخضر الأساسي من بعد ذلك لإعطاء ظلال من اللون الأخضر الداكن.
  5. أخيرًا قمنا بطباعة شعار مدرستنا على جانب الخوذة

موصى به: