top of page
Blooming2.png

Blooming

“For this project, you could make something task-oriented, like a special-purpose mouse controller for a personal computer, or it could be very expressive, like a game or toy. The focus here, as with the other two projects, is to make a device that a person understands how to interact with, and can achieve the goal for which the device was made.”

Team

Gracia

Lea

Yilin

Element

Serial Communication

Mapping FSR Sensor

Kinect

etc. 

Tools

Arduino

p5.Js

Kinect

Idea

Are we hiding our lifestyles out of the fear to be isolated by others, because it’s not “perfect”?

What kind of lifestyles or habits are defined as “perfect”? Are we hiding our lifestyles out of the fear to be isolated by others? In this project, we are recognizing and presenting the lifestyles of different individuals to reduce the misunderstanding. To visualize lifestyles, we use flowers and plants which will change according to the movement and characteristics of different individuals, and map the pattern behind the furniture which represent one specific lifestyle. 

What do we want to express through flowers and plants?

Plants are a positive symbol in our works, because plants are a beautiful thing, symbolizing vigorous vitality. Though plants, we want to change the negative impression for the lifestyle we choose. We decided to choose “couch potato” as the first project’s lifestyle. Some people may think that staying on the sofa for a long time is an unhealthy and boring lifestyle, but we were moved by a documentary about an artist who like staying on the sofa for a long time: in the corner near the sofa, as time flows, the walls are gradually covered with her drawings. We think that this scene has a contrasting beauty: people seem to be sitting quietly on the sofa, but their minds are active, painting, reading or meditating. We found that this is similar to the vines, which don’t need special care, growing slowly in casual places.

Interactive Mode 

f1c75a_8111d9e6b0ea4aeaab68eefd9502a5cd_mv2.webp
f1c75a_3f5d338d31f148b7a7371c116f165dd0_mv2.webp

We set the project in the exhibition scene. Visitors can sit on the bean chair we create. According to the time visitors stay and the pose they sit on the chair, the plants’ mapping pattern will change.

Pressure Sensor          Kinect / camera          Bend Sensor

  (Sitting time)                      (Pose)                       (Pose)

To detect the time visitors stay and their sitting pose, we planning to use the sensors above.

Plant Feature

We summarized the characteristics of plants and corresponded to human behavior data:

f1c75a_67e740e3411544c2ad2bf2d8737ec54b_mv2.webp
f1c75a_67e740e3411544c2ad2bf2d8737ec54b_mv2 (1).webp
f1c75a_67e740e3411544c2ad2bf2d8737ec54b_mv2 (2).webp

Stem

Growing time – (Weight) 

Movement – (Kinect) 

Leaf

Leaf Color- (Random)

Leaf Shape- (FSR Sensor) 

Flower

Color(Hue) – (Random)

Saturation- (FSR sensor)

Front-end Code

The logic of the Code

  • Receive data from Arduino and Kinect.

  • Once the audience sits on the bean bag, generate a tree with the class and draw all the branches, leaves, and flowers in this class.

  • After a certain time amount, generate the next level of the tree.

  • While the audience is there, he/she can interact with the tree via head or hand.

  • When the audience leaves the bean bag, put the tree back in the middle, and wait for the next audience.

Tree with P5

Sketch Link: https://editor.p5js.org/GraciaZhang/sketches/qo_NMSwrN

We found the original processing code on Openprocessing and changed it into p5.js. 

(“Flower tree in the wind (random)” by Emmanuel Pil) 

In the original code, the trees were generated once and used scale change to present a growing effect. But we want it to grow level by level and be able to control the rotation range of the branches and the color of the leaves and flowers. 

We used several sliders to mimic the serial port from the Arduino to control the colors and the rotation. Thanks to David Rios, we rebuild the structure of the class of nodes of the tree, making the tree generate the next level when the mouse is pressed.

Data from Arduino

After we built the physical part, we replaced the sliders with mapped data from sensors. By using an array to store the data from Arduino, the pressure sensor controls the saturation of flowers and leaves by level. The weight sensor under the bean bag decides the rotation of branches so the trees will be thinner with a thin person and be larger with a heavier person. As the person stands up, the tree will only wave with the breeze and wait for the next person to sit on.

Replace mouse-wind with Kinect

The mouse-wind allows us to control the direction of the tree as the tree is following the mouse. The data creates mouse-wind in our p5 sketch is based on mouseX and pmouseX which are all prebuilt in p5.js. However we don’t have a “p-KinectData” prebuilt in the scripts, so we have to build it by ourselves. Thanks to Lisa M Jamhoury, we did this in the process of receiving Kinect data.

About Kinect

How do we connect the Kinect with our installation?

We found an open-source tool, which is called Kinectron. Kinectron was originally developed by Shawn van Every and Lisa M Jamhoury. It allows Kinect to communicate with p5.Js, just like the Arduino Serial port communication tool we used.

Why do we use Kinectron, and how does the Kinect control our installation?

Although we use pressure sensors inside the bean bag, the number of the sensor is limited. They also cannot detect the pose changes of people. As for the poseNet, in a dim environment, it can hardly function properly. Therefore, we finally decided to use Kinect, which uses infrared to track human skeletons.

The Kinect replaces the mouse position in the original sketch. We use three points to control the movement of the tree: head and two hands. The program will first determine which point is higher, and then base on the highest point’s movement to control the tree.

f1c75a_1a6d468923e14934a1f2f13f07e35fb6_mv2.webp

Fabrication

Bean bag & Sensors

We set three pressure sensors in the bean bag, two of them are FSR square sensors, one of them is a 50kg pressure sensor.  

The FSR sensors were stuck inside the bean bag, we located the sensors to the places, which are easy to trigger by users’ hands. The 50kg pressure sensor was placed under the bean bag, it can detect whether people set on or leave the sofa. 

 

Problems 

One of the most difficult problems we meet is the jump wires connection. Because wires just plugin with each other, they are very easy to separate when people put all their weight on the bag.

It takes us a long time to stick them together with tips, but they are still very fragile, and we want to find some way to improve this in the future.

Future Development

About this piece, we still see possibilities in building a more stable and timely interaction between the device and the visual effect. We are also considering building a website that allows people to create their own tree without physical parts according to Daniel Shiffman’s advice.

Also, we hope in the near future, we can build a serial installation art about admiring different lifestyles. 

bottom of page