İçindekiler:

CRAZY L.O.L SPEKTRUM ANALİZÖRÜ: 6 Adım (Resimlerle)
CRAZY L.O.L SPEKTRUM ANALİZÖRÜ: 6 Adım (Resimlerle)

Video: CRAZY L.O.L SPEKTRUM ANALİZÖRÜ: 6 Adım (Resimlerle)

Video: CRAZY L.O.L SPEKTRUM ANALİZÖRÜ: 6 Adım (Resimlerle)
Video: CRAZY L.O.L SPECTRUM ANALYZER 2024, Kasım
Anonim
ÇILGIN L. O. L SPEKTRUM ANALİZÖRÜ
ÇILGIN L. O. L SPEKTRUM ANALİZÖRÜ
ÇILGIN L. O. L SPEKTRUM ANALİZÖRÜ
ÇILGIN L. O. L SPEKTRUM ANALİZÖRÜ

Bugün 4 LoL Shield'i bir araya getirerek 36 bantlı bir ses spektrum analizörünün nasıl yapıldığını paylaşmak istiyorum. Bu çılgın proje, bir stereo ses sinyalini analiz etmek, onu frekans bantlarına dönüştürmek ve bu frekans bantlarının genliğini 4 x LoL Kalkanlarında görüntülemek için bir FFT kitaplığı kullanır.

Başlamadan önce lütfen aşağıdaki videoyu izleyin:

Adım 1: İHTİYACIMIZ OLAN ŞEYLER

Ana elektronik bileşenler aşağıdaki gibidir:

  • 4 adet x Arduino Uno R3.
  • 4 adet x LoLShield PCB. PCBWay (Tam özellikli özel PCB prototip hizmeti) bana bu LoLShield baskılı devre kartlarını destekledi.
  • 504 adet x LED, 3mm. Her LoLShield'in 126 LED'e ihtiyacı vardır ve 4 farklı led rengi ve tipi (dağıtılmış veya dağınık) seçebiliriz.
  • 1 adet x Taşınabilir Şarj Cihazı Güç Bankası Pili 10000/20000mAh.
  • 4 adet x Erkek Başlık 40pin 2.54mm.
  • 2 adet x USB Tip A/B kablosu. Biri Arduino programlaması için, diğeri Arduino'yu bir güç bankasından çalıştırmak için kullanılır.
  • 1 adet x 3.5mm Dişi Stereo Ses Jakı.
  • 1 adet x 3.5mm 1 Erkek - 2 Kadın Ses Ayırıcı Adaptör veya Çoklu Kulaklık Ses Ayırıcı.
  • 1 adet x 3.5mm Stereo Ses Jakı Erkek-Erkek Konnektör Kablosu.
resim
resim
  • 1m x 8P Gökkuşağı Şerit Kablo.
  • 1m x İki Çekirdekli Güç Kablosu.
  • 1 adet x Şeffaf Akrilik, A4 boyutunda.

2. Adım: ŞEMATİK

ŞEMATİK
ŞEMATİK

LoLShield, Arduino için 9x14 charlieplexing LED matrisidir ve bu tasarım herhangi bir akım sınırlayıcı direnç İÇERMEZ. LED'ler ayrı ayrı adreslenebilir, bu nedenle bilgileri 9×14 led matriste görüntülemek için kullanabiliriz.

LoL Shield, diğer uygulamalar için D0 (Rx), D1 (Tx) ve A0 - A5 analog pinlerini serbest bırakır. Aşağıdaki resim, bu proje için Arduino Uno pinlerinin kullanımını göstermektedir:

resim
resim

Ses spektrum analizörümde 4 x (Arduino Uno + LoLShield) var. Güç kaynağı ve 3,5 mm stereo ses jakı aşağıdaki şematik olarak bağlanmıştır:

resim
resim

Adım 3: LOL SHIELD PCB & LED LEHİM

1. LoL KALKAN PCB

Ѽ. PCB tasarımına şu adresten başvurabilirsiniz: https://github.com/jprodgers/LoLshield by Jimmie P. Rodgers.

resim
resim

Ѽ. PCBWay bana bu LoLShield baskılı devre kartlarını hızlı teslimat ve yüksek kaliteli PCB ile destekledi.

resim
resim

2. LED LEHİM

Ѽ. Her LoLShield 126 led'e ihtiyaç duyar ve 4x LoLShield için farklı tür ve renkler kullandım:

  • 1 x LoLShield: dağınık led, kırmızı renk, 3mm.
  • 1 x LoLShield: dağınık led, yeşil renk, 3mm.
  • 2 x LoLShield: dağınık olmayan (şeffaf) led, mavi renk, 3mm.

Ѽ. LoLShield PCB ve LED'i Hazırlama

