Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

RGB-achtergrondverlichting + MSGEQ7 Audio Visualizer

Componenten en benodigdheden

Arduino Nano R3
× 1
Digilent WS2812 adresseerbare ledstrip
× 1
MSGEQ7
Zevenbands grafische equalizer voor audiospectrumanalyse
× 1
Digilent 5V 2.5A schakelende voeding
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Apps en online services

Arduino IDE

Over dit project

Dit is een import van mijn originele Instructables ( klik hier )

Welkom bij mijn tutorial over het bouwen van een RGB LED-achtergrondverlichting voor bijv. de achterkant van je tv of bureau.

Het schema zelf is heel eenvoudig, aangezien de WS2812 LED Strips zijn zeer eenvoudig te koppelen met bijvoorbeeld een Arduino Nano .

Opmerking: dat u het extra MSGEQ7 Audio Analyzer-circuit niet hoeft te gebruiken als u alleen de LED-achtergrondverlichting zonder audiovisualisatie wilt.

Ik heb een gedetailleerde lijst van de gebruikte onderdelen . verstrekt en waar je ze kunt kopen:

  • Arduino Nano/Uno (Amazon / AliExpress)
  • WS2812 RGB LED-strip (Amazon/ AliExpress), merk op dat IP staat voor de bescherming (bijvoorbeeld waterdicht als je dat nodig hebt) en het getal staat voor hoeveel LED's per meter de strip heeft (belangrijk voor stroomvoorziening)
  • 5V-voeding (Amazon) (afhankelijk van het aantal LED's dat de strip heeft) -> elke LED kost ~ 20 mA, de strip die in deze tutorial wordt gebruikt, heeft 45 LED's (30 per meter), dus ik heb 45 * 20 mA nodig ~ 1, 5 Ampere-voeding (Arduino, MSGEQ7 heb wat nodig ook), heb ik een voeding aangesloten die 3A levert, wat zeker genoeg is voor ons nu
  • 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 Elektrolytisch (Amazon / AliExpress), 2x 10nF, voor MSGEQ7:2x 0.1yF, 1x33pF (Amazon / AliExpress)
  • Eenvoudige Diode (Amazon / AliExpress )
  • DC-aansluiting (Amazon / AliExpress)

Benodigdheden:

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 naar 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.

Opmerking dat het zeer belangrijk is om alleen de Arduino 5V-pin via de diode op de voeding aan te sluiten , zodat de Arduino niet wordt beschadigd als we de USB-kabel aansluiten om hem te programmeren. De 10nF en 1000uF zijn 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 verbonden aan A1 (MSGEQ_OUT), Stroboscoop Pin op D2 (STROBE), Reset Pin op D5 (RESET).

rgb_controller.fzz

Stap 2:De code

GitHub Link naar complete schets :RGBStripe_Control_WS2812

Opmerkingen over de code:

In de code declareren 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 aangesloten op de LED_DATA-pin en het coderingstype + snelheid van de verzending van kleurwaarden.

Zodra dit is gebeurd, stellen we de standaard Helderheid in in setup() via setBrightness(0-255) en zet de Strip aan met begin() . We kunnen nu elke individuele Pixel/LED instellen naar een specifieke RGB-kleur met setPixel(LED, Color) . Als we klaar zijn, stellen we alle LED's in op nieuwe waarden, updaten we de strip 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 toe / Tactiele Switch naar de Arduino. Daarom verbinden we het ene uiteinde van de knop met VCC en het andere naar Arduino Pin D3 en met een weerstand van 10kOhm naar GND. We voeg een onderbreking toe aan deze pin in de setup() , die een oproep naar de changeMode() activeert methode elke keer dat we op de knop drukken. In changeMode() we eenvoudig schakelen naar de volgende modus en vertel de huidige animatie om te breken. 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 uitgang 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 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 musicAnalyzer() methode haalt de huidige waarden van de audiobanden door de MSGEQ opnieuw in te stellen en vervolgens de verstrekte analoge waarden te bufferen. De band die wordt uitgevoerd, kan worden gewijzigd door een hoge flank op de stroboscooppin 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 (Bass) Rode Kleur, Midden 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 je muziek/audio in de MSGEQ7 te krijgen maar je muziek nog steeds op je luidsprekers te laten spelen, moet je 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:Notities

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.

Code

Arduino-schets downloaden
https://github.com/PhilKes/RGBStripe_Control_WS2812

Schema's

Breaboard-schema om Arduino aan te sluiten op WS2812 Strip met helderheidsregeling via potentiometer fvwp3zyjs5c4z851_12HuWgZiDT.fzzStandalone MSGEQ7-schema wordt alleen gebruikt voor de Audio Visualizer-modus
Sluit de signaalingang aan op de 3,5 mm audio-aansluiting links/rechts kanaal en de andere bedieningspinnen zoals weergegeven in het andere schema

Productieproces

  1. Pulslichtsensor
  2. DIY LUMAZOID Arduino Music Visualiser
  3. Audiofrequentiedetector
  4. Arduino met Bluetooth om een ​​LED te bedienen!
  5. Audio afspelen in Arduino
  6. Arduino Quadruped
  7. Arduino RGB-kleurenmixer
  8. DIY Arduino RADIONICS-behandelingsmachine
  9. DMX RGB LED buiten
  10. LED-roulettespel
  11. Arduino geautomatiseerde parkeergarage