فهرست مطالب:

CRAZY L.O.L SPECTRUM ANALYZER: 6 مرحله (همراه با تصاویر)
CRAZY L.O.L SPECTRUM ANALYZER: 6 مرحله (همراه با تصاویر)

تصویری: CRAZY L.O.L SPECTRUM ANALYZER: 6 مرحله (همراه با تصاویر)

تصویری: CRAZY L.O.L SPECTRUM ANALYZER: 6 مرحله (همراه با تصاویر)
تصویری: On the traces of an Ancient Civilization? 🗿 What if we have been mistaken on our past? 2024, نوامبر
Anonim
CRAZY L. O. L SPECTRUM ANALYZER
CRAZY L. O. L SPECTRUM ANALYZER
CRAZY L. O. L SPECTRUM ANALYZER
CRAZY L. O. L SPECTRUM ANALYZER

امروز می خواهم نحوه ایجاد تجزیه کننده طیف صوتی - 36 باند را با ترکیب 4 LoL Shields با هم به اشتراک بگذارم. این پروژه دیوانه وار از کتابخانه FFT برای تجزیه و تحلیل سیگنال صوتی استریو ، تبدیل آن به باندهای فرکانسی و نمایش دامنه این باندهای فرکانسی در 4 x LoL Shields استفاده می کند.

لطفاً قبل از شروع ، فیلم زیر را تماشا کنید:

مرحله 1: چیزهایی که ما نیاز داریم

اجزای اصلی الکترونیکی به شرح زیر است:

  • 4 قطعه x آردوینو Uno R3.
  • 4 قطعه x PCB LoLShield. PCBWay (سرویس نمونه اولیه PCB سفارشی با ویژگی های کامل) این تخته های مدار چاپی LoLShield را از من پشتیبانی کرد.
  • 504 قطعه x LED ، 3 میلی متر هر LoLShield به 126 LED نیاز دارد و ما می توانیم 4 رنگ و نوع مختلف led (پراکنده یا غیر پراکنده) را انتخاب کنیم.
  • 1 عدد x شارژر قابل حمل پاوربانک باتری 10000/20000mAh.
  • 4 قطعه x سربرگ مرد 40pin 2.54 میلی متر.
  • 2 عدد x کابل USB نوع A/B یکی برای برنامه نویسی آردوینو و دیگری برای تغذیه آردوینو از طریق پاور بانک استفاده می شود.
  • جک صوتی استریو زنانه 1 عدد x 3.5 میلی متر.
  • 1 قطعه x 3.5 میلی متر 1 آداپتور اسپلیتر صوتی زن تا مرد یا شکافنده صوتی چند هدفون.
  • 1 عدد x 3.5 میلی متر استریو صوتی جک اتصال دهنده مردانه-مردانه.
تصویر
تصویر
  • کابل روبان رنگین کمان 1m x 8P.
  • 1 متر x دو کابل برق
  • 1 عدد x روشن اکریلیک ، اندازه A4.

مرحله 2: طرحواره ای

طرحواره
طرحواره

LoLShield یک ماتریس LED 9 14 14 شارلی برای Arduino است و این طراحی شامل هیچ گونه مقاومت محدود کننده فعلی نمی شود. LED ها به صورت جداگانه قابل آدرس دهی هستند ، بنابراین می توانیم از آن برای نمایش اطلاعات در ماتریس led 9 × 14 استفاده کنیم.

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 را با تحویل سریع و PCB با کیفیت بالا از من پشتیبانی کرد.

تصویر
تصویر

2. لحیم کاری LED

. هر LoLShield به 126 led نیاز دارد و من از انواع و رنگ های مختلف برای 4x LoLShields به شرح زیر استفاده کردم:

  • 1 x LoLShield: رهبری پخش شده ، رنگ قرمز ، 3 میلی متر.
  • 1 عدد LoLShield: led منتشر شده ، رنگ سبز ، 3 میلی متر.
  • 2 x LoLShield: رهبری بدون پخش (شفاف) ، رنگ آبی ، 3 میلی متر.

. تهیه PCB و LED LoLShield

تصویر
تصویر

. لحیم 126 LED بر روی مدار چاپی LoLShield. پس از لحیم کاری هر ردیف - 14 LED باید LED ها را با باتری بررسی کنیم

TOP LoLSHIELD

تصویر
تصویر

LoLSHIELD پایین

تصویر
تصویر

. یک LoLShield را تمام کنید و 3 LoLShield باقی مانده را لحیم کنید.

تصویر
تصویر

مرحله 4: اتصال و مونتاژ

. اتصال منبع تغذیه و سیگنال صوتی به 4xLoLShield. یک سیگنال استریو از دو کانال صوتی استفاده می کند: چپ و راست که در پین های آنالوگ A4 و A5 به Arduino Uno متصل هستند.

  • A4: کانال صوتی سمت چپ.
  • A5: کانال صوتی راست
تصویر
تصویر

. تراز کردن و نصب 4 x Arduino Uno روی صفحه اکریلیک.

تصویر
تصویر

. 4 x LoLShield را به 4 x Arduino Uno متصل کنید.

تصویر
تصویر

. پاور بانک شارژر قابل حمل و جک صوتی را روی صفحه اکریلیک بچسبانید

تصویر
تصویر

. انجام شده!

تصویر
تصویر

مرحله 5: برنامه ریزی

شما باید به نحوه عملکرد LoLShield بر اساس روش Charlieplexing و Fast Fourier Transform (FFT) در آدرس زیر مراجعه کنید:

fa.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

برای Charlieplexing ، ما به "سه حالت" پین های دیجیتالی آردوینو توجه می کنیم: "HIGH" (5V) ، "LOW" (0V) و "INPUT". حالت "INPUT" پین آردوینو را در حالت امپدانس بالا قرار می دهد. مرجع در:

www.arduino.cc/fa/Tutorial/DigitalPins

در پروژه من ، باندهای فرکانس صوتی روی 4 x LoL Shield نمایش داده می شوند و آنها به شرح زیر توصیف می شوند:

تصویر
تصویر

هر آردوینو سیگنال صوتی را در کانال چپ/ راست می خواند و FFT را انجام می دهد.

برای (i = 0 ؛ i <64؛ i ++) {Audio_Input = analogRead (RIGHT_CHANNEL) ؛ // خواندن سیگنال صوتی در کانال راست A5 - ARDUINO 1 و 2 // Audio_Input = analogRead (LEFT_CHANNEL) ؛ // خواندن سیگنال صوتی در کانال سمت چپ A4 - ARDUINO 3 و 4 شماره واقعی = ورودی صوتی ؛ تعداد خیالی = 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 * تعداد_تخیلی ) ؛ }

. آردوینو 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-x ، 8-y ، 1) ؛ // LED ON} else {LedSign:: Set (13-x، 8-y، 0)؛ // LED خاموش}}}

. آردوینو 2 - نمایش نوارهای فرکانسی دامنه 10 ~ 18 از کانال راست (A5).

برای (int x = 0؛ x <14؛ x ++) {برای (int y = 0؛ y <9؛ y ++) {if (x <Real_Number [9+y]) // نمایش باندهای فرکانسی 10 تا 18 {LedSign:: مجموعه (13-x ، 8-y ، 1) ؛ // LED ON} else {LedSign:: Set (13-x، 8-y، 0)؛ // LED خاموش}}}

. آردوینو 3 - نمایش نوارهای فرکانسی دامنه 01 ~ 09 از کانال چپ (A4).

کد همان Arduino 1 است و سیگنال صوتی کانال سمت چپ به آردوینو در پین آنالوگ A4 متصل می شود.

. آردوینو 4 - نمایش نوارهای فرکانسی دامنه 10 ~ 18 کانال چپ.

کد همان Arduino 2 است و سیگنال صوتی کانال سمت چپ به آردوینو در پین آنالوگ A4 متصل می شود.

مرحله 6: پایان دهید

به پایان برساند
به پایان برساند
به پایان برساند
به پایان برساند
به پایان برساند
به پایان برساند
به پایان برساند
به پایان برساند

این تجزیه و تحلیل طیف قابل حمل می تواند مستقیماً از طریق جک 3.5 میلی متری صدای استریو به لپ تاپ/ دسکتاپ ، تلفن همراه ، رایانه لوحی یا سایر پخش کننده های موسیقی متصل شود. این پروژه دیوانه به نظر می رسد ، امیدوارم دوست داشته باشید!

ممنون که خواندید !!!

توصیه شده: