CRAZY L.O.L SPECTRUM ANALIZER: 6 addım (şəkillərlə)
CRAZY L.O.L SPECTRUM ANALIZER: 6 addım (şəkillərlə)

Video: CRAZY L.O.L SPECTRUM ANALIZER: 6 addım (şəkillərlə)

Video: CRAZY L.O.L SPECTRUM ANALIZER: 6 addım (şəkillərlə)
Video: THE DUMBEST BOY ALIVE. PRETTY GOOD, EPISODE SIX. 2025, Yanvar
Anonim
CRAZY L. O. L SPECTRUM ANALIZER
CRAZY L. O. L SPECTRUM ANALIZER
CRAZY L. O. L SPECTRUM ANALIZER
CRAZY L. O. L SPECTRUM ANALIZER

Bu gün 4 LoL Shields bir araya gətirərək 36 spektrli bir səs spektri analizatorunun necə hazırlanacağını bölüşmək istərdim. Bu dəli layihə, stereo səs siqnalını təhlil etmək, tezlik diapazonlarına çevirmək və 4 x LoL Shields -də bu tezliklərin amplitüdünü göstərmək üçün FFT kitabxanasından istifadə edir.

Başlamadan əvvəl, aşağıdakı videoya baxın:

Addım 1: İhtiyacımız olan şeylər

Əsas elektron komponentlər aşağıdakılardır:

  • 4 ədəd x Arduino Uno R3.
  • 4 ədəd x LoLShield PCB. PCBWay (Tam xüsusiyyətli xüsusi PCB prototip xidməti) mənə bu LoLShield çap elektron lövhələrini dəstəklədi.
  • 504 ədəd x LED, 3 mm. Hər LoLShield üçün 126 LED lazımdır və 4 fərqli LED rəng və növ seçə bilərik (yayılmış və ya yayılmamış).
  • 1 ədəd x Portativ Şarj Cihazı Power Bank Batareyası 10000/20000mAh.
  • 4 ədəd x Kişi Başlığı 40pin 2.54mm.
  • 2 ədəd x USB Tip A/B kabeli. Biri Arduino proqramlaşdırması üçün, digəri isə Arduinoya bir güc bankından enerji vermək üçündür.
  • 1 ədəd x 3,5 mm Qadın Stereo Audio Jak.
  • 1 ədəd x 3,5 mm 1 Kişi -2 Qadın Səs Ayırıcı Adaptoru və ya Çoxlu Qulaqlıq Səs Bölücü.
  • 1 ədəd x 3,5 mm Stereo Audio Jack Kişi-Kişi Bağlayıcı Kabeli.
Şəkil
Şəkil
  • 1m x 8P Gökkuşağı Şerit Kabeli.
  • 1m x İki Nüvəli Güc Kablosu.
  • 1 ədəd x Şəffaf Akril, ölçü A4.

Addım 2: ŞEMATİK

Sxematik
Sxematik

LoLShield, Arduino üçün 9x14 charlieplexing LED matrisidir və bu dizayn heç bir cərəyan məhdudlaşdıran rezistor daxil deyil. LED -lər ayrı -ayrılıqda ünvanlanır, buna görə məlumatı 9 × 14 LED matrisdə göstərmək üçün istifadə edə bilərik.

LoL Shield, D0 (Rx), D1 (Tx) və analog pinləri A0 -dan A5 -ə digər tətbiqlər üçün pulsuz olaraq buraxır. Aşağıdakı şəkil bu layihə üçün Arduino Uno pinlərinin istifadəsini göstərir:

Şəkil
Şəkil

Audio spektr analizatorumda 4 x (Arduino Uno + LoLShield) var. 3,5 mm gücündə olan stereo audio jak aşağıdakı sxemə görə bağlanmışdır:

Şəkil
Şəkil

Addım 3: LOL SHIELD PCB və LED Lehimləmə

1. LoL SHIELD PCB

. PCB dizaynına müraciət edə bilərsiniz: https://github.com/jprodgers/LoLshield by Jimmie P. Rodgers.

Şəkil
Şəkil

. PCBWay mənə sürətli çatdırılma və yüksək keyfiyyətli PCB ilə bu LoLShield çap elektron lövhələrini dəstəklədi.

Şəkil
Şəkil

2. LED Lehimləmə

. Hər bir LoLShield üçün 126 led lazımdır və 4x LoLShields üçün aşağıdakı kimi fərqli növ və rənglərdən istifadə etdim:

  • 1 x LoLShield: yayılmış led, qırmızı rəng, 3 mm.
  • 1 x LoLShield: yayılmış led, yaşıl rəng, 3 mm.
  • 2 x LoLShield: yayılmamış (aydın) led, mavi rəng, 3 mm.

