INHOUDSOPGAWE:

RGB -agtergrond + oudiovisualiseerder: 4 stappe (met foto's)
RGB -agtergrond + oudiovisualiseerder: 4 stappe (met foto's)

Video: RGB -agtergrond + oudiovisualiseerder: 4 stappe (met foto's)

Video: RGB -agtergrond + oudiovisualiseerder: 4 stappe (met foto's)
Video: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, November
Anonim
RGB -agtergrond + oudiovisualiseerder
RGB -agtergrond + oudiovisualiseerder
RGB -agtergrond + oudiovisualiseerder
RGB -agtergrond + oudiovisualiseerder

Welkom by my instruksies oor hoe om 'n RGB LED -agtergrond te bou vir bv. agterkant van jou TV of lessenaar.

Die skema self is baie eenvoudig, aangesien die WS2812 LED -strokies baie maklik is om met 'n Arduino Nano te koppel.

Let wel: u hoef nie die ekstra MSGEQ7 Audio Analyzer -kring te gebruik as u slegs die LED -agtergrond sonder klankvisualisering wil hê nie.

Ek het 'n gedetailleerde lys gegee van die gebruikte onderdele en waar u dit kan koop:

  • Arduino Nano / Uno (Amazon / AliExpress)
  • WS2812 RGB LED Strip (Amazon/ AliExpress), let op dat IP staan vir die beskerming (bv. Waterdig as u dit benodig) en die nommer staan vir hoeveel LED's per meter die strook het (belangrik vir kragtoevoer)
  • 5V kragtoevoer (Amazon) (hang af van hoeveel LED's strook het) -> elke LED benodig ~ 20mA, die strook wat in hierdie instruksie gebruik word, het 45 LED's (30 per meter), so ek benodig 45*20mA ~ 1, 5Ampere toevoer (Arduino, MSGEQ7 het ook 'n paar nodig), ek het 'n kragtoevoer gekoppel wat 3A bied, wat beslis vir ons nou genoeg is
  • 3.5 mm klankaansluiting (Amazon / AliExpress)
  • Potensiometer 10 kOhm (Amazon / AliExpress)
  • Drukknop (Amazon / AliExpress)
  • Weerstand (1x 10kOhm, 1x 220Ohm, vir MSGEQ7: 2x100kOhm)
  • Kondensators (1x 1000yF elektrolities (Amazon / AliExpress), 2x 10nF, vir MSGEQ7: 2x 0.1yF, 1x33pF (Amazon / AliExpress)
  • Eenvoudige diode (Amazon / AliExpress)
  • DC -aansluiting (Amazon / AliExpress)

Stap 1: Bou die skema

Bou die skematiese
Bou die skematiese
Bou die skematiese
Bou die skematiese
Bou die skematiese
Bou die skematiese

Hoofskema:

Om die WS2812 Strip met 'n Arduino te koppel, is dus redelik eenvoudig deur die Adafruit_NeoPixel -biblioteek te gebruik.

Die LED Strip het 3 penne: VCC, DATA, GND. VCC is gekoppel aan 5V, GND met grond en die DATA -pen in die middel is gekoppel aan LED_DATA -pen D6 op die Arduino. Nou het elke LED op die Strip 'n WS2812 -chip wat die data wat dit van die Arduino ontvang, opneem en dit na die volgende LED deurgee, daarom hoef ons die Led -data slegs een keer na die eerste LED op die strook te voer.

Die logika van die drukknop om die modusse te verander en die potensiometer om die helderheid te beheer, word in die volgende stap verduidelik.

Die presiese skema kan gevind word in die skermkiekie van die fritzing -lêer, wat ook beskikbaar is om af te laai.

Let daarop dat dit baie belangrik is om slegs die Arduino 5V -pen via die diode aan die voeding te koppel, sodat die Arduino nie beskadig word as ons die USB -kabel aansluit om dit te programmeer nie. Die 10nF en 1000uF is ook om veiligheidsredes, sodat daar geen kragtekorte is nie.

Vir die MSGEQ7 -stroombaan:

Dit is die algemeenste stroombaan om 'n MSGEQ7 aan 'n Arduino te koppel. Dit is ook waar u die 3,5 mm -klankaansluiting nodig het. Die middelste pen van die meeste audio -aansluitings is GND; die penne links/regs is die stereokanale wat via 'n 10nF -kondensator verbind word met die Signal In Pin van die MSGEQ7, soos in die skema getoon. U kan ook 'n potensiometer by die seine -in -pen voeg om die sensitiwiteit van die klanksein te beheer, maar dit is regtig nie nodig nie. Die MSGEQ7 is gekoppel aan die Arduino met 'n analoog -uit -pen wat gekoppel is aan A1 (MSGEQ_OUT), Strobe -pen na D2 (STROBE), stel die pen terug op D5 (RESET).

Stap 2: Die kode

Die kode
Die kode
Die kode
Die kode
Die kode
Die kode

GitHub -skakel om Skets te voltooi: PhilKes/RGB_Audio_Backlight

Notas oor die kode:

In die kode verklaar ons die WS2812 Strip -voorwerp met 'n nuwe Adafruit_NeoPixel -voorwerp, wat die aantal Leds deurgee (verander NUM_LEDS vir u opstelling), die Arduino -pin wat aan die LED_DATA -pen gekoppel is, en die koderingstipe + snelheid van die kleurwaardetransmissie.

Sodra dit klaar is, stel ons die standaard Helderheid in opstelling () in via setBrightness (0-255) en skakel ons die strook aan met begin (). Ons kan nou elke individuele Pixel/LED op 'n spesifieke RGB -kleur stel met setPixel (LED, kleur). As ons klaar is, stel alle LED's op nuwe waardes, werk ons die strook op met strip.show (). Dit is basies al die kode logika wat ons nodig het om enige animasie wat ons wil, te programmeer. Om die animasies / modusse eintlik te beheer, voeg ons 'n drukknop / tasbare skakelaar by die Arduino. Daarom verbind ons die een kant van die knoppie met VCC en die ander aan die Arduino Pin D3 en met 'n 10kOhm -weerstand aan GND. Ons heg 'n onderbreking aan hierdie pen in die setup (), wat 'n oproep na die changeMode () -metode veroorsaak elke keer as ons op die knoppie druk. In changeMode () skakel ons eenvoudig oor na die volgende modus en sê die huidige animasie moet breek. Sodra dit gebeur, word die lus () nuut uitgevoer en speel die nuwe animasie/modus af.

Die animasies wat ingesluit word, sluit in: Rainbow color fade, Red, Green, Blue, White Color, Music analyzer mode

Verder het ek 'n 10kOhm potensiaal bygevoeg om die helderheid van die strook te beheer. die metode checkBrightness () kontroleer die uitset van die potensiometer wat gekoppel is aan pen A2 (middelste pen van die potensiometer) en werk die strook se helderheid dienooreenkomstig op.

Vir musiekAnalyzer () -modus via MSGEQ7:

Hierdie modus visualiseer die oudiosignaal wat gekoppel is aan Signal In van die MSGEQ7. Die MSGEQ gee 'n analoog sein uit met 'n enkele klankband (8 bands, van lae tot hoë frekwensies). Die musicAnalyzer () -metode kry die huidige waardes van die klankbande deur die MSGEQ te herstel en dan die gegewe analoogwaardes te buffer. Die band wat uitgesaai word, kan verander word deur 'n hoë flank op die Strobe Pin te plaas. Nadat al die 8 bande gebuffer is, skuif die metode al die LED Pixel waardes een agteruit en bereken die nuwe waarde vir LED 0. Die kleur bestaan uit: Lae frekwensie (bas) Rooi kleur, Middelfrekwensie Groen kleur en Hoë frekwensie Blou kleur. Die verskuiwing van die waarde voordat die nuwe waarde gelaai word, gee ons 'n aangename animasie.

Stap 3: Stel klank op die rekenaar op

Image
Image

Om u musiek/klank in die MSGEQ7 te laat vloei, maar u musiek steeds op u luidsprekers te laat speel, moet u óf die RealtekHD Stereomix -funksie gebruik, óf die MSGEQ -klankingang verbind met bv. agterste luidsprekeruitset van u klankkaart/moederbord.

Om die Stereomix in Win10 in te skakel, klik met die rechtermuisknop op die luidspreker -ikoon regs onder en klik op "Klanke", hier kan u Stereomix aktiveer in die oortjie "Opname" (regskliek -> aktiveer). As die Stereomix nie sigbaar is nie, klik met die rechtermuisknop en kies 'Wys gestremde toestelle'. Maak nou die instellings vir die Stereomix oop en vertel dit om te luister en die klank van u hoofsprekers te kopieer.

As u die uitset van die agterste luidspreker wil gebruik, maak die instellings van u hoofspreker oop in die menu "Klanke", oortjie "Verbeterings" en kies dan "Omgewing" uit die lys en kies "Kamer" in die keuselys hieronder.

Dit maak nou 'n parallelle klankuitset van u luidsprekers en die MSGEQ7 moontlik.

Stap 4: Notas

Aangesien die skema nie so ingewikkeld of groot is nie, het ek daarin geslaag om die hele stroombaan in 'n klein boks te plaas met gate vir die USB -aansluiting, Audio Jack, DC Jack, Potentiometer en Push Button. U kan eenvoudig manlike/vroulike penkoppe gebruik en die 3 kabels via die jumperkabels aan die WS2812 -strook koppel.

Aanbeveel: