Inhaltsverzeichnis:

DIY automatische musikalische Weihnachtslichter (MSGEQ7 + Arduino) - Gunook
DIY automatische musikalische Weihnachtslichter (MSGEQ7 + Arduino) - Gunook

Video: DIY automatische musikalische Weihnachtslichter (MSGEQ7 + Arduino) - Gunook

Video: DIY automatische musikalische Weihnachtslichter (MSGEQ7 + Arduino) - Gunook
Video: BEST TWINKLY LIGHT EFFECTS 2024, November
Anonim
DIY automatische musikalische Weihnachtsbeleuchtung (MSGEQ7 + Arduino)
DIY automatische musikalische Weihnachtsbeleuchtung (MSGEQ7 + Arduino)

Also sage ich jedes Jahr, dass ich das machen werde und komme nie dazu, weil ich viel aufschiebe. 2020 ist ein Jahr des Wandels, also sage ich, dass dies das Jahr ist, dies zu tun. So hoffen Sie, dass Sie Ihre eigenen musikalischen Weihnachtslichter mögen und machen. Dies wird eine einfache Anleitung sein, aber nächstes Jahr plane ich viel mehr mit diesem Projekt.

Vollständiges Projektvideo:

Lieferungen

Bluetooth-Empfänger

Arduino Nano https://amzn.to/3piiJHb oder

PRO Mini

