Project development

SLIDE


PRESENTATION VIDEO


1. Description

The objective of my project is to create a system capable of reproducing and interpreting audio, generating a relaxing light and water show.

The hypnotic effect of the combination of music, light and water movement can serve to relax anyone, especially nervous or hyperactive people.

My idea is to make a decorative fountain with mobile jets and lights that synchronize with the music. The device analyzes the audio spectrum, to separate the audio into different frequency bands (tones), managing to synchronize the different lights and water jets with each band.

This device includes speakers to play the music.

The music is sent to this device via:

  • Bluetooth from a mobile phone.

  • Microphone, the music is sent to the device by microphone, so that it would allow to interact with live music.


2. Spiral model diagram

The objectives of my project are:

1º Decorative fountain with lights synchronize with music that sound by speakers. Audio input by microphone.

2º Mobile water jets syncronize with music.

3º Communication bluetooth to mobile phone.

4º Musical keyboard.


3. Inspiration

This idea is inspired by something wonderful that I saw during a trip through Budapest. In Margarita Island there is a spectacular musical fountain. You can see it in the following video:

I don’t think I do something so spectacular, but I think it’s great to decorate my living room.


4. Animation

Watch the video to check the result of the Blender fluid simulation tool !!!

  • Animation video:

Animation


5. Useful information about similar projects

5.1. Spectrum Analyzer Audio

5.2. ESP32

Info about ESP32

5.3. Microphone

-Video Config ESP32 with I2C microphone

5.4. Speakers

ESP32 and I2S Speakers

5.5. Music via Bluetooh

5.6. Water pumps

5.7. Leds RGB

-WS2812B


6. My Project Design

The design of my project is divided into the following parts.

  • Design of the fountain (parts that will be in contact with the water):

    • Selection of water pumps (one pump per water jet, in total 5 pumps).

    • Design of the water tank container and the upper surface of the fountain.

    • Design of the water diffusers that will give the direction of the water jet. I will also try to make the diffusers have movement.

  • Led lighting design:

    • Integration of the LED string in the fountain in a safe way, avoiding contact with water.
  • Outer shell design (no contact with water):

    • Distribution of the speakers, microphone, buttons, and wiring.
  • Electronic design:

    • Bluetooht communication.

    • Control of the pumps.

    • Control of the LEDs.

    • Microphone control.

    • Speaker control.

  • Programming:

    • Analyze the sound and transform it into colors and jets of water.

6.1. Design of the fountain (parts that will be in contact with the water)

6.1.1. Water pumps

I have chosen these mini water pumps, 5V. One for each jet.

6.1.2. Water container and the upper surface

The water tank will be made of composite material. Inside will be the mini pumps.

The development is described in the assignment (17. Wildcard week)

FILES:

The upper surface collects the water and leads it to the water container. It is made of transparent acrylic to allow lighting the jets from the underside, protecting the LEDs from the water.

I will make it using 5mm transparent acrylic by laser cutting.

FILE:

And the adornment that serves to prevent splashes I have made it by 3d printing.

Finally I glue the pieces using hot silicone.

FILES:

Finally, I have made the pieces that hold the acrylic surface on the water tank using 3d printing.

I glue the supports to the water tank using CEYS mounting glue.

FILES:

6.1.3. Water diffusers

I have designed 2 types of diffusers.

Four simple diffusers that incorporate interior lighting to illuminate the water jet from within. For it to work I have to achieve a laminar flow.

I designed the central diffuser to rotate moved by the flow of water.

I will make them by 3D printing.

SIMPLE DIFFUSERS

FILES:

ROTARY DIFFUSER

A spiral-shaped inner pipeline conducts water to the rotor.

FILES:

Test 1

You can download scripts here.

6.2. Led lighting design

FILES:

6.3. Outer shell design (no contact with water)

I have used 5mm plywood sheets.

I have made the circles using the large format milling machine SW1325, because they were too big for the laser cutter. I have used Aspire software to generate the gcode.

FILES:

I have cut the other pieces on the GCC LaserPro Mercury II laser cutter. I have used CorelDRAW software to control it.

Power = 100%

Speed = 1.5%

FILES:

6.4. Electronic design

I have to design a board with the following components:

  • Bluetooth communication. ESP32 controller, because it has bluetooth communication, it has many pins for inputs and outputs. And it is very powerful.

  • Control of the pumps. Output to control 5 pumps by means of A4953 drivers incorporated in the board.

  • Control of the LEDs. Output for RGB Chip LED 5V WS2812B .

  • Microphone control. Microphone input to a Electret Microphone Amplifier - MAX4466 with Adjustable Gain.

  • Speaker control. I2S output to a UDA1334A I2S Stero DAC module connect to 2 speakers (8 OHM, 500 MW).

  • Digital Amplifier Board, TPA3116D2.

My board

The development of my board is explained in the following assignments:

Initially I made a board that integrated the bluetooth speaker with the source control.

But finally I had to separate them into 2 boards because I did not know how to integrate the programming.

  • Dancing Jets board.It is the board that controls the microphone, analyzes the audio and controls the pumps and LEDs.

  • BT Speakers board. This is the board that controls the speakers and communicates via bluetooth with a mobile device to play the music.

