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

محلل الطيف CRAZY L.O.L: 6 خطوات (بالصور)
محلل الطيف CRAZY L.O.L: 6 خطوات (بالصور)

فيديو: محلل الطيف CRAZY L.O.L: 6 خطوات (بالصور)

فيديو: محلل الطيف CRAZY L.O.L: 6 خطوات (بالصور)
فيديو: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, شهر نوفمبر
Anonim
محلل الطيف من كريزي L. O. L
محلل الطيف من كريزي L. O. L
محلل الطيف من كريزي L. O. L
محلل الطيف من كريزي L. O. L

أود اليوم أن أشارك في كيفية صنع محلل طيف صوتي - 36 نطاقًا من خلال الجمع بين 4 LoL Shields معًا. يستخدم هذا المشروع المجنون مكتبة FFT لتحليل إشارة صوت ستيريو ، وتحويلها إلى نطاقات تردد ، وعرض سعة نطاقات التردد هذه على 4 x LoL Shields.

قبل البدء ، يرجى مشاهدة الفيديو أدناه:

الخطوة 1: الأشياء التي نحتاجها

المكونات الإلكترونية الرئيسية هي على النحو التالي:

  • 4 قطعة x Arduino Uno R3.
  • 4 قطعة x LoLShield PCB. دعمتني خدمة PCBWay (خدمة النموذج الأولي المخصص لـ PCB ذات الميزات الكاملة) لوحات الدوائر المطبوعة LoLShield هذه.
  • 504 قطعة x LED ، 3 مللي متر. يحتاج كل LoLShield إلى 126 مصباحًا ويمكننا اختيار 4 ألوان وأنواع مختلفة من مصابيح LED (منتشرة أو غير منتشرة).
  • 1 قطعة × بطارية محمولة شاحن بنك الطاقة 10000/20000 مللي أمبير.
  • 4 قطعة x رأس ذكر 40pin 2.54 مللي متر.
  • 2 قطعة × كابل USB من النوع A / B. أحدهما يستخدم لبرمجة Arduino ، والآخر يستخدم لتشغيل Arduino من بنك الطاقة.
  • 1 قطعة x 3.5 مللي متر أنثى مقبس صوت ستيريو.
  • 1 قطعة × 3.5 مللي متر 1 ذكر إلى 2 أنثى محول مقسم صوت أو مقسم صوت سماعة رأس متعدد.
  • 1 قطعة × 3.5 مللي متر ستيريو صوت جاك ذكر ذكر كابل موصل.
صورة
صورة
  • 1 م × 8P كابل الشريط قوس قزح.
  • 1 م × نوى كابل الطاقة.
  • 1 قطعة x أكريليك شفاف ، مقاس A4.

الخطوة 2: رسم بياني

تخطيطي
تخطيطي

LoLShield عبارة عن مصفوفة LED 9x14 charlieplexing لـ Arduino وهذا التصميم لا يتضمن أي مقاومات حالية. يمكن معالجة مصابيح LED بشكل فردي ، لذلك يمكننا استخدامها لعرض المعلومات في مصفوفة 9 × 14 led.

يترك LoL Shield D0 (Rx) و D1 (Tx) والدبابيس التناظرية من A0 إلى A5 مجانًا للتطبيقات الأخرى. توضح الصورة أدناه استخدام دبابيس Arduino Uno لهذا المشروع:

صورة
صورة

يحتوي محلل الطيف الصوتي الخاص بي على 4 x (Arduino Uno + LoLShield). يتم توصيل مصدر الطاقة ومقبس صوت الاستريو مقاس 3.5 مم على النحو التالي التخطيطي:

صورة
صورة

الخطوة 3: LOL SHIELD PCB & LED SOLDERING

1. LoL SHIELD PCB

Ѽ. يمكنك الرجوع إلى تصميم ثنائي الفينيل متعدد الكلور على: https://github.com/jprodgers/LoLshield بواسطة Jimmie P. Rodgers.

صورة
صورة

Ѽ. دعمتني PCBWay لوحات الدوائر المطبوعة LoLShield هذه مع التسليم السريع وثنائي الفينيل متعدد الكلور عالي الجودة.

صورة
صورة

2. الصمام لحام

Ѽ. يحتاج كل LoLShield إلى 126 مصباحًا ، وقد استخدمت أنواعًا وألوانًا مختلفة لـ 4x LoLShields على النحو التالي:

  • 1 × LoLShield: مصباح LED منتشر ، لون أحمر ، 3 مم.
  • 1 × LoLShield: مصباح LED منتشر ، لون أخضر ، 3 مم.
  • 2 × LoLShield: مصباح LED غير منتشر (واضح) ، لون أزرق ، 3 مم.

Ѽ. تحضير LoLShield PCB و LED

صورة
صورة

Ѽ. لحام 126 LED على LoLShield PCB. يجب أن نتحقق من مصابيح LED بالبطارية بعد لحام كل صف - 14 مصباحًا