resim
resim

Ѽ. 126 LED'i LoLShield PCB'ye lehimleme. LED'leri her sıra lehimledikten sonra pil ile kontrol etmeliyiz - 14 LED

TOP LoLSHIELD

resim
resim

ALT LoLSHIELD

resim
resim

Ѽ. Bir LoLShield'ı bitirin ve kalan 3 LoLShield'ı lehimlemeye devam edin.

resim
resim

Adım 4: BAĞLANTI VE MONTAJ

Ѽ. 4xLoLShield'a güç kaynağı ve ses sinyali lehimleme. Bir stereo sinyali iki ses kanalı kullanır: Arduino Uno'ya A4 ve A5 analog pinlerinde bağlanan sol ve sağ.

  • A4: Sol Ses Kanalı.
  • A5: Sağ Ses Kanalı.
resim
resim

Ѽ. 4 x Arduino Uno'yu akrilik plaka üzerine hizalama ve monte etme.

resim
resim

Ѽ. 4 x LoLShield'ı 4 x Arduino Uno'ya takma.

resim
resim

Ѽ. Akrilik plaka üzerine taşınabilir şarj cihazı güç bankası ve ses jakını yapıştırın

resim
resim

Ѽ. Tamamlandı!

resim
resim

Adım 5: PROGRAMLAMA

LoLShield'ın Charlieplexing yöntemine ve Hızlı Fourier Dönüşümü'ne (FFT) dayalı olarak nasıl çalıştığına şu adresten bakmalısınız:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

Charlieplexing için Arduino dijital pinlerinin "üç durumu"na dikkat ediyoruz: "HIGH" (5V), "LOW" (0V) ve "INPUT". "GİRİŞ" modu, Arduino pinini yüksek empedans durumuna getirir. Referans:

www.arduino.cc/en/Tutorial/DigitalPins

Projemde, ses frekans bantları 4 x LoL Shield üzerinde gösteriliyor ve aşağıda gösterildiği gibi açıklanıyor:

resim
resim

Her Arduino, sol/sağ kanaldaki ses sinyalini okur ve FFT'yi gerçekleştirir.

for (i=0; i < 64; i++) { Audio_Input= analogRead(RIGHT_CHANNEL); // Sağ kanaldaki ses sinyalini oku A5 - ARDUINO 1 & 2 //Audio_Input = analogRead(LEFT_CHANNEL); // Sol kanaldaki ses sinyalini oku A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Hayali_Sayı = 0; } fix_fft(Gerçek_Sayı, Hayali_Sayı, 6, 0); // (i=0; i< 32;i++) { Real_Number = 2*sqrt(Real_Number * Real_Number + Imaginary_Number için N_WAVE=6 (2^6=64) ile Hızlı Fourier Dönüşümü gerçekleştirin * Hayali_Sayı); }

Ѽ. Arduino 1 - Sağ kanalın (A5) 01 ~ 09 genlik frekans bantlarını görüntüleyin.

for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (x < Real_Number[y]) // 01 - 09 frekans bantlarını göster { LedSign::Set (13-x, 8-y, 1); // LED AÇIK } else { LedSign::Set(13-x, 8-y, 0); // LED KAPALI } } }

Ѽ. Arduino 2 - Sağ kanalın (A5) 10 ~ 18 genlik frekans bantlarını görüntüleyin.

for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (x < Gerçek_Sayı[9 + y]) // 10 ila 18 arasındaki frekans bantlarını görüntüle { LedSign::Ayarla(13-x, 8-y, 1); // LED AÇIK } else { LedSign::Set(13-x, 8-y, 0); // LED KAPALI } } }

Ѽ. Arduino 3 - Sol kanalın (A4) 01 ~ 09 genlik frekans bantlarını görüntüleyin.

Kod Arduino 1 ile aynıdır ve ses sinyali sol kanalı Arduino'ya analog pin A4'te bağlanır.

Ѽ. Arduino 4 - Sol kanalın 10 ~ 18 genlik frekans bantlarını görüntüleyin.

Kod Arduino 2 ile aynıdır ve ses sinyali sol kanalı Arduino'ya analog pin A4'te bağlanır.

6. Adım: BİTİR

BİTİŞ
BİTİŞ
BİTİŞ
BİTİŞ
BİTİŞ
BİTİŞ
BİTİŞ
BİTİŞ

Bu taşınabilir spektrum analizörü, 3,5 mm stereo ses jakı aracılığıyla doğrudan bir dizüstü bilgisayar/masaüstü, cep telefonu, tablet veya diğer müzik çalarlara bağlanabilir. Bu proje çılgın görünüyor, umarım beğenirsiniz!

okuduğunuz için teşekkürler!!!

Önerilen: