Chaospott Wiki (Alt)

Altes wiki. Hilf doch beim Migrieren mit! https://wiki.chaospott.de

Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:tanzhut:start

Dies ist eine alte Version des Dokuments!


Der Tanzhut

Was man nur durch viel Übung lernen würde, lösen Nerds mit Technik: Den Rhythmus beim Tanzen zu halten!

Der Tanzhut gibt durch rhythmisches Blinken den Takt an und hilft so in der richtigen Geschwindigkeit zu tanzen. Zusätzlich leuchtet er bunt ist ein echter Hingucker.

Er besteht aus einem neongelben Hut, einem WS2812 LED-Streifen, gesteuert von einem Nachbau eines Arduino Nano, einer Powerbank zur Stromversorgung und Kontaktfolien zur Steuerung.

Funktionsweise

Beim Einschalten leuchtet der LED-Streifen mit einem wandernden Regenbogenmuster. Da der Arduino Nano nicht genug Rechenleistung hat um den Takt über ein Mikrofon zu erkennen, muss man diesen vorgeben. Dies geschieht durch Tippen auf die Hutkrempe. Dabei schließt man einen Stromkreis. Dies wird vom Arduino Nano gemessen. Durch mehrmaliges Tippen erkennt er den Rhythmus, bestimmt den Durchschnitt und wiederholt ihn dauerhaft. Dadurch hat man beim Tanzen einen konstanten Rhythmus, an dem man sich orientieren kann.

Bauteile

  • Hut (Cyber-Ausführung, neongelb)
  • WS2812 LED-Streifen mit 86 LEDs
  • Arduino Nano kompatibles Board
  • Powerbank (von der MRMCD), durch die geringe Stromaufnahme ist die Kapazität egal
  • Kontaktfolie, z.B. Aluminiumklebeband
  • Kabel, Wiederstände (1M Ohm), Schalter, …

Entwicklung

Ursprünglich sollte der Hut den Rhythmus automatisch erkennen. Mit einem Mikrofon sollte die Musik aufgenommen und dann mit dem Microcontroller ausgewertet werden. Das wird schon nicht so schwierig sein, so der erste Gedanke.

  • 1. Ansatz: Bei jedem Beat ist die Musik besonders laut, daher reicht es den Pegel zu messen und dann mit einem Sliding-Window den Durchschnitt, also die Hintergrundgeräusche und dann Peak zu erkennen. Wenn man die Peaks misst und dann den Durchschnitt bestimmt erhält man den Takt. Leider funktioniert das nicht, da der Takt nicht notwendigerweise immer besonders laut ist.
  • 2. Ansatz: Die Auswertung muss also intelligenter gemacht werden. Eine kurze Suche empfiehlt da Verfahren wie Fourier-Transformation anzuwenden um den Takt zu erkennen. Für den Arduino gibt es auch schon fertige Libraries für Fast-Fourier-Transformation (FFT). Leider ist der Arduino zu langsam dafür.
  • 3. Ansatz: Wie haben andere Leute das gelöst? Im Internet finden sich viele Beschreibungen von Projekten, bei denen rhythmisch mit WS2812-LED-Streifen geblinkt wird, die von Arduino Nano Microcontrollern angesteuert werden. Allerdings wird die Rhythmuserkennung dabei von PCs übernommen, die das Taktsignal per USB an den Arduino weitergeben. Das ist für das Projekt Tanzhut nicht geeignet, da wir uns ja kein Notebook auf den Rücken schnallen wollen.
  • 4. Ansatz: Takt manuell vorgeben. Der Träger des Huts hat ja einen Kopf mit Ohren und kann sehr einfach den Takt selbst erkennen. Durch ein geeignetes Interface, wie Tippen auf die Hutkrempe, kann er den Takt dem Arduino vorgeben, der ihn dann einfach wiederholt.

Aufbau

projekte/tanzhut/start.1591655594.txt.gz · Zuletzt geändert: 09.06.2020 00:33 von sirgoofy