Introduction: Time Fountain

Hi!! Our names are Tea and Srihari, we built a levitating water project as our SIDE project for Ms. Berbawy’s Principles of Engineering Class 23-24. 

This project is an optical illusion using a strobe light effect. As water drips at a continuous rate, the water will give the illusion that it is floating upwards or is staying in place because of the timing of the strobe light. This is a fairly time-consuming project because of the circuit. We followed the JF Time Fountain instructable by Jollifactory. The main differences are that our circuit was made on a breadboard, and we created our own structure.  

Through this project we learned more about circuits and worked with various materials and tools.

Supplies

Here are the materials, tools, and resources we used to complete our project!

Supplies

1 Fqp30n06l Mosfet

1 Photoelectric sensor

1 Water pump

3 tubes (came with water pump)

1Solenoid Valve

1 LED strip

1 Push button switch

Polyterracotts white PLA

2 cable ties

3 12k ohms resistor

1 Breadboard 

Solid core wire 

3 330 ohms resistor

3 Diodes

3 50k ohm potentiometer

4 M3 screw and nut

4 M3 standoff

1 Arduino Nano

4 Acrylic sheets 24in. x 12in. x 0.25in.

Clean and shine (for the acrylic)

Acrylic cement

Clamps

Right Angle Ruler


Tools 

Laser cutter

Solder station

3D printer 


Software

Adobe Illustrator

Autodesk Fusion 360

Prusa Slicer

Step 1: Create an Outline

Before starting the project itself, we wanted to create a strong a roadmap to follow. This would help us stay focused on the features that we really wanted and not veer off into unnecessary details. We decided that we wanted to be able to fully control all of our important variables externally (without editing the code). We also wanted to make the wiring accessible, for trouble shooting and variable manipulations. These constraints allowed us to lay out our plan (as shown above) before we started designing or buying components.

Step 2: Create the Schematic

We followed the schematic from JF Time Fountain and recreated it on a Fusion 360's electronic designing software. The circuit consists of five main portions: power, potentiometers, sensor, button, and outputs.

The power rail is where all of the components draw their power. We used 2 different sources of power, one 12v rail, and another 5v rail. The grounds of both of our power sources are also connected to allow for easier wiring. The 12v rail is powered by an outside source (battery or wall plug). This 12v rail powered the Arduino, solenoid, water pump, and LEDs. The 5v rail (supplied by the Arduino) powers the potentiometers, button, and sensor.

Double check all of your wiring before moving on to the next section.

Next we added the potentiometers by connecting the center wires of each potentiometer to A0, A1, and A2 on the Arduino respectively. Then we wired 5v power and ground to the corner leads of the potentiometer. This part of the circuit will regulate the water flow, strobe frequency, and LED brightness in Mode 1 (more details in step 3).

To build the sensor part of the circuit, we connected the power and ground leads of the photoelectric sensor to the 5v power and ground from the Arduino. Then we connected the data wire to pin d4 on the Arduino. This sensor will detect the droplets ands correct any flow changes required to have the system continue running.

The button is the simplest section. We connected one end of the button to d6 and the other end to ground. The Arduino will sense whenever the button is pressed, switching modes.

Lastly, we wired our outputs. The wiring is identical for all of the outputs beside the digital IO pin on the Arduino as shown in the schematic diagram above. For each, we ran our signal through a 330 ohm resistor. Then we split the signal, connecting one end to a 12k ohm resistor, then ground, and the other end to the gate of the Mosfet (transistor). Our diagram shows the pinouts to the Mosfet. We connected the source of the Mosfet to ground. We split the signal coming out of the drain, sending one side to the output (solenoid valve, LEDs, or water pump) and the other to the anode of the diode. Lastly we connected the other side of the diode to our 12v rail and the positive end of our output.

We spent a lot of time doing research to better understand how things function. The solenoid valve and the transistors were components we were not familiar with and our research helped us better understand specific aspects of the code and schematic.

Step 3: Create the Circuit

Before making the circuit on a breadboard we made sure to test all the individual components, specifically the outputs to weed out any faulty components. As we wired each section, we made sure to test and troubleshoot them at the same time. This enabled us to narrow down and solve any potential future issues. After we finished wiring everything with dupont wires, we switched them out for solid core wires. This switch was necessary due to clearance and connectivity issues with the original dupont connections. After we created the circuit on a breadboard, we designed a PCB on Fusion's electronic design software. Unfortunately, we were not able to print this circuit board, but we have included it below to be used by anyone who would like to make this project.

Step 4: Coding the Arduino

