Intro: Beach Boombox
It is a shiny “water-proof sound activated float-able stereo system” It uses Arduino in heart to create RGB light scene base on data coming from MSGEQ7 Audio spectrum analyzer.
Oh ya, Perfect for moments you like to be accompany by a powerful Stereo system in parties on the beach or swimming pool, light dances with music :)
It is all started with a few items I had collected in different places and times, and a brain storm around them. The lead part of the idea of this project was a second hand “YayLabs Ice Cream Ball” from pawn shop down the road for a few dollars, I realized it could be a perfect to put a pair of 6” speakers and some home made WS2810 RGB LEDs strips around the coil of speakers. I had the Zinc cast box with no lid, it could house the class D amplifier I have got from e-Bay, Arduino Pro Mini and all of circuitry, and also importantly it can perform as heat sink since the Amplifier IC needs some how to cool down during operation.
Step 1: Preparation of Plastic Body, Components and Parts
Enough with introduction let's go through steps.
Firstly, Preparation for body
BASE FRAME: I needed a base to hold everything as one unit, and besides, has to be sealed and clear to let the light shin through. I designed a frame that could be cut from epoxy-glass sheet.
FISHING CASE: Got a right sized water-proof case to put 12V Baterry, Bluetooth receiver, phone, or MP3 player. Some holes needed to pass wires to inside the Zinc box attached to back of BASE FRAME.
SILICON CASCADE: cut from silicon extracted from Fishing case to seal Zinc-box.
CLEAR SCREWS: clear counter-sink machine screws.(I am not sure where I got them from you can use metal one)
Step 2: Preparation of Electronics, Components and Parts
Secondly, Preparation for electronics:
CLASS D CAMPFIRE: Bought it from E-Bay store.
ARDUINO PRO MINI: I had some hanging around.
WS2810 strips: I have made them from flexible clad and used 6 sections at each side (look at the attached file)
SPEAKER AND DATA CABLE: Made from flexible clad they will connect Arduino to WS2810 and Amplifier OUT to speakers.
KEYPAD: Made of 5 buttons, housed in Epoxy-glass bar to control Menu items they are (MENU), (UP), (DOWN), (VOL+), (VOL-)
I have followed the drawing, Amplifier and Arduino on each side will interact with the board on Audio signals, I/O pins and Keypad pins, power source and so on.
Basically, Once Battery powers up the system, there will be 2 power lines main VCC 12-24V from battery and VDD 5V from Voltage-Regulator 7805 for TTL components. Audio signals will enter the board and shared to inputs of both MSGEQ7(s) and DS1868, with DS1868 chip Arduino can control the Audio Levels before they get to 2 inputs of 4 channel class D amplifier.
Now Arduino will monitor the Keypads and data from MSGEQ7. (only one in this program)
Step 3: Installation and Wiring
Putting all this parts together
A) Glue the Flat Data Ribbon Cable from center toward left and right on face of BASE FRAME. Tap 4 screw holes on each side then screw the speakers to their positions with clear machine screws, and use little silicon to seal them.
B) Wrap 6 x WS2810 flexible clads around each speaker coil Solder them to its Flat Data Ribbon Cable and also solder the speaker pins. The other ends of Flat Data Ribbon Cables will be connected to Motherboard and Amplifier outputs inside the Zinc box.
C) Glue the Repaired Keypads and pass its wires under the Fishing case Glue and screw all together, at this stage all wire ended up behind the frame ready to be connected to Motherboard.
D) Connect 4 lines required for WS2810 chips of each side to the Motherboard then connect Amplifier outputs to their specific lines. Add some heat-sink compound to the chip and put the cascade before you close the Zinc box followed by 4 screws from inside the Fishing case.
Get ready for test, I was very excited at this stage :))
Step 4: Prepration of Code and Functions
adafruit library has been used to control WS2810 chips.(thanks)
Essentially, Program has to create color for every band of 7 bands decoded by MSGEQ7s and populate an array that later on in program will executed and sent to left and right for RGB LEDs to shine.
Farther improvement can be achieved by adding custom made routines in between of tones so it will have more desirable results.
Step 5: Run and Test :)
Finally, I uploaded the program to Arduino through the ribbon cable with USB to TTL breakout board. If you connect the Battery or power supply to the system remember to disconnect the VCC in ribbon cable, you don't want to have two power sources cladding together.
The level of Audio will have dramatic effect on the light show
Step 6: Final Notes:
Some notes about components:
I could not find 2 MSGEQ7 chips identical to one another, I am not sure if it is because I have purchase them from e-Bay or there is another reason. I could only manage to find 2 similar ones out of 10, But in the program I only read one of them not both. I used wire wrap and some foam gulf balls to increase floating rate, and creating handles around the base. Overall performance is better than I expected considering cheap components and short code file. I like to improve the lighting functions to more exciting one a mixture of sensation and some routine dance in when music slow down and more. The design is very flexible since I am using WS2810 chips.
And, we are reaching to the end of this chapter for now. Anyway Thanks to all of hard working individuals whom dedicated their time to the DIY community, I am glad that I am part of a bright future and I encourage you to be part of it too. You feel free to expand the project how ever you like.
any concern and comment welcomed.