Physical Computing, Case Study
“BLOOM” reacts instantaneously through a sensor which is visually represented via a Hoberman Sphere. When you breathe in, the sphere expands. And when you breathe out, the sphere contracts, mimicking the air capacitance of the human lung.
Stress and anxiety affect children even at a very young age. With the excessive use and abuse of technology these days, it is only getting worse. Relaxation and peace of mind play a significant role in changing these challenges. We wanted to create a product to help increase their physical and mental stamina, and enter a calm and happy frame of mind.
We designed "Bloom" which uses a Hoberman Sphere attached to a spool that is secured to the stepper motor, which in turn, is fastened inside the simple cylindrical wooden casing. We calibrated the stepper motor to be extremely responsive to the conductive rubber sensor. As the motor is activated by the sensor, the fishing line starts to spool or unspool depending on the breathing pattern of the user, expanding or contracting the sphere.
Physical Computing; Coding; User Testing; User Research; Prototype; Experience Design; Concept Design; Interaction Design; UX Strategy
Addi Hou & Johny Vino
Researcher & Visual Designer
sketches by Addi Hou
We first constructed a simple cylindrical wooden casing out of scrap wood at the SVA Visible Futures Lab. The Hoberman Sphere is then attached to a spool that is secured to the stepper motor. We calibrated the stepper motor to be extremely responsive to the conductive rubber sensor. The cylinder houses the Arduino, stepper motor, and sensor, and then can be hung from the ceiling.
How does the stretch sensor work? What is its range & values?
In a 'relaxed' state, the resistance is about 350 ohms per inch. As you pull on it, the resistance increases (the particles get further apart). As you stretch it out, the resistance increases. Once the force is released, the rubber will shrink back. It is a way to measure stretching motion.
How does the stepper motor work?
Every time the motor is commanded to move, we called the step(#steps, direction, steptype) procedure in Arduino. #steps is how many steps you'd like it to take. Direction is either FORWARD or BACKWARD and the step type is SINGLE, DOUBLE, INTERLEAVE or MICROSTEP. Stepper motors are great for (semi-)precise control.
AF_Stepper(steps, stepper#) to setup the motor H-bridge and latches. Steps indicates how many steps per revolution the motor has a 7.5degree/step motor has 360/7.5 = 48 steps. Stepper# is which port it is connected to. We are using M3 and M4, which is port 2 on the moto shield.
We used the AFMotor Library Reference from Adafruit to craft our code. The AF_Stepper class provides single and multi-step control for up to 2 stepper motors when used with the Adafruit Motor Shield. The AF_Stepper constructor defines a stepper motor.
Finally, the coding ends with the command to “release” which turns off the power.
arduino code by Johny Vino