PComp Midterm Project

For our midterm project, Catherine Rehwinkel and I designed a physical device to control the movements of an animal in a screen, using readings from inputs on a microcontroller. We decided to create the experience of feeling like a swimming octopus using hand gestures, so the interaction device needed to have a similar feel to the behavior of this creature.

One of our first images in mind as a reference was a scene from the movie Her where the main character plays a video game using hand and finger gestures to move an avatar through an holographic projection. The idea of making simple movements to control the behavior of another creature was one of our main goals for this project.


We started by creating our octopus in a processing sketch, using an array of segments with sin and cos values in order to create an oscillating object. The class “arm” was attached to an ellipse to give birth to our first one-legged sea creature.


We created another array to give the animal its eight legs, controlled initially by the mouse position in the screen. You can see the code for this sketch in this post from Intro to Computational Media.


Later, we started testing our octopus interaction through different sensors. We used an accelerometer ADXL 335′ X & Y values as well as a flex sensor. The key to get the values from the sensor and make the desired movement was to use the map function for each analog input.

This is the Arduino code for three analog sensors:

void setup() { Serial.begin(9600); } void loop() { // read the sensor: int sensorValue = analogRead(A0); // print the results: Serial.print(sensorValue); Serial.print(","); // read the sensor: sensorValue = analogRead(A1); // print the results: Serial.print(sensorValue); Serial.print(","); // read the sensor: sensorValue = analogRead(A2); // print the results: Serial.println(sensorValue); delay (1); }

The design of the physical device was conceived as a wearable controller using a glove, gaffer’s tape, two flex sensors and an Adafruit Flora microprocessor. Although we initially considered to use an accelerometer to move the octopus’s body, we decided to focus on creating a more complex movement for its tentacles and ended up using a combination of two flex sensors for the fingers movements.



Adafruit Flora/ Arduino Lilypad circuit schematic:


Swimming Octopus in action:



  1. The creatures movement is so fluid and beautiful! Great project

  2. Arlene Ducao

    Very graceful and organic realization of the octopus visualization! Good technical explanation and conceptual explanation as well. If you continue the project, I’d like to see a tighter conceptual integration of the wearable and visualization– they should look and feel like they belong together. And as you pointed out, the time spent working out the movement of the octopus left not enough time (this time) to develop the interaction scenario.

  3. I thought the project is very interesting, and it is cool to see how our hand can control things. I liked when we were in the class and everybody was giving suggestion about how to use the project in different ways, that is why I think that your Midterm was very inspiring!
    I appreciated when someone told about using the project in physiotherapy sessions, especially for kids, because physiotherapy sessions use to be boring and you can make this sessions be funnier!

Leave a Reply