6.4.1. Dancing Jets board

FILES:

6.4.1. BT Speakers board

This board connects to a digital audio decoder (DAC). The DAC will process data immediately, and give you a clear, analog, stereo line level output. And the DAC connects to an amplifier that powers the 5W speakers

FILES:

6.5. Programming

6.5.1. Dancing Jets board programming

The programming of this board is explained in the Assignment: Outputs devices

FILE:

6.5.2. BT Speakers board programming

I have programmed this board using the Espressif IoT Development Framework (IDF), you can see how to install and configure it in the Assignment: Embedded programming

In the toolkit there is an example to configure esp32 as bluetooth speakers. So we open the ESP-IDF Command Prompt .

And I follow the “Get Started” website [docs.espressif.com] (https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html) to program my esp32.

I type the path where the example is “a2p_sink”:

D:\esp-idf\examples\bluetooth\bluedroid\classic_bt\a2dp_sink

I connect esp32 with the slider in programming position and I see in the device manager the name of the port (COM11).

I open the Project configuration window typing:

idf.py menuconfig

Go to “A2DP Example Configuration”.

Set “A2DP Sink Output (External I2S Codec)”.

I configure the pins that I am using for I2S communication.

Save and exit.

I build the program typing:

idf.py build

Now, I load the program into esp32 by typing:

idf.py -p COM11 flash

Modifying a line in the bt_app_av.c file eliminates volume jitter. Just comment line 327


7. Material list

Component Source Price
Electronic components (Leds & Pumps board)
1 x PROTO BRD COPPER CLAD 5X4” DigiKey 1.22 €
ESP32-WROOM-32D DigiKey 4.18 €
SWITCH SLIDE SPDT 100MA 12 DigiKey 0.87 €
SWITCH TACTILE SPST-NO 0.05A 24V DigiKey 0.92 €
IC REG LINEAR 3.3V 1A SOT223-3 DigiKey 0.39 €
5 x IC Motor driver 8V-40V 8SOIC A4953ELJTR-T DigiKey 9.90 €
1 x CAPACITOR CER 1UF 50V X7R 1206 DigiKey 0.19 €
2 x CAPACITOR CER 0.1UF 250V X7R 1206 DigiKey 0.49 €
2 x CAPACITOR CER 10UF 35V X5R 1206 DigiKey 0.50 €
1 x RESISTOR SMD 10K OHM 1% 1/4W 1206 DigiKey 0.05 €
5 x RESISTOR SMD 1 OHM 1% 1/4W 1206 DigiKey 0.22 €
5 x RESISTOR SMD 0 OHM JUMPER 1/4W 1206 DigiKey 0.12 €
25 pins x CONN HEADER SMD R/A 36POS 2.54MM DigiKey 2.38 €
1 x TERM BLK 2POS SIDE ENT 3.5MM PCB DigiKey 0.51 €
Electronic components (Bluetooth Speakers board)
1 x PROTO BRD COPPER CLAD 5X4” DigiKey 1.22 €
ESP32-WROOM-32D DigiKey 4.18 €
SWITCH SLIDE SPDT 100MA 12 DigiKey 0.87 €
SWITCH TACTILE SPST-NO 0.05A 24V DigiKey 0.92 €
IC REG LINEAR 3.3V 1A SOT223-3 DigiKey 0.39 €
1 x CAPACITOR CER 1UF 50V X7R 1206 DigiKey 0.19 €
1 x CAPACITOR CER 0.1UF 250V X7R 1206 DigiKey 0.25 €
1 x CAPACITOR CER 10UF 35V X5R 1206 DigiKey 0.25 €
1 x RESISTOR SMD 10K OHM 1% 1/4W 1206 DigiKey 0.05 €
14 pins x CONN HEADER SMD R/A 36POS 2.54MM DigiKey 1.33 €
1 x TERM BLK 2POS SIDE ENT 3.5MM PCB DigiKey 0.51 €
Electronic/Electric components (Outputs, inputs,…)
5 x Mini Pumps DC 3-5V 3W Amazon 13.99 €
Adafruit I2S Stereo Decoder - UDA1334A Breakout Amazon 13.16 €
2 x Speakers, 8 Ohm, 5 W Amazon 24.80 €
Electret Microphone Amplifier - MAX4466 Amazon 13.99 €
19 x Digital LED RGB Chip LED 5V WS2812B Amazon 2.70 €
1 x Digital Amplifier Board, TPA3116D2 Amazon 6.55€
Other materials
3 meters PVC flexible pipe, inner diameter 7mm, outer diameter 9mm Amazon 10.99 €
2 x 5mm plywood sheets (60x120cm) Leroy Merlin 15.58€
1 x Deep groove ball bearings 608RS 8x22x7mm Amazon 1€
2 meters x Burlap Fabric 160cm wide Local shop 10 €
3 x Extruded polystyrene plate 125x60x4 cm LeroyMerlin 9.27€
1 x Epoxilay 102 resin Feroca 32€
1 x 100x50cm transparent acrylic sheet 5 mm thick LeroyMerlin 21.99€
Total : 208.12 €