Useless Machine - Rain Chime
This is a rain chime. It is designed to sense water ( rain ) that gets collected and filtered through a funnel, and drips down. In response a bell sound is produced, and the water is released onto the ground again. The water sensor senses water, and sends a signal to the servo motor with a string attached to the clapper, which then spins to pull the clapper (flathead nail) towards our bell (copper pipe) and produce a ringing sound that lets you know its raining. However, the machine never lets you know how much its raining, just that its raining, and all the rain it is supposed to collect ends up getting dispensed back onto the ground.
Supplies
Arduino UNO R3 board
Water Sensor
Breadboard
Connection Wires
Servo motor
Hot glue
Stainless steel
Copper pipe
meal nail/screw
3D printed funnel
Designing the Sculpture
The first step was designing a form that was both sculptural, but would also allow us to attach and hide most of of the components (from the front at least). We chose copper and steel as our two, which was a nice material contrast and also had a rigid structure. We cut the sheet of metal and bent it in multiple places to create one continuous form, and with the addition of one steel sheet, and one 3D printed funnel, we had a form that would redirect water twice, to reach a water sensor and activate the signal.
The Arduino Code
Water Sensing: The code continuously listens to the analog sensor at Pin A0 to detect the electrical bridge created by water.
Threshold: It uses a specific logic gate (the if statement) to ignore minor electrical noise and only trigger when the reading exceeds your specific threshold of 50.
Movement precision: Once triggered, it commands the servo motor to move to a precise coordinate of 100 degrees.
Timing & Recovery: The code manages the physics of the machine by giving the motor 100-200 milliseconds to reach the pipe before pulling it back to avoid muffling the sound.
Rate Limiting: It enforces a 1-2 second "cool down" period to ensure the machine doesn't strike repeatedly while a single droplet is still sitting on the sensor.
The Arduino Connections
1. Power Distribution The Arduino UNO only has one 5V pin, but both our water sensor and servo motor needed that exact voltage to survive. We solved this by turning the breadboard into a power splitter.
- The 5V Line: A wire connects the 5V pin on the Arduino to the long Red (+) rail running down the side of the breadboard.
- The Ground Line: A wire connects a GND pin on the Arduino to the long Blue/Black (-) rail right next to it.
- Result: You now have an entire column of 5V power and an entire column of Ground, ready to feed multiple components.
2. The Sensory Input (The Water Detector) This is how the machine understands to send a signal. The water sensor module acts as the trigger.
- Power & Ground: The sensor's VCC (+) pin connects to the breadboard's Red rail, and its GND (-) pin connects to the Black/Blue rail.
- The Signal: The S (Signal) pin connects directly to Analog Pin A0 on the Arduino.
- Result: When a water droplet hits the metal traces, electricity flows across the water, and Pin A0 measures exactly how strong that connection is.
3. The Mechanical Output This is how the machine interacts back with the world, taking the energy to swing the clapper.
- Power & Ground: The servo’s Red wire connects to the breadboard's Red rail, and its Brown wire connects to the Black/blue rail.
- The Command Line: The servo's Orange wire connects directly to Digital Pin 9 on the Arduino.
- Result: The motor sits fully powered, waiting until Pin 9 sends the electrical pulse telling it to swing 100 degrees and strike the pipe.
Callibration/Testing
This is a finalizing step, done in the code in order to finetune the exact striking points and durations of the copper pipe. The striking angle of the servo is adjusted to be bigger or smaller, in order to reach a path that hits the copper pipe for just enough time to get a ring, but not muffle the sound. The threshold tolerance of the water sensor is also adjusted from 0 all the way up to 100 to test how reliabel it is while no water is on it, but other signals from the atmposhere are interfering with it and potentially causing false triggers.
Scrapped Ideas
Some scrapped mechanisms for striking the pipe included a DC motor with a multi joint arm, and a different placement of the servo motor. The DC motor was too strong, and not precise enough since it would only do full 360 degree rotations and controlling the timing for precision was much more difficult. The other placement of the servo motor included the mallet as part of the servo, which was much better, but still inconsistent and sometimes would not strike the pipe.