![]() |
|
|
Episode 1 Video
Overview The goal of this project was to create a fireworks show automatically synchronized to a song using beat detection analysis and simple, low cost data acquisition hardware. SYSTEM OVERVIEW HARDWARE USED BEAT DETECTION METHOD HARDWARE FIRING METHOD SCHEMATIC
A song is imported into software for analysis; a Fourier Transform is then used to compare the power of a selectable frequency band to the average power in that band to detect a beat. When a beat is detected, a digital high is sent out through a USB-DAQ device. This device is wired as the base of a Darlington Pair Transistor that will switch on a high current power supply connected to the firework triggering method.
A Fourier Transform is taken of the song so the varying powers of the different frequencies can be observed. A certain frequency band is then isolated (such as the bass of the song to watch for kickdrum beats) and the power of that frequency band is measured. A running average of the past X number of power measurements is calculated and compared to the current power. If the current power of the band rises above the running average this is defined as a beat. The software we used is available here, and you can get LabVIEW and theSound and Vibration Toolkit evals to run it.
A USB-DAQ device is wired to the Base of a Darlington Pair Transistor. When a digital high signal is sent from the DAQ device the transistor will switch, allowing a power supply to flow through the igniter. The igniter is comprised of a low resistance, low power resistor coated with pyrotechnic material. When the current from the power supply flows through the igniter’s resistor it overheats and ignites the pyrotechnic material, lighting the firework it is embedded in.
Very well done video, interesting and it kept my attention (which says something)
The code however is horrible with path constants like "C:\Documents and Settings\dfarrell\Desktop\Fireworks\Write to Card.vi". This alone will make the software not runable. The code also contains random disable diagram structures with no explanation on why they are disabled, and very little comments on what the code is actually doing.
Even so I can't wait to see some other DIY projects.