Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Forstå typerne af RGB LED -strips
- Trin 2: Forstærkning af lydsignalet
- Trin 3: Nedbrydning af signalet til en sum af stationære sinusoider - teori
Video: Ikke-adresserbar RGB LED Strip Audio Visualizer: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Jeg har haft en 12v RGB LED-strip omkring mit tv-skab i et stykke tid, og den styres af en kedelig LED-driver, der lader mig vælge en ud af 16 forprogrammerede farver!
Jeg lytter til meget musik, som holder mig motiveret, men belysningen sætter bare ikke stemningen rigtigt. For at løse det besluttede jeg at tage det lydsignal, der blev givet til min højttaler via AUX (3,5 mm stik), behandle det og styre RGB -båndet i overensstemmelse hermed.
Lysdioderne reagerer på musikken baseret på størrelsen på bas (lav), diskant (mellem) og høj frekvens.
Frekvensområdet - Farven er som følger:
Lav - rød
Mellem - grøn
Høj - blå
Dette projekt involverer en masse DIY ting, fordi hele kredsløbet blev bygget fra bunden. Dette burde være ret let, hvis du sætter det op på et brødbræt, men ret udfordrende at lodde det på et printkort.
Forbrugsvarer
(x1) RGB LED Strip
(x1) Arduino Uno/Nano (Mega anbefales)
(x1) TL072 eller TL082 (TL081/TL071 er også fine)
(x3) TIP120 NPN Transistor (TIP121, TIP122 eller N-Channel MOSFET'er som IRF540, IRF 530 er også fine)
(x1) 10 kOhm potentiometer lineært
(x3) 100kOhm 1/4watt modstande
(x1) 10uF elektrolytkondensator
(x1) 47nF keramisk kondensator
(x2) 3,5 mm lydstik - Kvinde
(x2) 9V batteri
(x2) 9V batteri snap -stik
Trin 1: Forstå typerne af RGB LED -strips
Der er to grundlæggende slags LED -strimler, den "analoge" slags og "digitale" slags.
Strimler af analog type (fig. 1) har alle lysdioder forbundet parallelt, og det fungerer derfor som en enorm trefarvet LED; du kan indstille hele strimlen til en hvilken som helst farve, du ønsker, men du kan ikke styre den enkelte LEDs farver. De er meget lette at bruge og rimeligt billige.
Digital-type (fig. 2) strimler fungerer på en anden måde. De har en chip til hver LED, for at bruge strimlen skal du sende digitalt kodede data til chipsene. Dette betyder dog, at du kan styre hver LED individuelt! På grund af den ekstra kompleksitet af chippen er de dyrere.
Hvis du har svært ved fysisk at identificere forskellene mellem de analoge og digitale strimler,
- Anolog-typen bruger 4 ben, 1 almindelige positive og 3 negativer, dvs. en for hver farve RGB.
- Digital type brug 3 ben, positive, data og jord.
Jeg vil bruge strips af analog type, fordi
- Der er meget få eller ingen instruktioner, der lærer, hvordan man laver en musikreaktiv strip af analog type. Størstedelen af dem fokuserer på den digitale type, og det er lettere at få dem til at reagere på musik.
- Jeg havde nogle strimler af analog type liggende.
Trin 2: Forstærkning af lydsignalet
Det lydsignal, der sendes ud via lydstikket, er
et analogt signal, der svinger inden for +200mV og -200mV. Nu er dette et problem, vi vil måle lydsignalet med et af Arduinos analoge indgange, fordi Arduinos analoge indgange kun kan måle spændinger mellem 0 og 5V. Hvis vi forsøgte at måle de negative spændinger i lydsignalet fra, ville Arduino kun læse 0V, og vi ville ende med at klippe bunden af signalet.
For at løse det skal vi forstærke og udligne lydsignalerne, så de falder inden for et område på 0-5V. Ideelt set skal signalet have en amplitude på 2,5V, der svinger omkring 2,5V, så dets minspænding er 0V, og dens maks. Spænding er 5V.
Forstærkning
Forstærkeren er det første trin i kredsløbet, det øger signalets amplitude fra omkring + eller - 200mV til + eller - 2,5V (ideelt set). Forstærkerens anden funktion er at beskytte lydkilden (den ting, der genererer lydsignalet i første omgang) fra resten af kredsløbet. Det udgående forstærkede signal vil hente al sin strøm fra forstærkeren, så enhver belastning, der lægges på det senere i kredsløbet, vil ikke blive "mærket" af lydkilden (telefonen/iPod/laptop i mit tilfælde). Gør dette ved at opsætte en af op-ampere i pakken TL072 eller TL082 (fig. 2) i en ikke-inverterende forstærkerkonfiguration.
Databladet til TL072 eller TL082 siger, at det skal drives med +15 og -15V, men da signalet aldrig vil blive forstærket over + eller -2,5V, er det fint at køre op -amp med noget lavere. Jeg brugte to ni -volt batterier i serie til at oprette en + eller - 9V strømforsyning.
Tilslut din +V (pin 8) og –V (pin 4) til op-amp. Led signalet fra monostikket til den ikke-inverterende indgang (pin 3), og slut jordens stik på jackstikket til 0V-referencen på din spændingsforsyning (for mig var dette krydset mellem de to 9V batterier i serie). Led en 100kOhm modstand mellem output (pin 1) og inverterende input (pin 2) på op-amp. I dette kredsløb brugte jeg et 10 kOhm potentiometer tilsluttet som en variabel modstand til at justere forstærkningen (mængden, som forstærkeren forstærker) af min ikke-inverterende forstærker. Led denne 10K lineære koniske gryde mellem den inverterende indgang og 0V -referencen.
DC -forskydning
DC -offset -kredsløbet har to hovedkomponenter: en spændingsdeler og en kondensator. Spændingsdeleren er lavet af to 100k modstande, der er forbundet i serie fra Arduinos 5V forsyning til jorden. Da modstandene har samme modstand, er spændingen ved krydset mellem dem lig med 2,5V. Dette 2.5V -kryds er bundet til forstærkerens output via en 10uF kondensator. Når spændingen på forstærkerens side af kondensatoren stiger og falder, får den ladning til at akkumulere og frastøde fra siden af kondensatoren, der er knyttet til 2,5V -krydset. Dette får spændingen ved 2,5V -krydset til at svinge op og ned, centreret omkring 2,5V.
Som vist i skematisk skal du forbinde den negative ledning af en 10uF kondensator til udgangen fra forstærkeren. Tilslut den anden side af hætten til krydset mellem to 100k modstande, der er forbundet i serie mellem 5V og jord. Tilføj også en 47nF kondensator fra 2,5V til jorden.
Trin 3: Nedbrydning af signalet til en sum af stationære sinusoider - teori
Lydsignalet, der sendes ud via et 3,5 mm stik, er i
område fra 20 Hz til 20 kHz. Det samples ved 44,1 kHz, og hver prøve er kodet på 16 bits.
For at dekonstruere de grundlæggende elementære frekvenser, der udgør lydsignalet, anvender vi Fourier Transform på signalet, som nedbryder signalet til en sum af stationære sinusoider. Med andre ord konverterer Fourier -analyse et signal fra dets oprindelige domæne (ofte tid eller rum) til en repræsentation i frekvensdomænet og omvendt. Men at beregne det direkte fra definitionen er ofte for langsomt til at være praktisk.
Figurer viser, hvordan signalet ser ud i tids- og frekvensdomæne.
Det er her, Fast Fourier Transform (FFT) algoritmen er ret nyttig!
Per definition, En FFT beregner hurtigt sådanne transformationer ved at faktorisere DFT -matricen til et produkt af sparsomme (for det meste nul) faktorer. Som et resultat formår det at reducere kompleksiteten ved at beregne DFT'en fra O (N2), som opstår, hvis man blot anvender definitionen af DFT, til O (N log N), hvor N er datastørrelsen. Forskellen i hastighed kan være enorm, især for lange datasæt, hvor N kan være i tusinder eller millioner. I nærvær af afrundingsfejl er mange FFT-algoritmer meget mere præcise end at evaluere DFT-definitionen direkte eller indirekte.
Enkelt sagt betyder det bare, at FFT -algoritmen er en hurtigere måde at beregne Fourier Transform af ethvert signal. Dette bruges generelt på enheder med lav computerkraft.
Anbefalede:
RGB -baggrundsbelysning + Audio Visualizer: 4 trin (med billeder)
RGB -baggrundsbelysning + Audio Visualizer: Velkommen til mine instruktioner om hvordan man bygger en RGB LED -baggrundsbelysning til f.eks. bagsiden af dit fjernsyn eller skrivebord. Selve skematikken er meget enkel, da WS2812 LED -strips er meget nemme at grænseflade med f.eks. en Arduino Nano. Bemærk: at du ikke har brug for os
DIY LED Strip: Sådan skæres, forbindes, loddes og Power LED Strip: 3 trin (med billeder)
DIY LED Strip: Sådan skæres, forbindes, loddes og Power LED Strip: Begynderguide til at lave dine egne lysprojekter ved hjælp af LED strip.Fleksibel pålidelig og let at bruge, LED strips er det bedste valg til en række forskellige applikationer.Jeg vil dække det grundlæggende om at installere en simpel indendørs 60 LED's/m LED -strip, men i
Hat ikke hat - en hat til folk, der ikke virkelig har hatte på, men gerne vil have en hatoplevelse: 8 trin
Hat ikke hat - en hat til folk, der ikke virkelig bærer hatte, men gerne vil have en hatoplevelse: Jeg har altid ønsket, at jeg kunne være en hatperson, men har aldrig nogensinde fundet en hat, der fungerer for mig. Denne " Hat Not Hat, " eller fascinator, som det kaldes, er en øvre crusty løsning på mit hatproblem, hvor jeg måske deltager i Kentucky Derby, vakuum
ESP8266 RGB LED STRIP WIFI -kontrol - NODEMCU Som IR -fjernbetjening til Led Strip kontrolleret over Wifi - RGB LED STRIP Smartphone -kontrol: 4 trin
ESP8266 RGB LED STRIP WIFI -kontrol | NODEMCU Som IR -fjernbetjening til Led Strip kontrolleret over Wifi | RGB LED STRIP Smartphone -kontrol: Hej fyre i denne vejledning lærer vi, hvordan du bruger nodemcu eller esp8266 som en IR -fjernbetjening til at styre en RGB LED -strip, og Nodemcu styres af smartphone over wifi. Så dybest set kan du styre RGB LED STRIP med din smartphone
Retro LED Strip Audio Visualizer: 4 trin (med billeder)
Retro LED Strip Audio Visualizer: Som musiker og el -ingeniørstuderende elsker jeg ethvert projekt, der skærer disse to felter. Jeg har set nogle DIY lydvisualisatorer (her, her, her og her), men hver havde savnet mindst et af de to mål, jeg satte mig selv: en p