Mundarija:

LoL Shield audio spektrli VU o'lchagich: 4 qadam (rasmlar bilan)
LoL Shield audio spektrli VU o'lchagich: 4 qadam (rasmlar bilan)

Video: LoL Shield audio spektrli VU o'lchagich: 4 qadam (rasmlar bilan)

Video: LoL Shield audio spektrli VU o'lchagich: 4 qadam (rasmlar bilan)
Video: Taygetan Küresel Dronları & Uzay Dronları &@SwaruuOficial 2024, Noyabr
Anonim
LoL Shield audio spektrli VU o'lchagich
LoL Shield audio spektrli VU o'lchagich

Bu Arduino uchun LoL Shield yordamida audio spektrli VU o'lchagich. LoL Shield - bu 14 x 9 LEDli matritsa, u qalqon sifatida Arduino -ga mos keladi va Charlieplexing deb nomlanuvchi samarali usul yordamida boshqariladi. U Jimmi P. Rodjers tomonidan ishlab chiqilgan. Ushbu loyiha Arduino uchun Fast Fourier Transform kutubxonasidan foydalanib, audio signalni tahlil qiladi, uni chastota diapazoniga ajratadi va bu ma'lumotlarni LoL Shield -da ko'rsatadi. Arduino mikrokontrolderi Fourier konvertatsiyasini hisoblash uchun etarlicha tezdir. U o'z nomiga mos keladi va hayratlanarli darajada tez va aniq. Barcha ishlar mikrokontroller tomonidan bajarilganligi sababli, agar siz batareyalardan foydalansangiz, bu loyiha to'liq ko'chma bo'ladi. Ushbu loyihaning veb -sahifasi https://andydoro.com/vulol/ & ampquotda joylashgan. amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; Kerakli qismlar:

  • LoL qalqoni
  • Arduino (Diavolino tavsiya etiladi)
  • audio raz'em (men erkak mono 1/8 dyuymli telefon vilkasidan foydalanardim)
  • Arduino kodi
  • quvvat manbai (shahar quvvat manbai, USB kabeli, 9V batareya va boshqalar)

1 -qadam: LoL qalqonini yig'ing

LoL qalqonini yig'ing
LoL qalqonini yig'ing

LoL Shield -ni yig'ish uchun ko'rsatmalarga amal qiling. Qarang, bu uzoq davom etmadi!

2 -qadam: lehim simlari audio jakka

Lehim simlari audio jakka
Lehim simlari audio jakka

Men "Radioshack" da aytilganidek, 1/8 dyuymli erkak monofonli telefon vilkasidan foydalanmoqdaman, lekin siz audio tizimni sozlash uchun mos keladigan audio kabelidan foydalanishingiz mumkin. Agar xohlasangiz, mikrofondan foydalanishingiz mumkin. Bunday vilka uchun. Men ikkita simni lehimladim. Men qizil va qora ranglardan foydalandim. LoL Shield 4 va 5 analog pinlarni kirish uchun bepul qoldiradi. Mening kodim 5 -pinni ishlatadi. Siz qizil simni LoL Shield -ning 5 -analog piniga va qora simni GND -ga ulashingiz mumkin. Siz uni lehimlashingiz shart emas, men simni uzatdim va egdim.

3 -qadam: Arduino dasturi

Arduino dasturi
Arduino dasturi

Endi biz Arduino -ni LoL Shield -ni boshqarish uchun dasturlashimiz kerak.

Standart Arduino -dagi 13 -pin bilan bog'langan LEDning yashil yuzasiga o'rnatilgan LED tufayli "yorug'lik" ta'sirini oldini olish uchun LoL Shield -ni boshqarish uchun Diavolino -dan foydalanish tavsiya etiladi, lekin standart Arduino yaxshi ishlaydi.

Buning uchun ikkita Arduino kutubxonasi kerak: - Arduino forumida topilgan FFT kutubxonasi - LoL Shield uchun Charlieplexing kutubxonasi.

Arduino uchun kutubxonalarni o'rnatish, agar siz buni oldin qilmagan bo'lsangiz, biroz qiyin bo'lishi mumkin, lekin siz yaxshi ish qilasiz!

Arduino kutubxonalarini o'rnatish bo'yicha ko'rsatmalarga amal qiling:

www.arduino.cc/en/guide/libraries

FFT kutubxonasi audio signalni 64 chastota diapazonida uzadi. LoL Shield - 14 x 9 LED. Biz o'rtacha 64 chastota diapazonini 14 chastota diapazoniga birlashtiramiz. Biz ba'zi ma'lumotlarni tashlamoqdamiz, chunki 14 64 ga teng taqsimlanmaydi, lekin whatevs. Har bir chastota diapazonining qiymati 0 dan 9 gacha o'zgaradi.

Siz Arduino kodini quyida nusxalashingiz, GitHub -dan kodni olishingiz (tavsiya etiladi) yoki kutubxonalar va Arduino kodini o'z ichiga olgan. ZIP faylini yuklab olishingiz mumkin.

Mana GitHub havolasi:

github.com/andydoro/LoLShield-FFT

Quyida Arduino kodi:

/* LoL Shield v0.9 uchun FFT Andy Doro https://andydoro.com/FFT kutubxonasi va Arduino forumlari va LoL Shield uchun Charlieplexing kutubxonasi kodiga asoslangan. */

#"Charliplexing.h" ni qo'shing

#"fix_fft.h" ni qo'shing

#define AUDIOPIN 5 char im [128], ma'lumotlar [128]; char data_avgs [14];

int i = 0, val;

void setup () {LedSign:: Init (); // LoL qalqonini ishga tushiradi}

void loop () {

uchun (i = 0; i <128; i ++) {val = analogRead (AUDIOPIN); ma'lumotlar = val; im = 0; };

fix_fft (ma'lumotlar, im, 7, 0);

uchun (i = 0; i <64; i ++) {ma'lumotlar = sqrt (ma'lumotlar * ma'lumotlar +im * im ); // bu massivdagi qiymatlarning mutlaq qiymatini oladi, shuning uchun biz faqat musbat sonlar bilan ishlaymiz};

// o'rtacha chiziqlar (i = 0; i <14; i ++) {data_avgs = ma'lumotlar [i*4] + ma'lumotlar [i*4 + 1] + ma'lumotlar [i*4 + 2] + ma'lumotlar [i*4 + 3]; // o'rtacha o'rtacha data_avgs = xarita (data_avgs , 0, 30, 0, 9); // LoL uchun qayta qiymatlar

// LoLShield -ni o'rnating

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x barlarni juda past qaytaradi yuqori chastotalar chapdan o'ngga ko'rsatiladi. LedSign:: Set (x, y, 1); // LEDni yoqing} else {LedSign:: Set (x, y, 0); // LEDni o'chiring}}}

}

4 -qadam: Xursand bo'ling !

Xursand bo'ling !!
Xursand bo'ling !!

& ampquotAmmo & ampquot; amp; amp; amp; amp; amp; amp; amp; gt; Ovoz jakini stereo, iPod, kompyuter va boshqalarga ulang. Arduino-ni doimiy quvvat manbai, kompyuterdan USB yoki batareyalar bilan quvvatlang- bu butunlay ko'chma. Siz uni shlyapa yoki kamar tokchasiga qo'yishingiz mumkin. Oq LEDlar shunchalik yorqinki, ularni videoga olish qiyin. Ko'rinib turibdiki, ulardan binafsha olov chiqib ketayapti! Orqa o'tiring va zavqlaning!

Mikrokontroller tanlovi
Mikrokontroller tanlovi
Mikrokontroller tanlovi
Mikrokontroller tanlovi

Mikrokontroller tanlovining finalchisi

Tavsiya: