Inhoudsopgave:
- Stap 1: Monteer LoL Shield
- Stap 2: Soldeer draden naar de audio-aansluiting
- Stap 3: Programmeer Arduino
- Stap 4: Geniet ervan
Video: LoL Shield Audio Spectrum VU-meter - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Dit is een VU-meter voor het audiospectrum die het LoL Shield voor Arduino gebruikt. Het LoL Shield is een 14 x 9 LED-matrix die als schild op de Arduino past en wordt bestuurd via een efficiënte methode die bekend staat als Charlieplexing. Het werd ontworpen door Jimmie P. Rodgers. Dit project maakt gebruik van een Fast Fourier Transform-bibliotheek voor Arduino om een audiosignaal te analyseren, op te splitsen in frequentiebanden en die informatie weer te geven op het LoL Shield. De Arduino-microcontroller is snel genoeg om een snelle Fourier-transformatie te berekenen. Het doet zijn naam eer aan en is verrassend snel en nauwkeurig. Omdat al het werk door de microcontroller wordt gedaan, is dit project volledig draagbaar als je batterijen gebruikt. De webpagina voor dit project is te vinden op https://andydoro.com/vulol/ & 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;gt; Benodigde onderdelen:
- LoL-schild
- Arduino (Diavolino aanbevolen)
- audio-aansluiting (ik gebruikte een mannelijke mono 1/8" telefoonstekker)
- Arduino-code
- voeding (DC voeding, USB kabel, 9V batterij, etc.)
Stap 1: Monteer LoL Shield
Volg hier de instructies om de LoL Shield te monteren. Kijk, dat duurde helemaal niet lang!
Stap 2: Soldeer draden naar de audio-aansluiting
Ik gebruik een mannelijke mono 1/8 -telefoonstekker, zoals deze bij Radioshack wordt genoemd, maar je kunt elke audiokabel gebruiken die geschikt is voor je audiosysteemopstelling. Je zou een microfoon kunnen gebruiken als je dat wilt. Voor dit type stekker, Ik heb twee draden gesoldeerd. Ik heb rood en zwart gebruikt. Het LoL Shield laat analoge pinnen 4 en 5 vrij voor ingangen. Mijn code gebruikt pin 5. Je kunt de rode draad aansluiten op analoge pin 5 van het LoL Shield en de zwarte draad op GND Je hoeft het niet in te solderen, ik steek gewoon de draad erdoor en buig het.
Stap 3: Programmeer Arduino
Nu moeten we de Arduino programmeren om het LoL Shield te besturen.
Het wordt aanbevolen om de Diavolino te gebruiken om het LoL-schild te besturen om "ghosting" -effecten op de LED's te voorkomen vanwege de groene oppervlaktemontage-LED die is aangesloten op pin 13 op de standaard Arduino, maar een standaard Arduino zal prima werken.
Hiervoor zijn twee Arduino-bibliotheken nodig: - de FFT-bibliotheek die te vinden is op het Arduino-forum - de Charlieplexing-bibliotheek voor het LoL Shield
Het installeren van bibliotheken voor Arduino kan een beetje ontmoedigend zijn als je het nog niet eerder hebt gedaan, maar het komt goed!
Volg hier de instructies voor het installeren van Arduino-bibliotheken:
www.arduino.cc/en/guide/libraries
De FFT-bibliotheek breekt het audiosignaal in 64 frequentiebanden. Het LoL-schild bestaat uit 14 x 9 LED's. We nemen het gemiddelde van de 64 frequentiebanden samen in 14 frequentiebanden. We gooien wat gegevens weg omdat 14 niet gelijk verdeeld is in 64, maar wat dan ook. De waarde van elk frequentiebereik wordt opnieuw toegewezen van 0 tot 9.
Je kunt de Arduino-code hieronder kopiëren, de code ophalen van GitHub (aanbevolen) of het. ZIP-bestand downloaden, dat de bibliotheken en Arduino-code bevat.
Hier is de GitHub-link:
github.com/andydoro/LoLShield-FFT
Hieronder staat de Arduino-code:
/* FFT voor LoL Shield v0.9 door Andy Doro https://andydoro.com/gebaseerd op FFT-bibliotheek en code van de Arduino-forums en de Charlieplexing-bibliotheek voor het LoL Shield. */
#include "Charliplexing.h"
#include "fix_fft.h"
#define AUDIOPIN 5 char im [128], data [128]; char data_avgs[14];
int i=0, val;
void setup() { LedSign::Init(); //Initialiseert het LoL-schild}
lege lus() {
for (i=0; i < 128; i++) {val = analogRead (AUDIOPIN); gegevens = waarde; im = 0; };
fix_fft(data, im, 7, 0);
for (i=0; i<64;i++){ data = sqrt(data * data + im * im); // dit krijgt de absolute waarde van de waarden in de array, dus we hebben alleen te maken met positieve getallen };
// gemiddelde staven samen voor (i=0; i<14; i++) { data_avgs = data[i*4] + data[i*4 + 1] + data[i*4 + 2] + data[ik*4 + 3]; // gemiddelde samen data_avgs = map (data_avgs, 0, 30, 0, 9); // hermap waarden voor LoL }
// stel LoLShield in
for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (y < data_avgs[13-x]) { // 13-x keert de balken zo laag om tot hoge frequenties worden van links naar rechts weergegeven. LedSign::Set(x, y, 1); // zet de LED aan } else { LedSign::Set(x, y, 0); // zet de LED uit } } }
}
Stap 4: Geniet ervan
&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br& amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; Sluit de audio-aansluiting aan op uw stereo, iPod, computer, enz. Voed de Arduino met een gelijkstroomvoeding, USB van uw computer of batterijen - dit is volledig draagbaar. Je zou het in een hoed of riemgesp kunnen steken. De witte LED's zijn zo fel dat het moeilijk is om ze op video vast te leggen. Het lijkt alsof er een paarse vlam van af komt! Leun achterover en geniet!
Finalist in de Microcontroller-wedstrijd
Aanbevolen:
Hoe maak je een Arduino Shield heel eenvoudig (met behulp van EasyEDA): 4 stappen
Hoe maak je een Arduino Shield heel eenvoudig (met behulp van EasyEDA): In deze Instructable ga ik je leren hoe je heel eenvoudig een Arduino Uno Shield kunt maken. Ik zal niet te veel in detail treden, maar ik heb een video toegevoegd waarin ik ga wat dieper in op het gebruik van de software. Ik gebruik de EasyEDA-webapplicatie sinds ik k
Arduino e-mailcamera (VC0706 + 3G Shield + Arduino M0 analoog): 5 stappen
Arduino Email Camera (VC0706 + 3G Shield + Arduino M0 Analogue): Ooit kreeg ik een camera VC0706 in handen. Ik heb het met succes aangesloten op Arduino UNO, een foto gemaakt en opgenomen op micro SD. Ik wilde iets meer - om de ontvangen foto ergens naar toe te sturen. Bijvoorbeeld via 3G/GPRS-schild. Het eenvoudigst is om
Arduino Power Supply Shield met 3.3v, 5v en 12v uitgangsopties (deel 2): 3 stappen
Arduino Power Supply Shield met 3,3v, 5v en 12v uitgangsopties (deel 2): Hey! Welkom terug bij deel 2 van Arduino Power Supply Shield met 3,3v, 5v en 12v uitgangsopties. Als jullie Deel 1 nog niet hebben gelezen, KLIK HIER. Laten we beginnen… Bij het ontwikkelen van elektronische projecten is de voeding een van de belangrijkste p
Arduino Power Supply Shield met 3.3v, 5v en 12v uitgangsopties (deel 1): 6 stappen
Arduino Power Supply Shield met 3.3v, 5v en 12v uitgangsopties (deel 1): Hallo jongens! Ik ben terug met een andere Instructable. Bij het ontwikkelen van elektronische projecten is de voeding een van de belangrijkste onderdelen van het hele project en is er altijd behoefte aan een voeding met meerdere uitgangsspanningen. Dit komt omdat verschil
Pocket ZX (Handheld ZX-spectrum): 10 stappen
Pocket ZX (Handheld ZX Spectrum): ik ben een kind van de jaren 80 en heb goede herinneringen aan de 8-bits computers uit die tijd. Mijn eerste computer - een die een speciaal plekje in mijn hart heeft - was een Sinclair ZX Spectrum 48K. Na onlangs een aantal gemeenschappen te hebben ontdekt die gericht zijn op oudere computers