Innholdsfortegnelse:

RGB -bakgrunnsbelysning + Audio Visualizer: 4 trinn (med bilder)
RGB -bakgrunnsbelysning + Audio Visualizer: 4 trinn (med bilder)

Video: RGB -bakgrunnsbelysning + Audio Visualizer: 4 trinn (med bilder)

Video: RGB -bakgrunnsbelysning + Audio Visualizer: 4 trinn (med bilder)
Video: Почему ему так нравится этот танец? 🤔 #blondinkadrive #гордей 2024, November
Anonim
RGB -bakgrunnsbelysning + Audio Visualizer
RGB -bakgrunnsbelysning + Audio Visualizer
RGB -bakgrunnsbelysning + Audio Visualizer
RGB -bakgrunnsbelysning + Audio Visualizer

Velkommen til mine instrukser om hvordan du bygger en RGB LED -bakgrunnsbelysning for f.eks. baksiden av TV -en eller skrivebordet.

Selve skjemaet er veldig enkelt siden WS2812 LED -stripene er veldig enkle å koble til, f.eks. En Arduino Nano.

Merk: at du ikke trenger å bruke den ekstra MSGEQ7 Audio Analyzer -kretsen hvis du bare vil ha LED -bakgrunnsbelysningen uten lydvisualisering.

