Inhoudsopgave:

RGB-achtergrondverlichting + Audio Visualizer - Ajarnpa
RGB-achtergrondverlichting + Audio Visualizer - Ajarnpa

Video: RGB-achtergrondverlichting + Audio Visualizer - Ajarnpa

Video: RGB-achtergrondverlichting + Audio Visualizer - Ajarnpa
Video: АСМР 🎙️❤️‍🔥 ОБЗОР Микрофона MAONO DGM20 RGB Internet Microphone ASMR 2024, November
Anonim
RGB-achtergrondverlichting + audiovisualizer
RGB-achtergrondverlichting + audiovisualizer
RGB-achtergrondverlichting + audiovisualizer
RGB-achtergrondverlichting + audiovisualizer

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

Bouw het schema
Bouw het schema
Bouw het schema
Bouw het schema
Bouw het schema
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

De code
De code
De code
De code
De code
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

Image
Image

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: