Andrei-Mădălin PETRESCU (66829) - Microphone controlled LED cube

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul meu constă dintr-un cub de LED-uri de dimensiune 4x4x4 controlat de un microfon în funcție de frecvențele de la intrare. Scopul lui este de a oferi o reprezentare vizuală a sunetului. Ideea de la care am pornit a fost influențată de faptul că am vrut să combin elemente de sunet cu elemente de vizual pentru a creea ceva unic. Proiectul este util pentru mine deoarece îmi oferă oportunitatea de a învăța să creez ceva de la 0 pe o plăcuță, iar pentru alții deoarece oferă un efect vizual interesant.

Descriere generală

Sunetul este captat de microfon și amplificat deoarece semnalul este prea mic pentru a fi citit de ADC-ul ATmega-ului. În continuare semnalul intră în ADC, iar pe microcontroller voi implementa FFT pentru a trece din domeniul timp în domeniul frecvență. Plaja de semnale 50-20000 Hz (20-50 este cam jos și nu poate fi captat de unele microfoane) va fi despărțită în 8 segmente și în funcție de fiecare segment se vor aprinde unele părți din cubul de LED-uri în următoarea secvență : Pentru primul segment cele 4 LED-uri din interiorul primului pătrat, pentru al doilea cele 12 LED-uri din exteriorul primului pătrat, pentru al 3-lea cele 4 LED-uri din interiorul pătratului de pe nivelul 2, pentru al 4-lea cele 12 LED-uri din exteriorul pătratului 2 etc.

Hardware Design

Listă de piese:

  • Microfon
  • 16 de rezistoare de 220 ohm
  • 4 rezistoare de 2.2k ohm
  • 5 tranzistoare 2n2222
  • 56 led-uri verzi
  • 4 led-uri roșii
  • 4 led-uri galbene
  • 1 condensator 100nf
  • 2 rezistoare 10k ohm
  • 1 rezistor 100k ohm

Software Design

Pentru dezvoltare am scris codul în Sublime și am compilat pe Linux folosind avr-gcc. Pentru partea de FFT am folosit o bibliotecă descărcată de pe internet. În rest am folosit funcții pentru ADC și am dat output-ul funcției ADC_get bibliotecii care se ocupă de FFT într-un buffer. Aceasta întoarce alt buffer pe care îl folosesc pentru a aprinde led-urile.

Rezultate Obţinute

Am reușit să finalizez proiectul, însă pentru o gamă mai restrânsă de frecvențe deoarece am fost puțin constrâns de calitatea microfonului, ADC-ului și a difuzorului telefonului pe care pun sinusoida de la 20 Hz la 20 kHz. Cu cât frecvența captată de microfon este mai mare cu atât se aprind părți diferite ale cubului din etajele superioare, la frecvență maximă aprinzându-se cele 8 din exteriorul etajului superior.

Concluzii

Mi-a plăcut mult procesul realizării acestui proiect deoarece am avut ocazia să realizez ceva cât de cât complex din punct de vedere hardware. Consider că skill-urile dobândite de la acest proiect îmi vor folosi pe viitor.

Download

Jurnal

Bucata de parchet pe care am construit cubul :D.

Lipiturile de pe spate.

Placa terminată.

Se aprind toate led-urile!

Bibliografie/Resurse

Biblioteca pentru FFT: http://elm-chan.org/works/akilcd/report_e.html

  • Documentația în format PDF
pm/prj2017/mandrei/66829.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0