Jeg ga en detaljert liste over brukte deler og hvor du kan kjøpe dem:

  • Arduino Nano / Uno (Amazon / AliExpress)
  • WS2812 RGB LED Strip (Amazon/ AliExpress), merk at IP står for beskyttelsen (f.eks. Vanntett hvis du trenger det) og tallet står for hvor mange lysdioder per meter stripen har (viktig for strømforsyning)
  • 5V strømforsyning (Amazon) (avhenger av hvor mange LED -striper som har) -> hver LED tar ~ 20mA, stripen som brukes i denne instruksjonsboken har 45 lysdioder (30 per meter), så jeg trenger 45*20mA ~ 1, 5Ampere -forsyning (Arduino, MSGEQ7 trenger også noen), jeg koblet til en strømforsyning som gir 3A, som definitivt er nok for oss nå
  • 3,5 mm lydkontakt (Amazon / AliExpress)
  • Potensiometer 10 kOhm (Amazon / AliExpress)
  • Trykknapp (Amazon / AliExpress)
  • Motstand (1x 10kOhm, 1x 220Ohm, for MSGEQ7: 2x100kOhm)
  • Kondensatorer (1x 1000yF elektrolytisk (Amazon / AliExpress), 2x 10nF, for MSGEQ7: 2x 0.1yF, 1x33pF (Amazon / AliExpress)
  • Enkel diode (Amazon / AliExpress)
  • DC -kontakt (Amazon / AliExpress)

Trinn 1: Bygg skjematisk

Bygg skjematisk
Bygg skjematisk
Bygg skjematisk
Bygg skjematisk
Bygg skjematisk
Bygg skjematisk

Hovedskjema:

Så å koble WS2812 Strip til en Arduino er ganske rett frem ved å bruke Adafruit_NeoPixel -biblioteket.

LED -stripen har 3 pins: VCC, DATA, GND. VCC er koblet til 5V, GND til Ground og DATA Pin i midten er koblet til LED_DATA Pin D6 på Arduino. Nå har hver LED på stripen en WS2812 -brikke på den som tar inn dataene den mottar fra Arduino og sender den videre til den neste LED -en, derfor trenger vi bare å mate Led -dataene en gang til den første LED -en på stripen.

Logikken til trykknappen for å endre moduser og potensiometeret for å kontrollere lysstyrken forklares i neste trinn.

Den nøyaktige skjemaet finnes i skjermbildet av fritzing -filen som også er tilgjengelig for nedlasting.

Vær oppmerksom på at det er veldig viktig å bare koble Arduino 5V -pinnen til strømforsyningen via dioden, slik at Arduino ikke blir skadet hvis vi kobler til USB -kabelen for å programmere den. 10nF og 1000uF er også av sikkerhetsmessige årsaker, slik at det ikke blir noen strømmangel.

For MSGEQ7 -kretsen:

Dette er den vanligste kretsen for å koble en MSGEQ7 til en Arduino. Det er også her du trenger 3,5 mm lydkontakt. Midtpinnen på de fleste lydkontakter er GND, pinnene til venstre/høyre er stereokanalene som kobles via en 10nF kondensator til Signal In Pin på MSGEQ7 som vist i skjematisk. Du kan i tillegg legge til et potensiometer i signalinngangen for å kontrollere følsomheten til lydsignalet, men det er virkelig ikke nødvendig. MSGEQ7 er koblet til Arduino med Analog Out pin tilkoblet A1 (MSGEQ_OUT), Strobe Pin til D2 (STROBE), Reset Pin til D5 (RESET).

Trinn 2: Koden

Koden
Koden
Koden
Koden
Koden
Koden

GitHub -lenke for å fullføre Sketch: PhilKes/RGB_Audio_Backlight

Merknader om koden:

I koden deklarerer vi WS2812 Strip -objektet med et nytt Adafruit_NeoPixel -objekt, som sender inn antall lysdioder (endre NUM_LEDS for deg oppsettet), Arduino -pinnen koblet til LED_DATA -pinnen og kodetypen + hastigheten på fargeverdiene.

Når dette er gjort setter vi standard lysstyrke i oppsett () via setBrightness (0-255) og slår på stripen med start (). Vi kan nå sette hver enkelt Pixel/LED til en bestemt RGB -farge med setPixel (LED, farge). Når vi er ferdige, sett alle lysdioder til nye verdier, oppdaterer vi stripen med strip.show (). Det er i utgangspunktet all kodelogikk vi trenger for å programmere hvilken som helst animasjon vi ønsker. For å faktisk kontrollere animasjonene / modusene legger vi til en trykknapp / taktil bryter til Arduino. Vi kobler derfor den ene enden av knappen til VCC og den andre til Arduino Pin D3 og med en 10kOhm motstand til GND. Vi fester en Interrupt til denne PIN -koden i oppsettet (), som utløser et anrop til metoden changeMode () hver gang vi trykker på knappen. I changeMode () bytter vi enkelt til neste modus og forteller den nåværende animasjonen å bryte. Når det skjer, er loop () nylig utført og vil spille den nye animasjonen/modusen.

Animasjonene som følger med inkluderer: Rainbow color fade, Red, Green, Blue, White Color, Music analyzer mode

I tillegg la jeg til en 10 kOhm Potentiometert for å kontrollere lysstyrken på stripen. metoden checkBrightness () sjekker utgangen til potensiometeret som er koblet til pin A2 (midtre pin på potensiometer) og oppdaterer stripens lysstyrke tilsvarende.

For musikkAnalyzer () -modus via MSGEQ7:

Denne modusen visualiserer lydsignalet som er koblet til Signal In på MSGEQ7. MSGEQ sender ut et analogt signal som viser et enkelt lydbånd (8 bånd, fra lave til høye frekvenser). MusicAnalyzer () -metoden får gjeldende verdier for lydbåndene ved å tilbakestille MSGEQ og deretter buffere de analoge verdiene. Bandet som sendes ut kan endres ved å sette en høy flanke på Strobe Pin. Etter at alle de 8 båndene er bufret, skifter metoden alle LED Pixel -verdiene en bakover og beregner den nye verdien for LED 0. Fargen består av: Lavfrekvens (Bass) Rød farge, Middelfrekvens Grønn farge og Høy frekvens Blå farge. Forskyvningen av verdien før du laster den nye verdien gir oss en fin, jevnt timet animasjon.

Trinn 3: Konfigurer lyd på PC

Image
Image

For å få musikken/lyden din matet inn i MSGEQ7, men fortsatt ha musikken din spilt på høyttalerne, må du enten bruke RealtekHD Stereomix -funksjonen eller koble MSGEQ -lydinngangen til f.eks. bakhøyttalerutgang på lydkortet/hovedkortet.

For å aktivere Stereomix i Win10, høyreklikk på høyttalerikonet nederst til høyre og klikk på "Lyder", her kan du aktivere Stereomix i "Opptak" -fanen (høyreklikk -> aktiver). Hvis Stereomix ikke er synlig, høyreklikker du og velger "Vis deaktiverte enheter". Åpne nå innstillingene for Stereomix og be den om å lytte og kopiere lyden til hovedhøyttalerne.

Hvis du vil bruke bakhøyttalerutgangen, åpner du innstillingene til hovedhøyttaleren i "Lyder" -menyen, kategorien "Forbedringer" og deretter velger du "Miljø" fra listen og velger "Rom" i rullegardinmenyen nedenfor.

Dette muliggjør nå parallell lydutgang fra høyttalerne og MSGEQ7.

Trinn 4: Merknader

Siden skjematikken ikke er så komplisert eller stor i størrelse, klarte jeg å sette hele kretsen i en liten boks med hull for USB -kontakten, Audio Jack, DC Jack, Potentiometer og Push Button. Du kan ganske enkelt bruke stifthoder for mann og hunn og koble de tre kablene til WS2812 -stripen via jumperkabler.

Anbefalt: