This project is using the Arduino Mega and 32 relays to individually trigger fireworks. This is a very easy build and the software maybe the simplest you will find.
The timing of the fireworks are in 100ms increments and the current going to the e-matches come directly from the battery through a relay. So you can launch multiple fireworks at the same time.
The project build is here. I hope you enjoy. Beware of my dry humor.
I've built another firework controller last year using the an Arduino Nano. Except it had 50 outputs, sounds weird that a smaller controller had more outputs, but I did a silly thing with addressable LEDs to get the outputs I needed.
That video is here if interested.
Last Years ModelSo there were some issues with last years model. What I liked about it was that the outputs were addressable. I could trigger more than one output at the same time. But, there was only so much current that this technique could handle. So at most, it would only light off 2 e-matches at the same time.
The other major issue was that it wasn't a great idea to use light sensors to trigger bright fireworks. Because I printed each box 1.5mm thick, the light from the firework did not cause any issues. But just in general, don't use a light sensor to trigger bright fireworks. You could make a real life infinite loop.
ImprovementsFor this year, I took the things I really liked about last years version and kept the idea. I liked that multiple fireworks could be triggered at the same time. I also liked the 100ms timing resolution for triggering the fireworks. This seemed easy to work with.
I lowered the outputs from 50 to 32. One because it is a multiple of 8 but also I found out that 50 fireworks isn't necessary because 1 fuse can light several fireworks if the fuses are tied together or linked. I also decided that relays would be the best so that I could use the full current of the battery. This would allow multiple or all the fireworks to lite at the same time if desired.
The BuildI've mentioned this before, but you do not "need" to print anything for this project. At the simplest level, you can connect all of the outputs from the Mega to the relays and mount them on a piece of wood and be done.
Only build the platform if you really want to.
Purchase componentsThere are affiliate links provided in the YouTube video description. But you can search for the components yourself if you'd like. All parts I purchased are below:
I also purchased screws and threaded inserts but not 100% necessary to build this. Especially if you choose the mount-to-wood solution.
Lots of things to print. It took me about 24 hours in total of printing. Unbelievable, are 3D printers going to get faster or do I just have a slow one?
All STL files are featured below. Here is what they all look like.
I also printed a helmet for the controller. Which you also don't 'need' but make sure you protect the controller some how. Maybe just set it inside a box.
It is best to wire up the relays now instead of trying to mess with them later. I used the ribbon connector because the nicely group wires together.
Build the base with the relays in place. This picture should have the relay wires installed, that is why I know to install them in the previous step.
Next you will need to install the 'Micro Mount' and the 'Mega Mount'. Afterwards you should be able to install the Arduino Mega on top. At this point, you should program the Arduino with the baseline code (link below). If not, the default program on the Arduino will turn on all of the relays because they are active low.
The connection shield makes it really easy to wire up the 32 digital lines and supply power to the Mega. I used it, but you don't have to. Then connect all 32 wires from the relay arrays.
Next place the helmet over the controller. This will help protect it from firework stuff falling from the sky.
All of the relays will be daisy chained together with power from the battery. The battery will be any 12v or 6v you connect to it. I use a 12v battery from my kids power wheel.
I chose to use a common ground. You can also wire each relay up with a ground but I thought it would be easier to have a ground distribution block.
You should label the outputs so you know what firework goes to the timed output. Maybe even name your firework controller like I did.
That is it! Hope you make an awesome show.
Comments