Dynamische Musik-LED-Lichter zum Jahreswechsel – Arduino Nano & NeoPixel
Komponenten & Zubehör
| Bauteil | Menge | |
|---|---|---|
| Arduino Nano R3 (oder Klon) | 1 | |
| NeoPixel-LED-Strip (WS2812B, 5 V) | 1 | Länge nach Wunsch (z. B. 120 / 240 LEDs) |
| Widerstand 330–470 Ω (Dataleitung, optional) | 1 | Empfohlen vom Hersteller |
| Netzteil 5 V / ≥ 2 A (bei > 20 LEDs) | 1 | USB-Port liefert max. ~500 mA |
Software & Tools
- Arduino IDE
- PC-Programm „Musical Light“ (Windows,
CMU.EXE) – FFT-Analyse & Farbprogramme - Arduino-Sketches:
COMTOLEF.ino(direkt USB),COMtoRF.ino+RFtoLED.ino(nRF24L01 Funkbrücke) - Bibliotheken:
Adafruit_NeoPixel,FastLED(je nach Sketch)
Projektbeschreibung
Zum Jahreswechsel wollte der Autor eine stimmungsvolle, musikgesteuerte LED-Beleuchtung. Das System besteht aus zwei Teilen:
- PC-Seite (C# / CMU.EXE): Greift das Audiosignal ab (virtuelles Audiokabel, Line-In, Mikrofon), berechnet per FFT die Spektralverteilung und sendet Farb-/Effektdaten seriell (USB) oder per Funk (nRF24L01) an den Arduino.
- Arduino-Seite: Empfängt die Daten und steuert den WS2812-Strip an. 7 Farbmusik-Programme + >100 dynamische Effekte (72 im Code implementiert, Rest erweiterbar).
Hardware-Anschluss (Minimal)
- Arduino Nano D2 → (330–470 Ω) → NeoPixel DIN
- Arduino 5 V & GND → Strip 5 V & GND (bei > 20 LEDs externes Netzteil, Masse gemeinsam!)
Im PC-Programm („Easy Connection“-Tab) ist das Schema abgebildet. Wichtig: #define stripLed 120 im Sketch auf die tatsächliche LED-Anzahl anpassen (z. B. 240).
Audio-Einbindung (Beispiel des Autors)
iTunes → AirPlay an Yamaha-Receiver. Parallel virtueller Audiokabel (VB-Cable / Voicemeeter) als Standard-Ausgabe in iTunes → Eingang in „Musical Light“. Alternativ: Line-In, Mischpult, Laptop-Mikrofon.
Programm-Features
- Minimierbar in den Tray, Autostart-Option.
- 7 Farbmusik-Programme (Spektralbänder → Farben).
- >100 dynamische Programme (Lauflichter, Muster, Farbverläufe).
- Entwickler können eigene Effekte in den Arduino-Sketches hinzufügen.
Arduino-Code (Grundgerüst – COMTOLEF.ino)
#include
#define LED_PIN 2
#define STRIP_LED 120 // <-- ANPASSEN an deinen Strip!
Adafruit_NeoPixel strip = Adafruit_NeoPixel(STRIP_LED, LED_PIN, NEO_GRB + NEO_KHZ800);
byte buffer[STRIP_LED * 3]; // RGB-Daten vom PC
int idx = 0;
void setup() {
Serial.begin(115200);
strip.begin();
strip.show(); // alle aus
}
void loop() {
while (Serial.available()) {
byte b = Serial.read();
buffer[idx++] = b;
if (idx >= STRIP_LED * 3) {
// Frame komplett -> Strip aktualisieren
for (int i = 0; i < STRIP_LED; i++) {
strip.setPixelColor(i, buffer[i*3], buffer[i*3+1], buffer[i*3+2]);
}
strip.show();
idx = 0;
}
}
}
Die vollständigen Sketches (inkl. Funk-Version, Effekt-Funktionen) sind im GitHub-Repo: github.com/juraspb/MusicToColor.
Schaltplan
Einfaches Schema: Nano D2 → Vorwiderstand → DIN; 5 V / GND parallel. Bei Funk-Version: nRF24L01 an SPI-Pins (D11/D12/D13 + CE/CSN).
Frohes neues Jahr & viel Spaß beim Basteln!
Herstellungsprozess
- Fernsehen: Von mechanischen Ursprüngen zur smarten Zukunft
- Bluetooth-gesteuerter Arduino-Spybot bauen – Überwachungsroboter mit IP-Kamera
- FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)
- DIY Arduino TV-B-Gone: Universelle TV-Aus-Fernbedienung
- Einen eigenen LED-Master-Clock mit Alarm bauen – aus 12 Metern Entfernung ablesbar
- Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
- Optimierte Stromversorgungslösungen für Arduino-Projekte
- Arduino Tic Tac Toe mit MAX7219 LED-Matrix und Karton-Gehäuse
- Intelligenten Arduino-Vierbeiner-Roboter bauen: Schritt-für-Schritt-Anleitung
- Arduino RGB-LED-Farbmischer – Einsteigerfreundliches DIY-Projekt