İçindekiler:
- 1. Adım: LoL Shield'i Birleştirin
- 2. Adım: Telleri Ses Jakına Lehimleyin
- Adım 3: Arduino'yu Programlayın
- Adım 4: Keyfini çıkarın!
Video: LoL Shield Audio Spectrum VU Meter: 4 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu, Arduino için LoL Shield kullanan bir ses spektrumu VU ölçerdir. LoL Shield, Arduino'ya kalkan olarak uyan ve Charlieplexing olarak bilinen verimli bir yöntemle kontrol edilen 14 x 9 LED matrisidir. Jimmie P. Rodgers tarafından tasarlanmıştır. Bu proje, Arduino için bir ses sinyalini analiz etmek, frekans bantlarına bölmek ve bu bilgiyi LoL Shield üzerinde görüntülemek için bir Fast Fourier Transform kütüphanesi kullanır. Arduino mikrodenetleyici, hızlı bir Fourier dönüşümünü hesaplamak için yeterince hızlıdır. Adının hakkını veriyor ve şaşırtıcı derecede hızlı ve doğru. Tüm iş mikrodenetleyici tarafından yapıldığından, pil kullanırsanız bu proje tamamen taşınabilir. Bu projenin web sayfası şu adreste bulunmaktadır: https://andydoro.com/vulol/ & amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br /& amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; Gerekli parçalar:
- LoL Kalkanı
- Arduino (Diavolino önerilir)
- ses jakı (erkek mono 1/8" telefon fişi kullandım)
- Arduino kodu
- güç kaynağı (DC güç kaynağı, USB kablosu, 9V pil, vb.)
1. Adım: LoL Shield'i Birleştirin
LoL Shield'i monte etmek için buradaki talimatları izleyin. Bak, bu hiç uzun sürmedi!
2. Adım: Telleri Ses Jakına Lehimleyin
Radioshack'te adı verilen bir erkek mono 1/8 telefon fişi kullanıyorum, ancak ses sistemi kurulumunuz için uygun olan herhangi bir ses kablosunu kullanabilirsiniz. İsterseniz bir mikrofon kullanabilirsiniz. Bu tür fiş için, İki kablo lehimledim. Kırmızı ve siyah kullandım. LoL Shield, girişler için analog pin 4 ve 5'i serbest bırakır. Kodum pin 5'i kullanır. Kırmızı kabloyu LoL Shield'in analog pin 5'ine ve siyah kabloyu GND'ye bağlayabilirsiniz. Lehimlemenize gerek yok, sadece teli geçirip büktüm.
Adım 3: Arduino'yu Programlayın
Şimdi Arduino'yu LoL Shield'i kontrol edecek şekilde programlamamız gerekiyor.
Standart Arduino'da pin 13'e bağlı yeşil yüzey montajlı LED nedeniyle LED'ler üzerinde "gölgelenme" etkilerini önlemek için LoL Shield'i kontrol etmek için Diavolino kullanılması önerilir, ancak standart bir Arduino iyi çalışacaktır.
Bu, iki Arduino kitaplığı gerektirir: - Arduino forumunda bulunan FFT kitaplığı - LoL Shield için Charlieplexing kitaplığı
Arduino için kitaplık kurmak, daha önce yapmadıysanız biraz göz korkutucu olabilir, ancak iyi yapacaksınız!
Arduino kitaplıklarını yükleme talimatlarını buradan takip edin:
www.arduino.cc/en/guide/libraries
FFT kitaplığı, ses sinyalini 64 frekans bandında keser. LoL Shield 14 x 9 LED'dir. 64 frekans bandının ortalamasını 14 frekans bandında toplarız. Bazı verileri atıyoruz çünkü 14, 64'e eşit olarak bölünmez, ama neyse. Her frekans aralığının değeri 0'dan 9'a yeniden eşlenir.
Aşağıdaki Arduino kodunu kopyalayabilir, kodu GitHub'dan alabilir (önerilir) veya kütüphaneleri ve Arduino kodunu içeren. ZIP dosyasını indirebilirsiniz.
İşte GitHub bağlantısı:
github.com/andydoro/LoLShield-FFT
Arduino kodu aşağıdadır:
/* LoL Shield v0.9 için FFT, Andy Doro tarafından https://andydoro.com/FFT kitaplığına ve Arduino forumlarından alınan koda ve LoL Shield için Charlieplexing kitaplığına dayanmaktadır. */
#include "Charliplexing.h"
#include "fix_fft.h"
#define AUDIOPIN 5 karakter im[128], veri[128]; char data_avgs[14];
int i=0, değer;
geçersiz kurulum() { LedSign::Init(); //LoL Shield'i başlatır }
boşluk döngüsü () {
for (i=0; i < 128; i++){ val = analogRead(AUDIOPIN); veri = değer; im = 0; };
fix_fft(veri, im, 7, 0);
for (i=0; i< 64;i++){ data = sqrt(data * data + im * im); // bu dizideki değerlerin mutlak değerini alır, yani biz sadece pozitif sayılarla uğraşıyoruz };
// (i=0; i<14; i++) { data_avgs = data[i*4] + data[i*4 + 1] + data[i*4 + 2] + data[için ortalama çubuklar birlikte ben*4 + 3]; // birlikte ortalama data_avgs = map(data_avgs, 0, 30, 0, 9); // LoL için değerleri yeniden eşle }
// LoLShield'ı ayarla
for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (y < data_avgs[13-x]) { // 13-x çubukları çok düşük tersine çevirir yüksek frekanslar soldan sağa temsil edilir. LedSign::Set(x, y, 1); // LED'i aç } else { LedSign::Set(x, y, 0); // LED'i kapat } } }
}
Adım 4: Keyfini çıkarın!
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br&amp;amp;amp; amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; Ses jakını stereo cihazınıza, iPod'unuza, bilgisayarınıza vb. takın. Arduino'ya bir DC güç kaynağı, bilgisayarınızdan USB veya pillerle güç verin - bu tamamen taşınabilir. Bir şapkaya veya kemer tokasına koyabilirsiniz. Beyaz LED'ler o kadar parlak ki videoda yakalamak zor. Görünüşe göre onlardan mor alev çıkıyor! Arkanıza yaslanın ve keyfini çıkarın!
Mikrodenetleyici Yarışmasında Finalist
Önerilen:
Arduino ve Diğer Mikrolar için Daha Ucuz Bir ESP8266 WiFi Shield: 6 Adım (Resimlerle)
Arduino ve Diğer Mikrolar için Daha Ucuz Bir ESP8266 WiFi Kalkanı: Güncelleme: 29 Ekim 2020ESP8266 kart kitaplığı V2.7.4 ile test edildi – çalışır Güncelleme: 23 Eylül 2016Bu proje için Arduino ESP kart kitaplığı V2.3.0'ı kullanmayın. V2.2.0 çalışırGüncelleme: 19 Mayıs 2016Rev 14 Bu projenin kitaplıkları ve kodları, birlikte çalışacak şekilde revize ediyor
Bileşen Test Cihazı UNO Shield: 5 Adım (Resimlerle)
Bileşen Test Cihazı UNO Kalkanı: Hola Millet!!Geçmiş bileşen test cihazı projelerimde - Anahtarlıkta Bileşen Test Cihazı ve USB Bileşen Test Cihazı Bileşen test cihazının Arduino uyumlu bir sürümünü isteyen birçok yorum ve mesaj aldım. Bekleyiş sona erdi millet !!!Sunum C
LOL Harman Feneri - Gece Lambası: 15 Adım
LOL Thresh Lantern- Night Light: Lambanın tasarımı en sevdiğim oyun League of Legend'a dayanmaktadır. Bu lamba, Thresh'in takım arkadaşını emniyete alarak yardımcı olmasına yardımcı olan harika bir araçtır. Lamba ayrıca takım arkadaşlarına hasar engelleyen bir kalkan da verebilir. Bunu yapmaya karar veriyorum
Raspberry Pi RetroPie Yapıları için ZX Spectrum USB Adaptörü: 5 Adım (Resimlerle)
Raspberry Pi RetroPie Yapıları için ZX Spectrum USB Adaptörü: RetroPie, Raspberry Pis ve diğer tek kartlı bilgisayarlarda retro video oyun sistemlerini taklit etmek için özel olarak tasarlanmış özel bir Linux dağıtımıdır. Bir süredir bir RetroPie derlemesinde her şeyi yapmak istiyordum ve bu repliği gördüğümde
EMotimo Spectrum için 3ft DIY Actobotics Slider: Bölüm III: 6 Adım (Resimlerle)
EMotimo Spectrum için 3ft DIY Actobotics Slider: Bölüm III: Bu, kaydırıcıyı eMotimo Spectrum ST4 kullanarak hızlandırılmış ve video dizileri için motorize ettiğim kaydırıcı yapısının III. bölümüdür. 1. adımdaki aynı görüntülerin bazıları burada tekrarlanır, böylece derleme dizileri arasında ileri geri gitmeniz gerekmez.