Inhoudsopgave:
Video: RGB-achtergrondverlichting + Audio Visualizer - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Welkom bij mijn Instructables over het bouwen van een RGB LED-achtergrondverlichting voor b.v. de achterkant van uw tv of bureau.
Het schema zelf is heel eenvoudig, aangezien de WS2812 LED-strips heel gemakkelijk kunnen worden gekoppeld aan bijvoorbeeld een Arduino Nano.
Let op: u hoeft het extra MSGEQ7 Audio Analyzer-circuit niet te gebruiken als u alleen de LED-achtergrondverlichting zonder audiovisualisatie wilt.
Ik heb een gedetailleerde lijst gegeven van de gebruikte onderdelen en waar je ze kunt kopen:
- Arduino Nano/Uno (Amazon / AliExpress)
- WS2812 RGB LED Strip (Amazon/AliExpress), let op IP staat voor de bescherming (bijv. waterdicht indien nodig) en het getal staat voor hoeveel LED's per Meter de strip heeft (belangrijk voor voeding)
- 5V-voeding (Amazon) (afhankelijk van het aantal LED-strips) -> elke LED kost ~ 20 mA, de strip die in deze instructable wordt gebruikt, heeft 45 LED's (30 per meter), dus ik heb 45 * 20 mA nodig ~ 1, 5 Ampere-voeding (Arduino, MSGEQ7 heeft ook wat nodig), ik heb een voeding aangesloten die 3A levert, wat nu zeker genoeg is voor ons
- 3,5 mm audio-aansluiting (Amazon / AliExpress)
- Potentiometer 10kOhm (Amazon / AliExpress)
- Drukknop (Amazon / AliExpress)
- Weerstand (1x 10kOhm, 1x 220Ohm, voor MSGEQ7: 2x100kOhm)
- Condensatoren (1x 1000yF Elektrolytische (Amazon / AliExpress), 2x 10nF, voor MSGEQ7: 2x 0.1yF, 1x33pF (Amazon / AliExpress)
- Eenvoudige diode (Amazon / AliExpress)
- DC-aansluiting (Amazon / AliExpress)
Stap 1: Bouw het schema
Hoofdschema:
Dus om de WS2812 Strip te koppelen met een Arduino is vrij eenvoudig met behulp van de Adafruit_NeoPixel-bibliotheek.
De LED Strip heeft 3 pinnen: VCC, DATA, GND. VCC is verbonden met 5V, GND met aarde en de DATA-pin in het midden is verbonden met LED_DATA-pin D6 op de Arduino. Nu heeft elke LED op de Strip een WS2812-chip die de gegevens opneemt die hij van de Arduino ontvangt en deze doorgeeft aan de volgende LED, daarom hoeven we de Led-gegevens maar één keer naar de eerste LED op de strip te sturen.
De logica van de drukknop om de modi te wijzigen en de potentiometer om de helderheid te regelen, wordt uitgelegd in de volgende stap.
Het exacte schema is te vinden in de Screenshot van het fritzing-bestand dat ook beschikbaar is om te downloaden.
Houd er rekening mee dat het erg belangrijk is om de Arduino 5V-pin alleen via de diode op de voeding aan te sluiten, zodat de Arduino niet beschadigd raakt als we de USB-kabel aansluiten om hem te programmeren. De 10nF en 1000uF is ook om veiligheidsredenen, zodat er geen stroomtekorten zullen zijn.
Voor het MSGEQ7-circuit:
Dit is het meest gebruikte circuit om een MSGEQ7 op een Arduino aan te sluiten. Dit is ook waar je de 3,5 mm audio-aansluiting nodig hebt. De middelste pin van de meeste audio-jacks is GND, de pinnen links/rechts zijn de stereokanalen die via een 10nF-condensator worden aangesloten op de Signal In Pin van de MSGEQ7, zoals weergegeven in het schema. Je kunt bovendien een potentiometer toevoegen aan de Signal In Pin om de gevoeligheid van het audiosignaal te regelen, maar dat is echt niet nodig. De MSGEQ7 is verbonden met de Arduino met Analog Out-pin aangesloten op A1 (MSGEQ_OUT), Strobe Pin op D2 (STROBE), Reset Pin op D5 (RESET).
Stap 2: De code
GitHub-link om Sketch:PhilKes/RGB_Audio_Backlight te voltooien
Opmerkingen over de code:
In de code verklaren we het WS2812 Strip-object met een nieuw Adafruit_NeoPixel-object, waarbij het aantal Leds wordt doorgegeven (verander NUM_LEDS voor je setup), de Arduino-pin die is aangesloten op de LED_DATA-pin en het coderingstype + snelheid van de transmissie van kleurwaarden.
Zodra dit is gebeurd, stellen we de standaardhelderheid in setup() in via setBrightness (0-255) en zetten we de Strip aan met begin(). We kunnen nu elke afzonderlijke Pixel/LED instellen op een specifieke RGB-kleur met setPixel(LED, Color). Als we klaar zijn, stelt u alle LED's in op nieuwe waarden, we werken de strip bij met strip.show(). Dat is eigenlijk alle codelogica die we nodig hebben om elke gewenste animatie te programmeren. Om de animaties/modi daadwerkelijk te besturen, voegen we een drukknop / tactiele schakelaar toe aan de Arduino. Daarom verbinden we het ene uiteinde van de knop met VCC en het andere met Arduino Pin D3 en met een weerstand van 10kOhm met GND. We voegen een onderbreking toe aan deze pin in de setup(), die elke keer dat we op de knop drukken een aanroep van de methode changeMode() activeert. In changeMode() schakelen we eenvoudig naar de volgende modus en vertellen we dat de huidige animatie moet worden afgebroken. Zodra dat gebeurt, wordt de loop() opnieuw uitgevoerd en wordt de nieuwe animatie/modus afgespeeld.
De meegeleverde animaties omvatten: regenboogkleurvervaging, rood, groen, blauw, witte kleur, muziekanalysatormodus
Daarnaast heb ik een 10kOhm Potentiometer toegevoegd om de helderheid van de Strip te regelen. de methode checkBrightness() controleert de uitvoer van de potentiometer die is aangesloten op pin A2 (middelste pin van potentiometer) en werkt de helderheid van de strip dienovereenkomstig bij.
Voor musicAnalyzer()-modus via MSGEQ7:
Deze modus visualiseert het audiosignaal dat is aangesloten op Signal In van de MSGEQ7. De MSGEQ voert een analoog signaal uit met een enkele audioband (8 banden, van lage tot hoge frequenties). De methode musicAnalyzer() haalt de huidige waarden van de audiobanden op door de MSGEQ opnieuw in te stellen en vervolgens de beschikbare analoge waarden te bufferen. De band die wordt uitgevoerd, kan worden gewijzigd door een hoge flank op de strobe-pin te plaatsen. Nadat alle 8 banden zijn gebufferd, verschuift de methode alle LED-pixelwaarden één terug en berekent de nieuwe waarde voor LED 0. De kleur bestaat uit: lage frequentie (bas) rode kleur, middelste frequentie groene kleur en hoge frequentie blauwe kleur. Het verschuiven van de waarde voordat de nieuwe waarde wordt geladen, geeft ons een mooie soepel getimede animatie.
Stap 3: Audio instellen op pc
Om uw muziek/audio in de MSGEQ7 te krijgen maar uw muziek nog steeds op uw luidsprekers te laten spelen, moet u ofwel de RealtekHD Stereomix-functie gebruiken of de MSGEQ-audio-ingang aansluiten op b.v. achterste luidsprekeruitgang van uw geluidskaart/moederbord.
Om de Stereomix in Win10 in te schakelen, klikt u met de rechtermuisknop op het luidsprekerpictogram rechtsonder en klikt u op "Geluiden", hier kunt u Stereomix activeren in het tabblad "Opnemen" (klik met de rechtermuisknop -> activeren). Als de Stereomix niet zichtbaar is, klik dan met de rechtermuisknop en kies "Toon uitgeschakelde apparaten". Open nu de instellingen voor de Stereomix en vertel hem om te luisteren en de audio van je hoofdluidsprekers te kopiëren.
Als je de achterspeakeruitgang wilt gebruiken, open dan de instellingen van je hoofdspeaker in het menu "Geluiden", Tab "Verbeteringen" en selecteer vervolgens "Omgeving" in de lijst en kies "Kamer" in het vervolgkeuzemenu hieronder.
Dit maakt nu parallelle audio-uitvoer van uw luidsprekers en de MSGEQ7 mogelijk.
Stap 4: Opmerkingen
Omdat het schema niet zo ingewikkeld of groot is, heb ik het hele circuit in een klein kastje gestopt met gaten voor de USB-connector, audio-aansluiting, DC-aansluiting, potentiometer en drukknop. U kunt eenvoudig mannelijke/vrouwelijke pin-headers gebruiken en de 3 kabels via jumperkabels op de WS2812-strip aansluiten.
Aanbevolen:
GBA Bluetooth-audio-ondersteuning: 6 stappen
GBA Bluetooth-audio-ondersteuning: deze gids laat je zien hoe ik Bluetooth-audio heb kunnen laten werken op een AGB-001 voor het geval je je Bluetooth-koptelefoon wilt laten werken met je favoriete handheld. Hoewel je weg kunt komen met minimale onderdelen, Ik raad je aan om dit eens te proberen o
$ 5 Wegwerp-audio-ergernis: 7 stappen
$ 5 Disposable audio-ergernis: ooit een van die elektronicakits voor een ruisgenerator of elektronische cricket gezien? Wat dacht je van een voor $ 5 die geen soldeervaardigheden vereist, alleen veel groter? Hoe zit het als het 16 MB aan MP3 afspeelt in plaats van alleen maar te tjilpen? Ik veronderstel dat de enige "ins
DIY Audio Switch: 9 stappen (met afbeeldingen)
DIY Audio Switch: Een tijdje terug kreeg ik een oude gegevensschakelaar van Freecycle en sindsdien heb ik er naar gekeken en dacht: "Ik zou dat echt moeten omzetten naar een stereo-audioschakelaar." En dus, na ongeveer een jaar ernaar te hebben gekeken, heb ik die oude gegevensschakelaar eindelijk omgezet in een
Een Halloween Scare Machine met behulp van een PIR, een 3D-geprinte pompoen en de Troll Arduino Compatible Audio Pranker/praktische Joke Board.: 5 stappen
Een Halloween Scare Machine met behulp van een PIR, een 3D-geprinte pompoen en het Troll Arduino-compatibele audio-pranker/praktische grapbord.: Het Troll-bord gemaakt door Patrick Thomas Mitchell van EngineeringShock Electronics, en niet zo lang geleden volledig gefinancierd op Kickstarter. Ik kreeg mijn beloning een paar weken te vroeg om te helpen bij het schrijven van enkele gebruiksvoorbeelden en het bouwen van een Arduino-bibliotheek in een po
USB-audio-DAC: 12 stappen
USB Audio DAC: Gebruikt standaard drivers, werkt met Windows, Macs en veel Linux-distributies, maar beperkt de prestaties tot 16 bit, 48 kHz Gebalanceerde (pro) line level outputs aan de achterkant (XLR / 6,35 mm) Single-ended (pro) line level uitgang vooraan (RCA)Geen uitgangen