(zur Programmierung wird https://amzn.to/2WGa19q benötigt)

MSGEQ7 IC

MSGEQ7-Modul

MSGEQ7-Schild

Widerstände

Kondensatoren

Relais - Mechanisch https://amzn.to/3pm2WXF oder

Festkörper https://amzn.to/2KOVqFU X3

Solid State 4-Kanal

8x8 LED-Anzeige

Lötbares Steckbrett

Anschlusskabel-Kit

JST-Adapter

3,5-mm-Stereo-Klinkenbuchse

Netzteilmodul

9V 1A Netzteil

AC-Stecker, AC-Steckdosen und elektrische Box von jeder lokalen Hardware

Verwendete Werkzeuge (nicht für dieses Video gekauft, nur allgemeine Dinge, die ich habe):

Lötkolben:

Reparaturmatte:

Bleifreier Lötdraht:

Magnetische helfende Hände:

Multimeter: https://amzn.to/3oQrgB5 (mein nächster Kauf)

Leiterplattenhalter

Dieser Beitrag enthält Affiliate-Links, die meinen Kanal unterstützen. Wenn Sie über einen meiner Links einkaufen, kann ich eine kleine Provision verdienen; ohne zusätzliche Kosten für Sie

Schritt 1: Wie das funktioniert - MSGEQ7

Wie das funktioniert - MSGEQ7
Wie das funktioniert - MSGEQ7
Wie das funktioniert - MSGEQ7
Wie das funktioniert - MSGEQ7

Die Hauptkomponente dieses Projekts wäre also das MSGeq7. Dies ist ein Siebenband-Grafik-Equalizer-IC ist ein CMOS-Chip, der das Audiospektrum in sieben Bänder unterteilt, 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz und 16 kHz. Die sieben Frequenzen werden spitzenmäßig erfasst und an den Ausgang gemultiplext, um eine DC-Darstellung der Amplitude jedes Bandes bereitzustellen. Es werden keine externen Komponenten benötigt, um die Filterantworten auszuwählen. Nur ein Widerstand und ein Kondensator außerhalb des Chips werden benötigt, um die Taktoszillatorfrequenz auf dem Chip auszuwählen. Die Filtermittenfrequenzen folgen dieser Frequenz.

Datenblätter:

Alles in allem also ein wirklich einfach zu bedienender IC.

Schritt 2: Testschaltung

Testschaltung
Testschaltung
Testschaltung
Testschaltung
Testschaltung
Testschaltung
Testschaltung
Testschaltung

Das Datenblatt für msgeq7 enthält das typische Anwendungsschaltbild, das ich befolgt und zum Entwerfen der Schaltung für dieses Projekt verwendet habe.

Beachten Sie die Werte der spezifischen Widerstände und Kondensatoren. Ich habe 2 x 3,5-mm-Stereo-Audiobuchsen, damit ein Bluetooth-Modul Audio eingeben kann, das vom msgeq7 erkannt wird. Sie benötigen zwei 22k-Widerstände und einen Kondensator, um das MSG zu isolieren und die andere Buchse über ein AUX-Kabel an einen Lautsprecher auszugeben.

Außerdem habe ich die LEDs später durch Relais ersetzt (im Bereich dieses Projekts sind sie im Grunde dasselbe), um dann einige Weihnachtslichter zu steuern.

Die LEDs repräsentieren die Audio-„Tiefs“, „Mitten“„Hochs“. Der Plan besteht darin, die Frequenzamplituden zu erfassen und einen Triggerpunkt zu bestimmen, der dann das Licht einschaltet.

Ich habe auch eine 8x8-LED-Matrix hinzugefügt, um eine schöne Audiovisualisierung der Audiofrequenz zu erhalten, während sie abgespielt werden.

Der Code kann mit jedem Arduino-Board funktionieren, aber ich verwende Nano zum Testen und Pro Mini in der Endplatine.

Schritt 3: Code

Code
Code

Der Code ist also wieder ziemlich einfach.

Vollständiger Code:

Der Code benötigt die LedControl Bibliothek https://www.arduino.cc/reference/en/libraries/ledc… für das 8x8 Display MAX7219. Ansonsten wird keine zusätzliche Bibliothek benötigt und der Code ist eigenständig.

In der Schleife überprüfe ich die verschiedenen Bänder aus dem MSG und skaliere die Werte zwischen 0 und 7, die auf der 8x8-Matrix angezeigt werden sollen. Ich speichere dann die Werte in einem Array, um direkt danach schnell verarbeitet zu werden.

Diese Amplitudenwerte werden dann überprüft, um zu sehen, ob sie einen eingestellten Wert überschreiten. Wenn ja, mache ich das Licht an.

Band 0, 1, 2 = LOWs (63Hz bis 400Hz)

Band 3 = MIDs (400Hz bis 2500Hz)

Band 4, 5, 6 = HIGHs (2,5 KHz bis 16 KHz

Dies war eher eine persönliche Wahl aufgrund von Beobachtungen, die meiner Meinung nach den besten Lichteffekt ergaben. Dies kann an jede Art von Musik oder Lichtshow angepasst und geändert werden.

Da ich am Ende mechanische Relais verwendet habe, habe ich im Moment nur ein Flag-System hinzugefügt, damit die Wiederholungen für eine minimale Zeit eingeschaltet bleiben, um keine Überschaltung / schnelle Schwingungen zu verursachen, die die Relais beschädigen und beeinflussen können die musikalische Beleuchtung.

Sobald die Zeit abgelaufen ist und die Amplitude nicht erneut ausgelöst wird, würde die LED ausgehen und der Vorgang wird fortgesetzt.

Ich verwende millis (), keine Verzögerungen, damit der Code nicht mit Verzögerungen blockiert wird. Der Code läuft also wirklich schnell und effizient.

Schritt 4: Relais hinzufügen

Relais hinzufügen
Relais hinzufügen
Relais hinzufügen
Relais hinzufügen

WARNUNG: Bitte seien Sie vorsichtig beim Umgang mit Wechselspannungen. Bitte holen Sie sich Hilfe von einem Fachmann/Elektriker, wenn Sie sich nicht sicher sind. Hinweis Ich bin ein lizenzierter Wireman.

Für dieses Projekt verwende ich mechanische Relais, da die Halbleiterrelais, die ich hatte, nur für Gleichspannungen /

Seufzen.

Ich empfehle Ihnen, sich einen Satz SSRs zu besorgen, wenn Sie noch keine mechanischen Relais haben und dieses Projekt planen.

Sie sind schneller und vor allem leiser. Beachten Sie, dass SSR niedrigere Stromstärken als mechanische Relais haben, um festzustellen, wie viele Lichter Sie an einem Stecker anbringen und die Stromaufnahme messen möchten.

Schritt 5: Das Board, das alles kann

Der Vorstand, der alles kann
Der Vorstand, der alles kann
Der Vorstand, der alles kann
Der Vorstand, der alles kann

Nachdem ich alles so zum Laufen gebracht hatte, wie ich es wollte, legte ich alles auf ein lötbares Steckbrett.

Es ist der gleiche Schaltplan wie zuvor, nur dieses Mal habe ich eine alte Laptop-Audiobuchse für den Audioeingang und -ausgang verwendet.

Ich habe ein Arduino Pro Mini und ein Steckbrett-Netzteil, damit das Board über eine 12-V-DC-Buchse mit Strom versorgt werden kann.

Das 8x8 Display wird an einem der Schraubenlöcher befestigt.

Das Relais verfügt über einen 6-poligen JST-Anschluss, der Gnd, 5 V und 4 GPIOs zur Steuerung der 4 Relais liefert. Für dieses Projekt verwende ich nur 3 dieser Relais, während der 4-Stecker normal geschlossen ist und als Hard-Reset für die Zukunft und zur Stromversorgung der Platine verwendet werden würde.

Schritt 6: Fertig + Zukunft

Fertig + Zukunft
Fertig + Zukunft

Vollständiges Projektvideo:

Sie können Likes teilen und abonnieren.

Nächstes Jahr möchte ich WLAN und eine RTC hinzufügen, um die Fern- und Zeitsteuerung zu ermöglichen. Auch ein FM-Transmitter, damit Autos in der Lage sind, sich auf das Audio einzustellen. Am wichtigsten würde ich die Relais für SSRs schalten. Ich könnte den MSGEQ7 auch gegen einen DSP austauschen und eine richtige Analyse des Audios für bessere Lichteffekte durchführen.

Ich wünsche allen ein schönes Weihnachtsfest und einen guten Rutsch ins neue Jahr.

Empfohlen: