In March, we celebrated the 5th anniversary of our workshop “Sketching with Hardware”. In 7 days, 12 students learnt to use electronic components, to create new creative user interactions and realized their own physical computing projects. The overarching topic for this course was ”Bionics”. Again, at the final presentation the crowd had the chance to experience five extraordinary experience prototypes. During the following days, all projects will be presented on this blog. Today: Part 4, Blowfish!
What is it?
This years theme in „Sketching with Hardware“ was Bionics. Consequently, the task was to rebuild or reuse a natural and biological method. Our team decided to imitate the behavior of Tetraodontidae – that’s the family of fish with the ability to inflate their body to a ball-like shape in order to defend itself. In an outburst of pure creativity, we named our prototype Blowfish!
Blowfish is designed to puff up when users come too close or are too loud. Somebody clapping hands loudly will find Blowfish doubling its surface. As puffers don’t like people coming too close, Blowfish inflates if one approaches it’s face.
To put it in a nutshell, Blowfish is an ambient display visualizing noise and distance in a striking way. Just put it in one of your room’s corner and you’ll always know whether or not your shouts about an exiting soccer game will disturb your neighbors.
How does it work?
The basic building blocks of the prototype are:
- printer slide
- metallic arm that pushes the umbrella
- relay, switching the motor direction
- front emergency button to switch the direction
- clap sensor
- distance sensor
- microphone in combination with processing
- serial connection → Arduino → control motor power
The basic concept is to push the umbrella open, by moving the carriage of a printer slide.
In order to extend the reach, a metallic arm is mounted on the moving carriage.
In the same way a real blowfish deflates it’s body after a certain amount of time, our blowfish has to reduce it’s surface area. This is achieved by moving the printer slide backwards which in turn drags the umbrella shut. On a more technical level, this means that the motor powering the printer slide has to reverse it’s direction. The exact components of how this was achieved are detailed in the next section Lessons learned.
As the motor power is controlled via an Arduino, it was possible to install an emergency button at the front end of the printer slide that notifies the Arduino each time the umbrella is opened completely.
After a fixed amount of delay, the Arduino switches the motor direction and gives power to the motor in order to close the umbrella.
As blowfish is sensitive to noise, the prototype requires some kind of sensory input to recognize sound volume.
The Arduino is connected via USB to a laptop which functions as the power-source. In addition to providing current, this connection can also be used to control the Arduino’s program logic from software, for example by using Processing.
The principle of operation is as follows:
Microphone input → Processing → check threshold → notify Arduino via Serial (USB) Connection → Arduino initiates ‚alarm function‘ (starts motor) → umbrella opens
In addition to volume sensitivity, blowfish also react to physical distance. This ability is reproduced using an IR sensor which is directly connected to the Arduino. The Arduino’s software computes median values from the sensor’s raw input in order to dampen the signal’s oscillation. Finally, a threshold check is performed and the ‚alarm function‘ called when the signal is above the set threshold.
How to switch the direction of a DC motor?
As stated above it was crucial for the blowfish project that the device is capable of closing the umbrella, in order to deflate the blowfish body. That means that the motor of the printer slide has to be able to move forward AND backward. This can easily be achieved by consecutively supplying positive and negative voltage to the DC motor. Theory is often so easy … while bringing this concept to life in a working prototype is not, especially not for non Electrical Engineering students.
After further research, we discovered that it’s possible to use an H-Bridge to apply voltage across a load in either direction. We implemented a circuit using relays to allow the DC motor to run forward and backward. In fact, two relays are used. One to stop the motor and one to switch the current flow.
The basic idea is to use a DPDT (double pole double throw) relay which separates two differently polarized circuits. Without activating the relay, the motor is +/- connected. When voltage is applied to the relay (the switch inside changes its position) the motor gets -/+ connected and runs in the opposite direction.
Oil and measuring matters
Designing the lever or arm pushing the umbrella open or pulling it shut guided us to the field of solid handcraft. Metal bars needed to be cut, bended and drilled. We soon found that accurate measuring simplifies mounting and unmounting of components. But if it comes to grinding metal devices due to not perfectly matching screw holes oil helps you out.
Parallelize your work
As we were a team of three students with a rather challenging project, it was necessary to split the work between each of us. We had to carefully think about which step could be done at what time. Team organization included classifying the steps into mechanic, electronic and informatic work. Thus each of us could work at the same time at a different desktop. For example one team member implemented the clap sensor, while another one was soldering the electrical contacts and the third one designed and cut the materials for the final casing.
Values and potentials
The most apparent use case for our prototype is it being installed as an ambient display.
Using it’s distance and noise sensors, the blowfish reacts to noise by inflating and deflating it’s volume.
Congruent to this use case, it could be employed as a funny danger sign, expressing:
Don’t come too close!
(near a freshly painted wall, a wet floor, a hot surface …)
To further increase the social component of the protoype, we plan to implement intermediate steps of inflation. This way, the blowfish can express his mood in a more differentiated way.
These intermediate steps of inflation could also be used to simulate breathing behavior.
This feature would dramatically increase the prototype’s impression of being alive.
Another attachment which will possibly be added to the prototype are movable fins. These would enable further forms of social interaction, for example expressing a ‚greeting gesture‘ by shaking the blowfish’s fin.
And finally: A video summing up the development process as well as the final presentation of the blowfish!