Introduction: Sound and Fire Tube
While looking at various projects on the tinterweb I saw a couple of things I liked, a fire / flame effect and a sound level meter, so why not combine them into one?
I have a 3D printer and various bits so this was a quick (not counting the 9 ish hours of printing) job.
All you need is some clear filament and a colour of your choice, or just more clear if you want. In the words of Bob Ross, its your world and you can do what you want in it.
First off, get some bits on order (see step 1)
While you wait for those to arrive get the printer out and set to work printing (see step 2)
Assemble the parts (step 3) then sit back and enjoy :-)
See step 1, I didn't know this bit was here :-)
Step 1: Parts List
I had most things kicking around from other ongoing projects and this is the short list of bits you need, these are all from Aliexpress but are available all over the place (Google is your friend!)
1 Arduino Nano (or similar)
2 WS2812 144 LED strip (only used 20 on the larger and 16 on the short version)
3 MAX4466 mic with preamp
4 Slide switch or latching push button
6 1 x 10K resistor
7 Access to a 3D printer
Step 2: Get 3D Printing!
There are only a couple of parts to print and the tube is done in two lengths, the shorter length is set up for 30 pixels per meter and the 150mm tube is adapted to take the 144 pixels per meter (they are wider which I didn't realise!)
I did the locating ring which you glue to the bottom of the base, you don't need it but it makes life a lot easier, hot glue or superglue that puppy onto the bottom of the larger cap.
The caps are just push fit into the tube but you can glue them in once you have confirmed everything is working.
On the base the tiny hole on the front was supposed to be for a push switch (mounted inside the base) but it turns out the "latching" switches don't latch, so I filed it out and added the slide switch instead.
Step 3: Shove Code Into the Arduino
I used a 168 Arduino Nano, plenty of room for the code and they are cheaper than the others.
Upload the code using the Arduino IDE, you can get that from arduino.cc
I used the V1.8.5 as it the one installed on this PC and is compatible with another ongoing projects.
There are only a few notes in the code, obviously your pins and number of pixels you need to be aware of.
count up your pixels and amend the N_PIXELS 20 to how ever many you end up using.
You can adjust the sound sensitivity via the gain pot on the mic or by adjusting the INPUT_CEILING 900 (see notes)
Step 4: Wiring Time
I don't have a wiring diagram for this but to be honest you don't really need one:
Digital Output Pin 2 on Arduino to the center of the latching switch
One side of the switch to 0V
Other side of switch to 5V via a 10k resistor
Gnd to 0V
DI to Pin 6 (Digital out 6) on the Arduino
5V to (you guessed it) 5V
OUT to A1 on the Arduino
Vcc to 3.3V AND Aref on the Arduino
Gnd to 0V
USB breakout (optional):
I simply used the 0V and 5V pins to the Gnd and V in on the Arduino so my PC doesn't see the port every time I power it up.
That is about it!
Step 5: Enjoy!
Assuming everything is OK you can now select between a flame effect or a sound effect.
Just sit back and enjoy :-)