أعلى LoLSHIELD

صورة
صورة

الأسفل

صورة
صورة

Ѽ. الانتهاء من LoLShield واحد والاستمرار في لحام 3 LoLShield المتبقية.

صورة
صورة

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

Ѽ. مصدر طاقة لحام وإشارة صوتية لـ 4xLoLShield. تستخدم إشارة الاستريو قناتين صوتيتين: اليسار واليمين متصلان بـ Arduino Uno عند المسامير التناظرية A4 و A5.

  • A4: قناة الصوت اليسرى.
  • A5: قناة الصوت اليمنى.
صورة
صورة

Ѽ. محاذاة وتركيب 4 × Arduino Uno على لوح الأكريليك.

صورة
صورة

Ѽ. توصيل 4 x LoLShield بـ 4 x Arduino Uno.

صورة
صورة

Ѽ. بنك الطاقة شاحن محمول الغراء ومقبس الصوت على لوحة الاكريليك

صورة
صورة

Ѽ. منتهي!

صورة
صورة

الخطوة 5: البرمجة

يجب عليك الرجوع إلى كيفية عمل LoLShield بناءً على طريقة Charlieplexing و Fast Fourier Transform (FFT) على:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

بالنسبة إلى Charlieplexing ، نولي اهتمامًا "للحالات الثلاث" لمنافذ Arduino الرقمية: "HIGH" (5V) و "LOW" (0V) و "INPUT". وضع "INPUT" يضع دبوس Arduino في حالة مقاومة عالية. المرجع في:

www.arduino.cc/en/Tutorial/DigitalPins

في مشروعي ، يتم عرض نطاقات تردد الصوت على 4 x LoL Shield وهي موصوفة كما هو موضح أدناه:

صورة
صورة

يقرأ كل Arduino إشارة صوتية في القناة اليسرى / اليمنى ويقوم بإجراء FFT.

لـ (i = 0 ؛ i <64 ؛ i ++) {Audio_Input = analogRead (RIGHT_CHANNEL) ؛ // قراءة إشارة الصوت في القناة اليمنى A5 - ARDUINO 1 & 2 // Audio_Input = analogRead (LEFT_CHANNEL) ؛ // قراءة إشارة الصوت في القناة اليسرى A4 - ARDUINO 3 & 4 Real_Number = Audio_Input ؛ Imaginary_Number = 0 ، } fix_fft (Real_Number، Imaginary_Number، 6، 0) ؛ // إجراء تحويل فورييه السريع باستخدام N_WAVE = 6 (2 ^ 6 = 64) لـ (i = 0؛ i <32؛ i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number + Imaginary_Number * Imaginary_Number ) ؛ }

Ѽ. Arduino 1 - عرض نطاقات تردد السعة 01 ~ 09 للقناة اليمنى (A5).

لـ (int x = 0؛ x <14؛ x ++) {لـ (int y = 0؛ y <9؛ y ++) {if (x <Real_Number [y]) // عرض نطاقات التردد من 01 إلى 09 {LedSign:: Set (13-س ، 8-ص ، 1) ؛ // LED ON} آخر {LedSign:: Set (13-x، 8-y، 0)؛ // انطلق } } }

Ѽ. Arduino 2 - عرض نطاقات تردد السعة من 10 إلى 18 من القناة اليمنى (A5).

لـ (int x = 0؛ x <14؛ x ++) {for (int y = 0؛ y <9؛ y ++) {if (x <Real_Number [9 + y]) // عرض نطاقات التردد من 10 إلى 18 {LedSign:: مجموعة (13-س ، 8-ص ، 1) ؛ // LED ON} آخر {LedSign:: Set (13-x، 8-y، 0)؛ // انطلق } } }

Ѽ. Arduino 3 - عرض نطاقات تردد السعة 01 ~ 09 للقناة اليسرى (A4).

الرمز هو نفسه Arduino 1 والقناة اليسرى للإشارة الصوتية تتصل بـ Arduino على دبوس التمثيلي A4.

Ѽ. Arduino 4 - عرض نطاقات تردد السعة من 10 إلى 18 من القناة اليسرى.

الرمز هو نفسه Arduino 2 والقناة اليسرى للإشارة الصوتية تتصل بـ Arduino على دبوس تمثيلي A4.

الخطوة 6: الإنهاء

ينهي
ينهي
ينهي
ينهي
ينهي
ينهي
ينهي
ينهي

يمكن لمحلل الطيف المحمول هذا الاتصال مباشرة بجهاز كمبيوتر محمول / سطح مكتب أو هاتف محمول أو جهاز لوحي أو مشغلات موسيقى أخرى عبر مقبس صوت استريو مقاس 3.5 ملم. هذا المشروع يبدو مجنونا ، أتمنى أن ينال إعجابكم!

شكرا لقراءتك !!!

موصى به: