Earth Project: Linh, Liz and Shuting

Earth Project

Shuting, Lihn & Liz

Sample Video of Earth Project in Action:
Earth Video

Purpose
To create an educational, thought-provoking visual / interactive installation that combines an object (the globe), Processing, Arduino, sensors, video and user engagement provoking people to reexamine their personal behavior, as well as the a basic survey of contemporary human behavior and the resounding impacts on the Earth’s environment.

Concept
Traditionally, we refer to the Earth as our “mother,” but when you stop to think about the true cause and effect influence in this relationship, one realizes quickly that the dynamics are reversed: it is us as humans that occupy the mothering role, responsible for taking care of the planet today so that the future Earth can be fully-functioning and healthy, not the other way around positioning humans as dependents of the Earth. (For example, consider the sometimes-frightening influence parents have on their children—see Alfred Hitchcock’s Psycho, George Bush or Foucault, for example.) In this interactive installation, we draw on the notion of nature verses nurture. If the Earth is inherently self-sufficient and high-functioning, the negative influence of human behavior just might have something to do with global warming and the disruption of peace in the Earth’s natural climate.

Through Earth Project, we hope to express the sometimes invisible positive and negative effects we as humans have on the Earth and our shared natural environment.

Interaction Process / User Experience
In front of the user is a hanging globe. Projected on the wall in front of the user is video footage of the world from outer space. When the user interacts with the globe (by touch [covering up one of the three light sensors], blowing / speaking roughly, or shaking / tilting the globe), videos of natural disasters and happenings such as hurricane, tornado, avalanche and volcano appear projected on the wall. When the globe is stable, and/or receives direct light through a final light sensor, pleasant video footage (a happy and healthy eco system) is projected.

Materials

  • Hardware
    • Projector
    • LED Lights
    • Laptop
    • Arduino
    • Sensors:
      • Light Sensors
      • Microphone / Sound Sensor
      • Tilt Sensor
  • Lots of Wire
  • String to Hang the Globe
  • Prototype Materials
  • Table to Present the Installation and Cover the Guts
  • Software
    • Processing
    • Arduino
    • Sound: Music
    • Processing Video Library
    • Video Footage of the Earth

Context

  • Earth Project is intended to be an interactive art gallery exhibition. Our current design is a second-round iteration and therefore is still, in our minds, a functioning prototype of sorts. We wanted the globe to be approachable–reminiscent of a globe you might find in a library, study or classroom space. Additionally, we wanted the globe to be hung at a level that might be accessible to the greatest amount of people as possible hitting “arm’s reach.”

 

EOU Analysis

Environment

The installation is set-up within a small, dark and quiet room, where user can see vaguely an earth floating in the center of the room and a screen being projected on the wall in front of the earth.

The user will act as a mother who examines their sick child (Earth) by touching and talking to it. Therefore, the installation should feel personal, private, comfortable, dark and quiet.

User

Anyone who is interested in interacting with the installation can be the user. Although for the fragile set-up, we are not allowed children to touch the objects or people with pets to go inside the room.

For the sensitivity of the sensors, only one user is allowed at a time to interact with the object.

Users can touch, blow, shake or talk to the earth, they are also given a flash light to light up the earth as wanted. Based on the nature of behavior, a different video and sound will be played in the screen. Ex. If user softly touches and whisper to the sculpture, different videos of natural disasters and sound will be projected onto the wall and the user can see what is happening to the earth, examining what disaster is happening where in the world.

Object

A sculpture of earth made from paper mâché, foam, tape and paint is being hang on the ceiling by a thin rope that user can not see clearly in the dark –creating a feeling that the globe is floating in the universe and human is the god who has the power to create and examine the creation.

Different sensors were carefully attached to the surface of the earth sculpture, so that it will response to human behavior sensitively. Sound sensors, Light sensors and Tilt Sensors are among those.

Videos and sounds are being played and projected on the wall, they were edited to be able to loop over and over smoothly incase user wants to enjoy the video. The sounds were mix to be able to mingle together when being played at the same time.

 

 

Approach

We began by revising our first final project idea of creating an interactive art installation based on manipulating sound and video to reach a new idea (after hours of brainstorming): Earth Project. Maintaining the interactive and gallery-based attributes of out preliminary idea, we moved to a more concrete and layered concept.

To begin, we brainstormed by drafting approach and concept notes. Once we firmly decided on our idea, we investigated physical materials to use for the globe. We initially purchased a small children’s basketball from Canadian Tire. We intended to cover it with paper mâché so that we could cut it out a small doorway in the ball to place the Ardunio and adhere the sensors and wiring.