. LoLShield PCB və LED hazırlanır

Şəkil
Şəkil

. LoLShield PCB üzərində 126 LED lehimləmə. Hər cərgəni lehimlədikdən sonra LEDləri batareya ilə yoxlamalıyıq - 14 LED

TOP LOLSHIELD

Şəkil
Şəkil

Alt LoLSHIELD

Şəkil
Şəkil

. Bir LoLShield bitirdikdən sonra qalan 3 LoLShield lehimləməyə davam edin.

Şəkil
Şəkil

Addım 4: BAĞLAMA VƏ MONTAJ

. 4xLoLShield -ə lehimləmə enerji təchizatı və səs siqnalı. Stereo siqnal iki audio kanaldan istifadə edir: A4 və A5 analog pinlərində Arduino Uno -ya qoşulan sol və sağ.

  • A4: Sol Audio Kanal.
  • A5: Sağ Səs Kanalı.
Şəkil
Şəkil

. Akril lövhədə 4 x Arduino Uno hizalanması və montajı.

Şəkil
Şəkil

. 4 x LoLShield -i 4 x Arduino Uno -ya bağlayın.

Şəkil
Şəkil

. Akril lövhədə portativ şarj cihazının güc bankını və səs yuvasını yapışdırın

Şəkil
Şəkil

. Bitdi!

Şəkil
Şəkil

Addım 5: PROGRAMLAMA

LoLShield -in Charlieplexing metodu və Fast Fourier Transform (FFT) əsasında necə işlədiyinə müraciət etməlisiniz:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

Charlieplexing üçün Arduino rəqəmsal pinlərinin "üç vəziyyətinə" diqqət yetiririk: "HIGH" (5V), "LOW" (0V) və "INPUT". "GİRİŞ" rejimi Arduino pinini yüksək empedans vəziyyətinə gətirir. İstinad:

www.arduino.cc/en/Tutorial/DigitalPins

Layihəmdə səs tezliyi bantları 4 x LoL Shield -də göstərilir və aşağıda göstərildiyi kimi təsvir olunur:

Şəkil
Şəkil

Hər bir Arduino sol/ sağ kanalda səs siqnalını oxuyur və FFT yerinə yetirir.

for (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Səs siqnalını A5 kanalında oxuyun - ARDUINO 1 & 2 // Audio_Input = analogRead (LEFT_CHANNEL); // A4 sol kanalında səs siqnalını oxuyun - ARDUINO 3 & 4 Real_Number = Audio_Input; Xəyali_Sayı = 0; } fix_fft (Real_Number, Imaginary_Number, 6, 0); // Fast i Fourier Transformunu N_WAVE = 6 (2^6 = 64) ilə (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Sayı +Xəyali_Sayı * Xəyali_Sayı ); }

. Arduino 1 - Sağ kanalın (A5) 01-09 amplitüd tezlik diapazonlarını göstərin.

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // 01 -dən 09 -a qədər tezlik diapazonlarını göstərin {LedSign:: Set (13-x, 8-y, 1); // LED ON} başqa {LedSign:: Set (13-x, 8-y, 0); // LED söndürüldü}}}

. Arduino 2 - Sağ kanalın (A5) 10 ~ 18 amplitüd tezlik diapazonlarını göstərin.

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [9+y]) // 10 ilə 18 arasındakı tezlik diapazonlarını göstərin {LedSign:: Set (13-x, 8-y, 1); // LED ON} başqa {LedSign:: Set (13-x, 8-y, 0); // LED söndürüldü}}}

. Arduino 3 - Sol kanalın (A4) 01-09 amplitüd tezlik diapazonlarını göstərin.

Kod Arduino 1 ilə eynidır və sol kanal A4 analog pinində Arduino -ya qoşulur.

. Arduino 4 - Sol kanalın 10 ~ 18 amplitüd tezlik diapazonlarını göstərin.

Kod Arduino 2 ilə eynidır və səs siqnalı sol kanal A4 analog pinində Arduino -ya qoşulur.

Addım 6: SONLA

SONLA
SONLA
SONLA
SONLA
SONLA
SONLA
SONLA
SONLA

Bu portativ spektr analizatoru 3,5 mm stereo audio jak vasitəsilə birbaşa noutbuka/ masaüstünə, cib telefonuna, planşetə və ya digər musiqi pleyerlərinə qoşula bilər. Bu layihə çılğın görünür, ümid edirəm bəyənəcəksiniz!

Oxuduğunuz üçün təşəkkürlər !!!