![Niet-adresseerbare RGB LED Strip Audio Visualizer - Ajarnpa Niet-adresseerbare RGB LED Strip Audio Visualizer - Ajarnpa](https://i.howwhatproduce.com/images/002/image-3885-21-j.webp)
Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
![Image Image](https://i.howwhatproduce.com/images/002/image-3885-23-j.webp)
![](https://i.ytimg.com/vi/fCHsk0xy-b4/hqdefault.jpg)
Ik heb al een tijdje een 12v RGB-ledstrip rond mijn tv-meubel en deze wordt aangestuurd door een saaie led-driver waarmee ik een van de 16 voorgeprogrammeerde kleuren kan kiezen!
Ik luister veel naar muziek die me gemotiveerd houdt, maar de verlichting geeft gewoon niet de juiste sfeer. Om dat te verhelpen, besloot ik het audiosignaal dat via AUX (3,5 mm-aansluiting) aan mijn luidspreker werd gegeven, te verwerken en de RGB-strip dienovereenkomstig te bedienen.
De LED's reageren op de muziek op basis van de grootte van de bas (laag), hoge tonen (midden) en hoge frequenties.
Het frequentiebereik – Kleur is als volgt:
Laag – Rood
Midden – Groen
Hoog – Blauw
Dit project omvat veel doe-het-zelf-dingen omdat het hele circuit helemaal opnieuw is opgebouwd. Dit zou vrij eenvoudig moeten zijn als je het op een breadboard instelt, maar een hele uitdaging om het op een PCB te solderen.
Benodigdheden
(x1) RGB LED-strip
(x1) Arduino Uno/Nano (Mega wordt aanbevolen)
(x1) TL072 of TL082 (TL081/TL071 zijn ook prima)
(x3) TIP120 NPN-transistor (TIP121, TIP122 of N-Channel MOSFET's zoals IRF540, IRF 530 zijn ook prima)
(x1) 10kOhm potentiometer lineair
(x3) 100kOhm 1/4watt weerstanden
(x1) 10uF elektrolytische condensator
(x1) 47nF keramische condensator
(x2) 3,5 mm audio-aansluiting – Vrouwelijk
(x2) 9V batterij
(x2) 9V batterij snap connector
Stap 1: Inzicht in de soorten RGB LED-strips
![De soorten RGB LED-strips begrijpen De soorten RGB LED-strips begrijpen](https://i.howwhatproduce.com/images/002/image-3885-24-j.webp)
Er zijn twee basissoorten LED-strips, de "analoge" soort en de "digitale" soort.
Analoge-type (afb. 1) strips hebben alle LED's parallel aangesloten en werken dus als één enorme driekleurige LED; je kunt de hele strip in elke gewenste kleur instellen, maar je hebt geen controle over de kleuren van de individuele LED's. Ze zijn heel gemakkelijk te gebruiken en redelijk goedkoop.
De strips van het Digital-type (fig 2) werken op een andere manier. Ze hebben een chip voor elke LED, om de strip te gebruiken moet je digitaal gecodeerde gegevens naar de chips sturen. Dit betekent echter dat u elke LED afzonderlijk kunt aansturen! Door de extra complexiteit van de chip zijn ze duurder.
Als u het moeilijk vindt om de verschillen tussen de analoge en digitale strips fysiek te identificeren,
- Het analoge type gebruikt 4 pinnen, 1 gemeenschappelijk positief en 3 negatieven, d.w.z. één voor elke RGB-kleur.
- Digitaal-type gebruik 3 pinnen, positief, data en aarde.
Ik zal de analoge strips gebruiken, omdat:
- Er zijn zeer weinig tot geen Instructables die leren hoe je een op muziek reagerende analoge strip kunt maken. De meeste van hen richten zich op het digitale type en het is gemakkelijker om ze op muziek te laten reageren.
- Ik had wat analoge strips liggen.
Stap 2: Het audiosignaal versterken
![Het audiosignaal versterken Het audiosignaal versterken](https://i.howwhatproduce.com/images/002/image-3885-25-j.webp)
![Het audiosignaal versterken Het audiosignaal versterken](https://i.howwhatproduce.com/images/002/image-3885-26-j.webp)
![Het audiosignaal versterken Het audiosignaal versterken](https://i.howwhatproduce.com/images/002/image-3885-27-j.webp)
Het audiosignaal dat via de audio-aansluiting wordt verzonden, is:
een analoog signaal dat oscilleert binnen +200mV en -200mV. Nu is dit een probleem, we willen het audiosignaal meten met een van de analoge ingangen van Arduino, omdat de analoge ingangen van de Arduino alleen spanningen tussen 0 en 5V kunnen meten. Als we probeerden de negatieve spanningen in het audiosignaal te meten, zou de Arduino alleen 0V lezen en zouden we uiteindelijk de onderkant van het signaal afknippen.
Om dit op te lossen moeten we de audiosignalen versterken en compenseren zodat ze binnen een bereik van 0-5V vallen. Idealiter zou het signaal een amplitude van 2,5 V moeten hebben die rond de 2,5 V oscilleert, zodat de minimale spanning 0 V is en de maximale spanning 5 V.
versterking
De versterker is de eerste stap in het circuit, deze verhoogt de amplitude van het signaal van ongeveer + of - 200mV naar + of - 2.5V (idealiter). De andere functie van de versterker is om de audiobron (het ding dat in de eerste plaats het audiosignaal genereert) te beschermen tegen de rest van het circuit. Het uitgaande versterkte signaal zal al zijn stroom van de versterker halen, dus elke belasting die er later in het circuit op wordt gezet, wordt niet "gevoeld" door de audiobron (de telefoon/iPod/laptop in mijn geval). Doe dit door een van de op-amps in het TL072 of TL082(fig 2) pakket in een niet-inverterende versterkerconfiguratie in te stellen.
De datasheet van de TL072 of TL082 zegt dat hij gevoed moet worden met +15 en -15V, maar aangezien het signaal nooit boven + of - 2.5V zal worden versterkt, is het prima om de op-amp met iets lager te laten werken. Ik gebruikte twee negen volt batterijen die in serie zijn geschakeld om een + of - 9V voeding te creëren.
Sluit uw +V (pin 8) en -V (pin 4) aan op de op-amp. Sluit het signaal van de mono-aansluiting aan op de niet-inverterende ingang (pin 3) en verbind de aardpen van de aansluiting met de 0V-referentie op uw spanningsvoorziening (voor mij was dit de kruising tussen de twee 9V-batterijen in serie). Sluit een weerstand van 100 kOhm aan tussen de uitgang (pin 1) en de inverterende ingang (pin 2) van de op-amp. In dit circuit heb ik een 10kOhm-potentiometer gebruikt die is aangesloten als een variabele weerstand om de versterking (de hoeveelheid die de versterker versterkt) van mijn niet-inverterende versterker aan te passen. Sluit deze 10K lineaire taper pot aan tussen de inverterende ingang en de 0V-referentie.
DC-offset
Het DC-offsetcircuit heeft twee hoofdcomponenten: een spanningsdeler en een condensator. De spanningsdeler is gemaakt van twee 100k-weerstanden die in serie zijn geschakeld van de Arduino's 5V-voeding naar aarde. Omdat de weerstanden dezelfde weerstand hebben, is de spanning op de kruising ertussen gelijk aan 2,5V. Deze 2.5V junction is via een 10uF condensator verbonden met de uitgang van de versterker. Naarmate de spanning aan de versterkerzijde van de condensator stijgt en daalt, zorgt dit ervoor dat de lading zich tijdelijk ophoopt en afstoot van de kant van de condensator die is bevestigd aan de 2,5V-junctie. Dit zorgt ervoor dat de spanning op de 2,5V-junctie op en neer oscilleert, gecentreerd rond 2,5V.
Zoals in het schema wordt getoond, sluit u de negatieve kabel van een 10uF-condensator aan op de uitgang van de versterker. Sluit de andere kant van de dop aan op de kruising tussen twee 100k-weerstanden die in serie zijn geschakeld tussen 5V en aarde. Voeg ook een condensator van 47 nF toe van 2,5 V naar aarde.
Stap 3: Ontbinden van het signaal in een som van stationaire sinusoïden - Theorie
![Het signaal ontbinden tot een som van stationaire sinusoïden - theorie Het signaal ontbinden tot een som van stationaire sinusoïden - theorie](https://i.howwhatproduce.com/images/002/image-3885-28-j.webp)
Het audiosignaal dat via een 3,5 mm-aansluiting wordt verzonden, bevindt zich in de
bereik van 20 Hz tot 20 kHz. Het wordt gesampled op 44,1 kHz en elk monster is gecodeerd op 16 bits.
Om de elementaire basisfrequenties waaruit het audiosignaal bestaat te deconstrueren, passen we Fourier-transformatie toe op het signaal, dat het signaal ontleedt in een som van stationaire sinusoïden. Met andere woorden, Fourier-analyse converteert een signaal van zijn oorspronkelijke domein (vaak tijd of ruimte) naar een representatie in het frequentiedomein en vice versa. Maar het rechtstreeks uit de definitie berekenen is vaak te traag om praktisch te zijn.
Cijfers laten zien hoe het signaal eruitziet in tijd- en frequentiedomein.
Dit is waar het Fast Fourier Transform (FFT) -algoritme behoorlijk handig is!
Per definitie, Een FFT berekent dergelijke transformaties snel door de DFT-matrix te ontbinden in een product van schaarse (meestal nul) factoren. Als resultaat slaagt het erin om de complexiteit van het berekenen van de DFT van O(N2), die ontstaat als men eenvoudig de definitie van DFT toepast, te verminderen op O(N log N), waarbij N de gegevensgrootte is. Het snelheidsverschil kan enorm zijn, vooral voor lange datasets waar N in de duizenden of miljoenen kan zijn. In aanwezigheid van afrondingsfouten zijn veel FFT-algoritmen veel nauwkeuriger dan het direct of indirect evalueren van de DFT-definitie.
In eenvoudige bewoordingen betekent dit gewoon dat het FFT-algoritme een snellere manier is om de Fourier-transformatie van elk signaal te berekenen. Dit wordt over het algemeen gebruikt op apparaten met een lage rekenkracht.
Aanbevolen:
Python gebruiken om niet-Engelse toetsenbordindelingen te leren: 8 stappen
![Python gebruiken om niet-Engelse toetsenbordindelingen te leren: 8 stappen Python gebruiken om niet-Engelse toetsenbordindelingen te leren: 8 stappen](https://i.howwhatproduce.com/images/001/image-147-17-j.webp)
Python gebruiken om niet-Engelse toetsenbordindelingen te leren: Hallo, ik ben Julien! Ik ben een student computerwetenschappen en vandaag ga ik je laten zien hoe je Python kunt gebruiken om jezelf de toetsenbordindeling van een niet-Engelse taal aan te leren. Veel talen leren tegenwoordig online, en één ding kunnen mensen begrijpen
Het ThreadBoard (niet-3D-geprinte versie): E-Textile Rapid Prototyping Board: 4 stappen (met afbeeldingen)
![Het ThreadBoard (niet-3D-geprinte versie): E-Textile Rapid Prototyping Board: 4 stappen (met afbeeldingen) Het ThreadBoard (niet-3D-geprinte versie): E-Textile Rapid Prototyping Board: 4 stappen (met afbeeldingen)](https://i.howwhatproduce.com/images/001/image-05-34-j.webp)
De ThreadBoard (niet-3D-gedrukte versie): E-Textile Rapid Prototyping Board: de Instructable voor de 3D-geprinte versie van de ThreadBoard V2 is hier te vinden. Versie 1 van de ThreadBoard is hier te vinden. Door de hindernissen van kosten, reizen, pandemieën en andere barrières, heb je misschien geen toegang tot een 3D-printer, maar wil je
Dopamine Doos - een project vergelijkbaar met Mike Boyd - niet van Mike Boyd zijn: 9 stappen
![Dopamine Doos - een project vergelijkbaar met Mike Boyd - niet van Mike Boyd zijn: 9 stappen Dopamine Doos - een project vergelijkbaar met Mike Boyd - niet van Mike Boyd zijn: 9 stappen](https://i.howwhatproduce.com/images/001/image-1079-j.webp)
Dopamine Doos | een project vergelijkbaar met Mike Boyd - niet van Mike Boyd: ik wil er een! Ik heb er een nodig! Ik ben een uitsteller! Nou, ik wil een dopaminedoos… Zonder te hoeven programmeren. Geen geluiden, alleen pure wil
Een e-mailmelding ontvangen wanneer een kanaal op ThingSpeak een tijdje niet is bijgewerkt: 16 stappen
![Een e-mailmelding ontvangen wanneer een kanaal op ThingSpeak een tijdje niet is bijgewerkt: 16 stappen Een e-mailmelding ontvangen wanneer een kanaal op ThingSpeak een tijdje niet is bijgewerkt: 16 stappen](https://i.howwhatproduce.com/images/002/image-4534-j.webp)
Ontvang een e-mailmelding als een kanaal op ThingSpeak een tijdje niet is bijgewerkt: Achtergrondverhaal Ik heb zes geautomatiseerde kassen verspreid over Dublin, Ierland. Door een op maat gemaakte app voor mobiele telefoons te gebruiken, kan ik op afstand de geautomatiseerde functies in elke kas volgen en ermee communiceren. Ik kan de win handmatig openen / sluiten
ESP8266 RGB LED STRIP WIFI-bediening - NODEMCU Als een IR-afstandsbediening voor ledstrip, bestuurd via wifi - RGB LED STRIP Smartphone-bediening: 4 stappen
![ESP8266 RGB LED STRIP WIFI-bediening - NODEMCU Als een IR-afstandsbediening voor ledstrip, bestuurd via wifi - RGB LED STRIP Smartphone-bediening: 4 stappen ESP8266 RGB LED STRIP WIFI-bediening - NODEMCU Als een IR-afstandsbediening voor ledstrip, bestuurd via wifi - RGB LED STRIP Smartphone-bediening: 4 stappen](https://i.howwhatproduce.com/images/001/image-2218-28-j.webp)
ESP8266 RGB LED STRIP WIFI-bediening | NODEMCU Als een IR-afstandsbediening voor ledstrip, bestuurd via wifi | RGB LED STRIP Smartphone-bediening: Hallo allemaal, in deze tutorial zullen we leren hoe we nodemcu of esp8266 kunnen gebruiken als een IR-afstandsbediening om een RGB LED-strip te bedienen en Nodemcu zal worden bestuurd door smartphone via wifi. Dus in principe kun je de RGB LED STRIP bedienen met je smartphone