Introduction: An Improved SoapFilmScope

About: I am a curious scientist and dedicated teacher, supported by two loving little assistants.

In a previous Instructable, the SoapFilmScope device was introduced to explore the properties of soap films excited by acoustic vibrations from a microphone.

This new Instructable presents an improved version of the initial prototype, enhancing its versatility and capability for additional experiments.

One major impractical aspect of the old design was the manual restoration of the soap film after it burst. The manual soap dipping mechanism to restore the liquid film caused interruptions during the experiment, which could be avoided by automatically reforming the film. Additionally, the design of a new ring support allows adjusting the orientation of the T-shaped pipe to position the film horizontally rather than vertically. This can turn out to be useful for different types types of experiments with soap films.

In this Instructable, an Arduino-based microcontroller interface to control an automatic soap film-forming device is presented. The new SoapFilmScope support and soap film-forming device are built using 3D printing.

Supplies

For this project, you will need:

HARDWARE

  1. Base for the Electronic Control Board: I used a connecting joint plate made of heavy-duty steel sheet metal, measuring 100x200x2.5 mm. This plate was equipped with four 3D-printed legs to create separate platforms. The holes in the plate were used to anchor the electronic boards with pegs that fit into the base’s holes.The construction of the base is described in one of my Instructables.
  2. 3D Printer and Slicer software: All the 3D-printed parts were created using 1.75 mm PLA filament.
  3. Two M4 x 10 Machine Screws: These screws secure the two halves of the ring to the T-shaped tube. Bolts of the same size can also be used if a tighter connection is needed.

ELECTRONICS

  1. Arduino Nano + Expansion Board: The project’s microcontroller is an Arduino Nano.
  2. SG90 9G Micro Servo Motor: This servo motor moves the sponge blade of the wiper.
  3. Joystick Module: Used as the input device to control the Arduino program.
  4. 16x2 1602 LCD Display + I2C Serial Interface: This display serves as the output device for the Arduino program.
  5. Smartphone with Small Tripod for Photos: I used an iPhone 10 for photography.

Step 1: 3D Printing the New Parts

New Ring Holder Support

The updated SoapFilmScope design allows for various orientations of the T-shaped pipe (see Figure 1). This modification includes a vertical support to hold the ring and tube. The new standing holder provides two support points: one positioned as in the original support, and a second, higher support with two cylindrical notches at the top of the new support. These additional orientations for the SoapFilmScope are shown in Figure 2.

To implement this change, 3D print the “NewRingHolder” STL file, or modify the code in the provided OpenSCAD script to customize it for your setup and generate the necessary STL file for printing. Both the STL and OpenSCAD script create the holders in a standing orientation. Before printing, use the slicer to split the parts and lay them flat on the printing plate.

Step 2: 3D Printing of Soap Film Forming Wiper

Soap Film Forming Wiper

The two additional STL files are for printing the soap film wiper mechanism, which attaches to the T-shaped tube of the SoapFilmScope using a ring connector secured with two screws. The ring connector also holds the SG90 servo to the T-shaped tube. The two halves of the ring are fastened together with screws, while the servo itself is mounted to the holder with two small screws. The blade includes a rectangular cavity designed to hold a flat sponge, which can be sourced from electronic packaging material. The sponge fits snugly into this cavity and is secured with adhesive. Before attaching the blade to the servo rotor with a small screw (see Figure 2), soak the sponge (Figure 3). To improve stability when the device is in a horizontal position, a small magnet can be attached to the cap on the opposite side of the T-shaped pipe, as shown in Figure 4.

Step 3: Arduino Controller

The figure shows the Arduino Nano controller controlled by the attached program that allows to set and move the soap-forming device. The program is designed to control a servo motor in a wiping mechanism with adjustable speed and angle settings. The user interacts with the system using a button and an LCD display, with parameters such as the upper and lower servo angles and wiping speed saved to EEPROM to persist between power cycles.

The LCD display provides feedback to the user, showing the system’s title initially and later displaying the menu options. Each press of the button initiates the wiping action of the servo, moving it from one defined angle to the other with controlled speed. The user can also adjust the upper and lower limits of the servo’s movement and the wiping speed, which are saved in EEPROM for future sessions.

The servo motor connects the signal (yellow or orange wire) of the servo to digital pin 12 on the Arduino.

The joystick module is connected to digital pin 2 on the Arduino.

The LCD Display (I2C) has the following connections:

SDA: Connect the SDA pin on the LCD to the Arduino’s A4 pin (for Arduino Nano/Uno).

SCL: Connect the SCL pin on the LCD to the Arduino’s A5 pin.

Power and Ground: Connect the LCD VCC to the 5V pin and GND to the ground on the Arduino.

In Figure 2, the program menu display items are shown.

Servo Wiping Action (Menu item 1): Each press of the joystick button moves the servo from wiperUpperAngle to wiperLowerAngle (or vice versa) with controlled speed, allowing for a gradual movement. The adjustment of the parameters is done using the X and Y motion of the joystick. The wiping speed is adjustable, and the program waits between each incremental movement of the servo to simulate the desired speed.The adjustment of the parameters is done using the X of the joystick

Parameter Adjustment (Menu items 2 and 3):

The user can adjust the upper and lower angles (Menu item 2) and the wiping speed (Menu item 3), stored in EEPROM for persistence. When parameters (angles, speed, position) are changed, they are saved to EEPROM for future use. On each startup, the program retrieves these values from EEPROM to restore the last-used settings.

Step 4: Soap Film Forming Device in Action

The two animated GIF images show the wiper in action at two different speeds. In the first example, the speed is set to 10, while in the second, it’s set to 100. This number indicates the delay between each step of the blade’s movement: the smaller the value, the faster the blade moves. Faster motion can cause more disturbance to the liquid film, which may affect observations.

Step 5: Conclusions

In this Instructable, an enhanced SoapFilmScope is presented. It features an automated, Arduino-controlled film-forming device that allows for more convenient operation. The updated support structure also enables various orientations of the T-shaped device, broadening its use for a range of demonstration experiments. For instance, a horizontal film orientation can be used to explore fascinating phenomena, such as observing small droplets bouncing on the film. These additional features will be covered in detail in a future Instructable.