We uploaded the code from JF Time Fountain onto the Arduino. Being newer to code we went in and annotated the code to understand it better. Simply put, these were our most important notes:

  • Mode 1: Default mode
  • all variables can be changed via potentiometers
  • photoelectric sensor help stabilize solenoid valve (all other modes don't use this)
  • Mode 2: Demo mode
  • No variables can be changed
  • Frequency of valve = frequency of base (45)
  • Mode 3: Laminar flow
  • means to levitate in place rather than flow in reverse
  • Mode 4: Water flow test
  • Once false ends it exits the loop
  • Debug Mode: (un-comment #debug to change to debug mode)
  • Checks everything works
  • Ensures all given inputs function
  • Mistakes can easily be corrected
  • Numbers delay in milliseconds

Step 5: CAD Insert

After we had the electronics configured correctly, We designed a CAD insert in Fusion 360 to hold both the water and our electronics in place. This piece will slide in and out of our acrylic casing. We printed our CAD insert on a Prusa XL, so we were able to do it in one piece. Make sure to check that the design fits on the build plate of your 3D printer before you print. The basic outline we used to build this chassis is as follows:

  1. Creating the reservoir: We created a sketch of the bottom profile of our insert (7 x 6.25) with a tolerance of 0.2 mm. We then offset this square by 0.25 in. We extruded this outer section up by 3.75 inches, and the middle section by 0.25 in. We then created a new sketch on the top of the extruded section and projected the bottom of the reservoir. We then extruded this projected section up 0.25 in, making sure to fillet all of the inner corners before doing so. Lastly, we drew a rhombus using the line tool and a reference circle, extruding it back into the reservoir to create a diamond hole for the water to flow through.
  2. Designing the diffuser: We made a sketch on the back of the reservoir (the 7 in side). We drew a 5.75 x 7 in rectangle extending off of the top of the reservoir. Then we extruded this section. The length that you extrude this section will vary based on the nozzle size of the 3D printer you are using, since it needs to be extruded to a length equal exactly 2 layers of filament. Since the printer we use had a 0.4 mm nozzle, we extruded it up by 0.8 mm. Lastly, we created a top of our diffuser to hold the water pump and solenoid valve. To do so we made a sketch at the top of the defuse that is 0.25 x 7 in (remember to keep same tolerance used in step 1). We extruded out this piece by 5.5 in. We then used the same rhombus created in step one to punch out an identical hole in the top.
  3. Making the supports: We created a sketch on the front of the diffuser. This sketch consisted of two 0.5 x 6 in rectangles on ether side of the reservoir. We extruded these rectangles out by 2 in. We also created 0.5 x 0.5 in squares adjacent to the previously-created supports on the top of the reservoir. These sketches were also extruded the same length as the supports. Lastly, we created a 0.3 x 0.3 in square hole on the second support. This hole goes all the way down to the reservoir, allowing the tube from the pump to feed into the water.

We provided the file we used for our CAD insert below, so feel free to use and edit it to your needs. The file that is included does not have the screw placements that we used, as this is very specific to your own design. We placed the CAD design into fusion, and printed it with default PLA settings.

*Diffuser + reservoir is the file we printed, while casing is just a put-together model*

Step 6: Create the Casing

To ensure stability and a clean look for the structure we made an outside casing out of acrylic.

When we attempted to make the fingers to connect our box together, we struggled to have a consistent finger size. Due to these difficulties, we created the box using Maker Case. The box had the dimensions of 12in. x 8in. x 8.5in. We cut out a section off of the front panel to be able to see the water droplets. All of the alterations were made on Adobe Illustrator. We then cut the acrylic on our laser using the settings listed above.

To join the box together we used acrylic cement. We used toothpicks to apply the cement. We had to use a lot more than originally anticipated due to the large size and wall thickness of the box. We glued all sides of the box except the back. We did this because we wanted to be able to remove the back panel regularly to inspect and maintain all of the electronics. We had to work fast because the glue cured quickly. We put the cement on both the inside and outsides of the joints. The cement melted the acrylic together, creating a strong bond. We worked on one edge at a time and once it was done we used clamps and right triangles to make sure the panels stood straight. We made sure to do all of the sides in one shot, allowing the box to dry in the correct orientation. Once it was all assembled and clamped we let the casing sit for close to 2 days to dry.

Step 7: Printing

To print the CAD insert, we sliced our 3mf file in Prusa Slicer. We cut off the front of the reservoir and added peg connectors to it. We then used the support enforcer to support the opening at the top for the water. The 3mf file we used to print the casing is provided below.

Step 8: Assemble

Lastly we spent a few days assembling all of the parts we created over the past few steps. The assembly process for us was very nerve-wracking, but we ended with a beautiful finished product. We stuck on the breadboard and used the pre-created holes to screw on the water pump, solenoid valve, and photoelectric sensor. One thing that we did that helped us assemble was to test the water system and strobe light in a tray before we put the acrylic box on. This was because if water does spill into the acrylic, it can make a mess, especially if "Clean And Shine" was used prior to the test. On top of that, we used a bit of magenta water-color in the water to make it more visible. We appreciate all of the support that we got throughout this project from Ms. Berbawy, our parents, and the original JF Time Fountain Instructable. We used this Instructable as a heavy guide for both our electronics and code. Thank you so much for reading through our Instructable and if you do come around to making this project yourself, please do tag us in the comments. We would love to see what you guys have made! Thank so much, and happy making!


*If you increase the video quality you'll be able to see the droplets "moving up" more easily.