EX3 – Rainy Weather Controller


Siyue Liang (3165618)

Mahnoor Shahid  (3162358)

Jin Zhang (3161758)

DIGF-2004-001 Atelier I: Discovery

Documentation: Weather Controller


Project Description

We created an interactive umbrella that a person could use to control the rainy weather. The umbrella had three sensors to control the projection; stretch sensor, proximity sensor, and a pressure sensor.

The stretch sensor triggered the starting and stopping of the rain. The pressure sensor triggered the lighting and thunder on the screen and the proximity sensor controlled the speed of the rain.

We incorporated these sensors with the structure of the umbrella and how it moves when it is opened and closed. For example, the stretch sensor was obscurely attached to an arm of the wireframe. When the umbrella stretched, so did the stretch sensor and it triggered the rainfall.

The pressure sensor was glued to the bottom part of the handle where it would be to press and hold the pressure sensor with the umbrella.

The proximity sensor was taped to the fabric of the umbrella close to where a person’s head would typically be. Therefore it was easy to control the rain speed with the head position.


Materials and Techniques


Stretch Sensor

  • Stretch sensing fabric
  • Needle and thread


Pressure Sensor

  • Velostat (senses pressure)
  • Neoprene sheets
  • Sewing machine


Proximity sensor

  • Bare conductive paint
  • Paper, paint brush
  • Capacitive Sensing library in Arduino


Other materials used


  • Umbrella
  • Arduino and breadboard
  • Male to male wires
  • Two 1 megaohm resistors
  • One 10k ohm resistor
  • One 220k ohm resistor
  • Alligator clips
  • Needle and thread
  • Sewing machine
  • LED lights
  • Tape and a glue gun

Obstacles with code

We had some issues with the code in Processing. For example, the soundtrack in setup function couldn’t play for some reason so we tried putting it in draw function. It worked this way but also had a minor issue where if the person pressed the sensor too frequently, the sound would overlap repeatedly and take a long time to finish playing.  Another issue we had with Processing was that the values generated by sensors were very unstable that it was difficult for us to settle on a fixed range for each sensor as the value inputted kept changing.

Since we had never worked with CapSense before, we had to experiment a lot, in the beginning, to make the code work. The CapSense code caused some issues with the serial input.  Each time a new sensor was added, the sensor input wasn’t being read in the CapSense sketch serial port yet it was being read in other Arduino sketches. It took a while to debug. We commented out the millisecond function and had to put the reading of the analog inputs in void loop().


Obstacles with sensors

The stretch sensor didn’t have a large difference in its resistance when stretched and un-stretched so we tried to used a higher resistor.

The conductive paint sensor needed very high resistance for a larger proximity area so we combined two 1 megaohm resistors on the breadboard.


Last Minute Issues

  • Due to the fabric material of the umbrella, it was incredibly difficult to glue and tape the conductive paint sensor onto it. We tried multiple tapes and eventually found one that stuck for longer yet was still peeling off after a while.
  • The stretch sensor broke the umbrella wire so we had to re-sew it onto another arm.
  • The stretch sensor lost much of its elasticity and so we needed to edit the processing code multiple times to match the serial port inputs correctly.
  • The proximity sensor wasn’t working too smoothly for some reason but eventually worked properly.
  • We tried using the conductive thread as a wire which caused short circuits.
  • The rain sound wasn’t working in processing yet we got the thunder sound to work with the lightning. In processing, sometimes the audio would I expectantly stop working for no reason.


Discoveries and Lessons Learned

  • Using the CapSense library, we discovered that almost anything conductive can become a proximity sensor.
  • We learned how to incorporate the sound library in Processing.
  • We gained a lot of experiences working with fabric and sewing techniques.

Overall, It was a lot of fun working with sensors and we learned a lot in the process.  Doing this project we realized that there is a huge space left about sensor for us to explore and try out.


Project Context (Inspirations & References)

We got the idea of the weather controller because of the rainy weather that has been around recently.  

Neoprene Pressure Sensor:


  • We used the conductive thread technique in this tutorial and elongated the shape of our sensor to wrap around the handle of our umbrella

Conductive Paint Proximity Sensor:


  • This tutorial and youtube video was very helpful in building a basic proximity sensor with the CapSense library

Troubleshooting with the Cap Sensitive Library:


  • Learned about what resistor we should use for the desired response and how the library worked.

Sewing Machine Guide:


  • We needed to use a sewing machine to construct our pressure sensor neatly.

Using Sound Library in Processing:


  • Used this tutorial to import rain and thunder sound files in our processing code.










References:  https://www.openprocessing.org/sketch/595792





Rain starting with the stretch sensor and the speed is increasing with the proximity sensor:


Thunder sound and lightning with the pressure sensor:


Fritzing Diagram:


Leave a Reply