Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

RGB-Hintergrundbeleuchtung + MSGEQ7 Audio Visualizer

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
Adressierbarer LED-Streifen WS2812 von Digilent
× 1
MSGEQ7
Grafischer Siebenband-Equalizer für die Audiospektrumanalyse
× 1
Digilent 5V 2.5A Schaltnetzteil
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Dies ist ein Import aus meinem ursprünglichen Instructables ( hier klicken )

Willkommen zu meinem Tutorial zum Erstellen einer RGB-LED-Hintergrundbeleuchtung für z.B. auf der Rückseite Ihres Fernsehers oder Schreibtischs.

Der Schaltplan selbst ist sehr einfach, da die WS2812 LED-Streifen sind sehr einfach zu verbinden mit z.B. einem Arduino Nano .

Hinweis: dass Sie die zusätzliche MSGEQ7 Audio Analyzer-Schaltung nicht verwenden müssen, wenn Sie nur die LED-Hintergrundbeleuchtung ohne Audiovisualisierung wünschen.

Ich habe eine detaillierte Liste der gebrauchten Teile bereitgestellt und wo man sie kaufen kann:

  • Arduino Nano/Uno ( Amazon / AliExpress )
  • WS2812 RGB-LED-Streifen ( Amazon/ AliExpress ), beachten Sie, dass IP für den Schutz steht (z. B. wasserdicht, wenn Sie es brauchen) und die Zahl dafür steht, wie viele LEDs pro Meter der Streifen hat (wichtig für die Stromversorgung)
  • 5-V-Netzteil ( Amazon ) (hängt davon ab, wie viele LED-Streifen hat) -> jede LED braucht ~ 20 mA, der in diesem Tutorial verwendete Streifen hat 45 LEDs (30 pro Meter), also brauche ich 45 * 20 mA ~ 1, 5 Ampere Versorgung (Arduino, MSGEQ7 brauchen etwas) auch), habe ich ein Netzteil angeschlossen, das 3A liefert, was für uns jetzt definitiv ausreicht
  • 3,5-mm-Audiobuchse ( Amazon / AliExpress )
  • Potentiometer 10kOhm (Amazon / AliExpress)
  • Drucktaste ( Amazon / AliExpress )
  • Widerstand (1x 10kOhm, 1x 220Ohm, für MSGEQ7:2x100kOhm)
  • Kondensatoren (1x 1000yF Elektrolyt (Amazon / AliExpress), 2x 10nF, für MSGEQ7:2x 0,1yF, 1x33pF (Amazon / AliExpress)
  • Einfache Diode (Amazon / AliExpress )
  • DC-Buchse ( Amazon / AliExpress )

Zubehör:

Schritt 1:Erstellen Sie den Schaltplan

Hauptschema:

Die Verbindung des WS2812-Streifens mit einem Arduino ist mit der Adafruit_NeoPixel-Bibliothek ziemlich einfach.

Der LED-Streifen hat 3 Pins:VCC, DATA, GND . VCC ist mit 5V verbunden, GND mit Masse und dem DATA Pin in der Mitte ist mit LED_DATA Pin D6 auf dem Arduino verbunden. Jetzt hat jede LED auf dem Streifen einen WS2812-Chip, der die vom Arduino empfangenen Daten aufnimmt und an die nächste LED weitergibt, daher müssen wir die LED-Daten nur einmal an die erste LED auf dem Streifen speisen.

Die Logik des Druckknopfs zum Ändern der Modi und des Potentiometers zum Steuern der Helligkeit wird im nächsten Schritt erklärt.

Den genauen Schaltplan finden Sie im Screenshot der Fritzing-Datei, der auch zum Download bereitsteht.

Hinweis dass es sehr wichtig ist um nur den Arduino 5V Pin über die Diode mit dem Netzteil zu verbinden , damit das Arduino nicht beschädigt wird, wenn wir das USB-Kabel einstecken, um es zu programmieren. Die 10nF und 1000uF sind auch aus Sicherheitsgründen, damit es nicht zu Stromengpässen kommt.

Für den MSGEQ7-Circuit :

Dies ist die gebräuchlichste Schaltung, um einen MSGEQ7 mit einem Arduino zu verbinden. Hier benötigen Sie auch die 3,5-mm-Audiobuchse . Der mittlere Pin der meisten Audiobuchsen ist GND, die Pins links/rechts sind die Stereokanäle, die über einen 10nF-Kondensator mit dem Signal In Pin des MSGEQ7 verbunden sind, wie im Schaltplan gezeigt. Sie können dem Signal In Pin zusätzlich ein Potentiometer hinzufügen, um die Empfindlichkeit des Audiosignals zu steuern, aber das ist wirklich nicht notwendig. Das MSGEQ7 ist mit dem Arduino verbunden mit Analog Out-Pin verbunden mit A1 (MSGEQ_OUT), Strobe an D2 anheften (STROBE), Zurücksetzen an D5 anheften (RESET).

rgb_controller.fzz

Schritt 2:Der Code

GitHub Link zur vollständigen Skizze :RGBStripe_Control_WS2812

Hinweise zum Code:

Im Code deklarieren wir das WS2812 Strip-Objekt mit einem neuen Adafruit_NeoPixel-Objekt, indem wir die Anzahl der LEDs übergeben (NUM_LEDS für Ihr Setup ändern ), den Arduino-Pin, der mit dem LED_DATA-Pin verbunden ist, und die Codierungsart + Geschwindigkeit der Farbwertübertragung.

Sobald dies erledigt ist, legen wir die Standardhelligkeit in setup() fest über setHelligkeit(0-255) und schalte den Strip mit begin() ein . Wir können jetzt jedes einzelne Pixel/jede LED einzeln einstellen auf eine bestimmte RGB-Farbe mit setPixel(LED, Color) . Wenn wir alle LEDs auf neue Werte gesetzt haben, aktualisieren wir den Streifen mit strip.show() . Das ist im Grunde die gesamte Codelogik, die wir brauchen, um jede gewünschte Animation zu programmieren. Um nun die Animationen/Modi tatsächlich zu steuern, fügen wir einen Druckknopf . hinzu / Taktiler Schalter zum Arduino. Wir verbinden daher ein Ende des Buttons mit VCC und das andere mit Arduino Pin D3 und mit einem 10kOhm Widerstand gegen GND. Wir fügen diesem Pin im Setup einen Interrupt an() , die einen Aufruf von changeMode() auslöst Methode jedes Mal, wenn wir die Taste drücken. Im changeMode() wir einfach zum nächsten Modus wechseln und teilen Sie der aktuellen Animation mit, dass sie unterbrochen werden soll. Sobald dies geschieht, wird die Schleife() neu ausgeführt und spielt die neue Animation/den neuen Modus ab.

Die bereitgestellten Animationen umfassen:Regenbogenfarbenfade, Rot, Grün, Blau, Weiß, Musikanalysemodus

Zusätzlich habe ich ein 10kOhm Potentiometer hinzugefügt, um die Helligkeit des Strips zu steuern . die Methode checkBrightness() überprüft den Ausgang des Potentiometers, das an Pin A2 (mittlerer Pin des Potentiometers) angeschlossen ist und aktualisiert die Helligkeit des Strips entsprechend.

Für den musicAnalyzer()-Modus über MSGEQ7:

Dieser Modus visualisiert das Audiosignal mit Signal In des MSGEQ7 verbunden. Der MSGEQ gibt ein analoges Signal aus, das ein einzelnes Audioband zeigt (8 Bänder, von niedrigen bis hohen Frequenzen). Der musicAnalyzer() Methode ruft die aktuellen Werte der Audiobänder ab durch Zurücksetzen des MSGEQ und anschließendes Puffern der bereitgestellten Analogwerte. Das ausgegebene Band kann durch Anlegen einer hohen Flanke am Strobe-Pin geändert werden. Nachdem alle 8 Bänder gepuffert wurden, verschiebt die Methode alle LED-Pixelwerte um eins zurück und berechnet den neuen Wert für LED 0 . Die Farbe besteht aus:Niederfrequenz (Bass) Rot, Mittelfrequenz Grün und Hochfrequenz Blau. Das Verschieben des Werts vor dem Laden des neuen Werts gibt uns eine schöne, zeitlich reibungslose Animation.

Schritt 3:Audio auf dem PC einrichten

Um Ihre Musik/Audio in den MSGEQ7 einzuspeisen, aber Ihre Musik trotzdem auf Ihren Lautsprechern abspielen zu lassen, müssen Sie entweder die RealtekHD Stereomix-Funktion verwenden oder den MSGEQ-Audioeingang z.B. hinteren Lautsprecherausgang Ihrer Soundkarte/Motherboard.

Um den Stereomix in Win10 zu aktivieren, rechts unten rechts auf das Lautsprechersymbol klicken und auf "Sounds" klicken, hier können Sie Stereomix im Reiter "Aufnahme" aktivieren (Rechtsklick -> aktivieren). Wenn der Stereomix nicht sichtbar ist, klicken Sie mit der rechten Maustaste und wählen Sie "Deaktivierte Geräte anzeigen". Öffnen Sie nun die Einstellungen für den Stereomix und weisen Sie ihn an, den Ton Ihrer Hauptlautsprecher zu hören und zu kopieren.

Wenn Sie den hinteren Lautsprecherausgang verwenden möchten, öffnen Sie die Einstellungen Ihres Hauptlautsprechers im Menü "Sounds", Tab "Verbesserungen" und wählen Sie dann "Umgebung" aus der Liste und wählen Sie "Raum" im Dropdown-Menü unten.

Dies ermöglicht jetzt die parallele Audioausgabe Ihrer Lautsprecher und des MSGEQ7.

Schritt 4:Notizen

Da der Schaltplan weder kompliziert noch groß ist, habe ich es geschafft, die gesamte Schaltung in eine kleine Schachtel mit Löchern für den USB-Anschluss, die Audiobuchse, die DC-Buchse, das Potentiometer und den Druckknopf zu stecken. Sie können einfach Stift-/Buchsenleisten verwenden und die 3 Kabel über Jumperkabel mit dem WS2812-Streifen verbinden.

Code

Arduino-Skizzen-Download
https://github.com/PhilKes/RGBStripe_Control_WS2812

Schaltpläne

Schaltplan von Breaboard zum Verbinden von Arduino mit dem WS2812-Streifen mit Helligkeitssteuerung über Potentiometer fvwp3zyjs5c4z851_12HuWgZiDT.fzzStandalone MSGEQ7-Schema wird nur für den Audio Visualizer-Modus verwendet
Verbinden Sie den Signaleingang mit dem linken / rechten Kanal der 3,5-mm-Audiobuchse und den anderen Steuerpins, wie im anderen Schema gezeigt

Herstellungsprozess

  1. Impulslichtsensor
  2. DIY LUMAZOID Arduino Music Visualiser
  3. Audiofrequenzdetektor
  4. Arduino mit Bluetooth zur Steuerung einer LED!
  5. Audio in Arduino abspielen
  6. Arduino-Vierbeiner
  7. Arduino RGB-Farbmischer
  8. DIY Arduino RADIONICS-Behandlungsmaschine
  9. DMX RGB LED im Freien
  10. LED-Roulette-Spiel