Before we went to the basketball with mâché, we tested our idea out by covering a balloon with pulp paper mâché to test the size, feasibility and concept. During one of our work sessions, Anne walked by and suggested that we use a Styrofoam ball as the globe as it’s already completely round, light and easy to find. We modeled our next (and final presentation) iteration on the use of a Styrofoam ball. We took the ball to the Plastics Lab at 100 McCaul and cut the ball in half using a band saw. We dug out space for the Arduino and breadboard, power cord and after mapping, inset / feed holes for our sensors. After all of the code and programming tests were complete, the soldering was done and the wiring firmly in place, we taped the ball back together and Linh and Shino covered the ball with a black and gray-scale map of the Earth. We attached string we borrowed from Mayan and hung the ball from the ceiling.

Making the Paper Mâché Prototype

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

As for the installation display stand, we looked around our DFI shared workspace and found a tall wooden box that was just about the right height for the display. We covered it with white paper, put the laptop and projector inside, draped a white plastic tablecloth over the box and cut a hole for the projector’s light/image projection. Linh made a project logo and we adhered it to the wall to complete the “gallery” display look.

Installation Prep & Concept Development Photos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Setting up the installation

 

 

 

 

 

 

 

 

 

Problems & Difficulties

We ran into some pretty basic issues that were only complicated by the short timeframe we had to complete the project—stabilizing the code/programming and getting the sensors to work properly.

 

When we programmed the video content into the code, we lost the audio and couldn’t figure out how to get it back or manipulate the code to restore it. We ended up having to produce the project without sound for the installation which we all found to be a compromise from our ideal vision for the project.

 

The code, though we (honestly, Linh and Shuting headed this aspect of the project up—don’t be surprised-but I was present) spent countless hours working on it, it proved extremely difficult to stabilize. We determined that the more heavy work we were asking Adruino and Processing to do, the more unstable the code became. If we had more time, stabilizing the code would be the most primary revision we’d tackle first.

We also came into a bit of trouble deciding which tilt sensor would be most appropriate for the project. We considered using a Tri-Ax Breakout sensor, as well as multiple X, Y & Z sensors and tilt sensors under the recommendation of the owner of Creatron. In the end, we chose to stick with the standard tilt sensor from our basic electronics kit.

The mic / sound sensor was very sensitive and was difficult to work with. The sound senor in the end functioned more as a switch than an analogue sensor.

Lastly, we neglected to test our sensors in the exact (or close to exact) conditions we planned on having in the project installation space. This resulted in very different sensor readings and ratios. Our final project therefore was highly sensitive to light and worked best in near complete darkness and silence.

Misc Issues
Shino burnt her finger taking a turn at soldering. We lost the receipt to take the children’s basketball back to Canadian Tire—once we realized we didn’t need it.

Potential Future Directions & Revisions

The comments from our presentation gave us some great leads on how we might revise or edit the project in the future. One of the most important pieces of feedback we received was that the globe could be modified or recreated to be more approachable, encourage playful engagement and potentially be less fragile. Taking the next iteration to another level to include some of these suggestions would require us to utilize wireless (XBee) communication.
We also heard that the rhetoric of the “natural disasters” (and the ratio of “positive” to “negative” video content) did seem a bit dark and suggested that humans only have negative impacts on the Earth. In the next iteration, we would be sure to include more positive video content that would be triggered by human interaction.

Overall, we did an incredible job on planning, group work-shopping and working collaboratively—even down to the minuscule, but vital elements of production (such as soldering) we managed our time well, took equal ownership in the project and jumped in, both at times we were not completely comfortable with the task at hand (e.g. processing or soldering) as well as where we felt expertly comfortable.

 

 

CODE:

for processing:
import processing.video.*;
import processing.serial.*;

Serial myPort;  // Serial port you are using
int[] buff = new int[10];
int num1 = 120, num2 = 0, num3 = 0, num4 = 0, num5 = 0;
int thd11 = 100, thd12 = 130, thd2 = 20, thd3 = 240, thd4 = 240, thd5 = 25;

Movie theMov0;
Movie theMov1;
Movie theMov2;
Movie theMov3;
Movie theMov4;
Movie theMov5;
boolean isDefault = true;
boolean isMovie1 = false;
boolean isMovie2 = false;
boolean isMovie3 = false;
boolean isMovie4 = false;
boolean isMovie5 = false;

void setup() {

myPort = new Serial(this, Serial.list()[0], 9600);
myPort.clear();
size(1440, 900);

theMov0 = new Movie(this, “Earth_Intro.mov”);
theMov1 = new Movie(this, “hurricans.mov”);
theMov2 = new Movie(this, “tournadoes.mov”);
theMov3 = new Movie(this, “volcano.mov”);
theMov4 = new Movie(this, “avalanches.mov”);
theMov5 = new Movie(this, “happy earth.mov”);

theMov0.loop();
}

void draw() {
while(myPort.available() > 0){
//read values
for (int i=0; i < 9; i++) {
buff[i] = buff[i+1];
}

buff[9] = myPort.read();
if (buff[9] == 1) {
num1= buff[8];
}
if (buff[9] == 2) {
num2= buff[8];
}
if (buff[9] == 3) {
num3= buff[8];
}
if (buff[9] == 4) {
num4= buff[8];
}
if (buff[9] == 5) {
num5= buff[8];
}

println(“1:”);
println(num1);
println(“2:”);
println(num2);
println(“3:”);
println(num3);
println(“4:”);
println(num4);
println(“5:”);
println(num5);
//select movies

}

if((num1 < thd11 || num1 > thd12) && !isMovie1){
isMovie1 = true;
theMov1.loop();
}
else if(num1 > thd11 && num1 < thd12 && isMovie1){
isMovie1 = false;
theMov1.stop();
}

if(num4 > thd4 && !isMovie2){
isMovie2 = true;
theMov2.loop();
}
else if(num4 <= thd4 && isMovie2){
isMovie2 = false;
theMov2.stop();
}

if(num3 > thd3 && !isMovie3){
isMovie3 = true;
theMov3.loop();
}
else if(num3 <= thd3 && isMovie3){
isMovie3 = false;
theMov3.stop();
}

if(num5 > thd5 && !isMovie4){
isMovie4 = true;
theMov4.loop();
}
else if(num5 <= thd5 && !isMovie4){
isMovie4 = false;
theMov4.stop();
}

if(num2 < thd2 && !isMovie5){
isMovie5 = true;
theMov5.loop();

isMovie1 = false;
theMov1.stop();
isMovie2 = false;
theMov2.stop();
isMovie3 = false;
theMov3.stop();
isMovie4 = false;
theMov4.stop();
isDefault = false;
theMov0.stop();
}
else if (num2 >= thd2 && isMovie5){
isMovie5 = false;
theMov5.stop();
}
//if(num1 < thd1 && num2 < thd2 && num3 < thd3 && num4 < thd4 && num5 < thd5){
if(num1 > thd11 && num1 <= thd12 && num2 > thd2 && num3 < thd3 && num4 < thd4 && num5 < thd5){
isDefault = true;
theMov0.loop();

isMovie1 = false;
theMov1.stop();
isMovie2 = false;
theMov2.stop();
isMovie3 = false;
theMov3.stop();
isMovie4 = false;
theMov4.stop();
isMovie5 = false;
theMov5.stop();
}
//else if ((num2 >= thd2 || num3 >= thd3 || num4 >= thd4 || num5 < thd5 ) && isDefault){
else{
isDefault = false;
theMov0.stop();
}

//draw movies
background(0);

if(isDefault){
theMov0.read();
image(theMov0, 1440/2-320, 900/2-240, 640, 480);
}
else if(isMovie5){
theMov5.read();
image(theMov5, 1440/2-320, 900/2-240, 640, 480);
}
else{
if(isMovie1){
theMov1.read();
image(theMov1, 120, 0, 600, 450);
}
if(isMovie2){
theMov2.read();
image(theMov2, 120, 900/2, 600, 450);
}
if(isMovie3){
theMov3.read();
image(theMov3, 1440/2, 900/2, 600, 450);
}
if(isMovie4){
theMov4.read();
image(theMov4, 1440/2, 0, 600, 450);
}
}

myPort.clear();
}

ardunio:

int analogPin2 = A0;//light sensor 2 brown wire
int analogPin4 = A1;//tilt sensor blue wire
int analogPin5 = A2;// sensor blue wire
int analogPin1 = A3;//light sensor 1 yellow wire
int analogPin3 = A4;//light sensor 3 purple wire

int temp1 = 0;//value of light sensor 1
int temp2 = 0;//value of light sensor 2
int temp3 = 0;//value of light sensor 3
int temp4 = 0;//value of tilt sensor
int temp5 = 0;//value of sound sensor

void setup() {
Serial.begin(9600);
}

void loop() {
temp1=analogRead(analogPin1);
temp1=int(map(temp1,0,1023,2,

250));//light sensor 1
temp2=analogRead(analogPin2);
temp2=int(map(temp2,0,1023,2,250));//light sensor 2
temp3=analogRead(analogPin3);
temp3=int(map(temp3,0,1023,2,250));//light sensor 3
temp4=analogRead(analogPin4);
temp4=int(map(temp4,0,1023,2,250));//tilt sensor
temp5=analogRead(analogPin5);
temp5=int(map(temp5,0,1023,2,250));//sound sensor

Serial.write(1);
Serial.write(temp1); // println add Linefeed to my float
Serial.write(2);
Serial.write(temp2); // println add Linefeed to my float
Serial.write(3);
Serial.write(temp3); // println add Linefeed to my float
Serial.write(4);
Serial.write(temp4); // println add Linefeed to my float
Serial.write(5);
Serial.write(temp5); // println add Linefeed to my float
}

Comments are closed.