Swetha- Final Project

“Manjal Neerattu Vizha” By Swetha Kannan

The project, “Manjal Neerattu Vizha”, uses an arduino and an ultrasonic distance sensor in order to activate an artificial period. The period is activated inside a doll which wears the traditional indian woman’s garment, the sari. The project is as much a look into indian culture as it is a look into feminism.

In india, and more specifically in Tamilnadu, when a young girl first gets her period, there is a celebration that is held that can be considered a sort of ‘coming of age’ ceremony. It is also at this time that the girl is first allowed to wear a ‘sari’, until then she was probably wearing ‘churidars’ or other small dresses.  My own such ceremony left a large impression on me because of the grand amount of people that attended the celebration, the large amount of money that went into preparing the ceremony, and above all else the awkwardness of letting everyone know that I was on my period and, essentially, on display because of it. This project does not seeks to undermine the ceremony since I have many fond memories of participating in it. The project instead seeks to explore this ceremony and let the viewer become a participant in a re-contextualized version of the ceremony. I am deeply interested in menstruation as being part of a ‘display’ for people to see. in order to explore this concept, I have created a menstruation that is triggered by the arrival of people and which performs for the viewer until he/she moves on . By the end of the performance, the sari is drenched with blood on the tails of its skirt and the blood has spread over the ground.

Video:

 

Fritzing:

For the diagram, I used a 9v battery instead of a 12v like it should be. And Please ignore the fourth prong on the ultra magnetic sensor. Mine only had three and I don’t yet know hoe to edit parts on fritzing.

pumpWithSensor_bb

 

Code:

int TIP120pin = 3; 
int sensorPin = 7;
void setup()
{
pinMode(TIP120pin, OUTPUT); // Set pin for output to control TIP120 Base pin
pinMode(sensorPin, INPUT);

analogWrite(TIP120pin, 255); // By changing values from 0 to 255 you can control motor speed
Serial.begin(9600);
}

void loop()
{
  int sensorValue = analogRead(sensorPin);
  Serial.println(sensorValue);
  
  sensorValue = map(sensorValue,0, 100, 0, 255);
  Serial.println(sensorValue);
  
  analogWrite(TIP120pin, sensorValue);
  
  
}

 

Hard Part Over – Swetha

I finally got my peristaltic pump from adafruit to work! I’m in the process of adjusting to code so that I can add a stop/start button and a potentiameter to determine the speed of the pump.

Code:


int motorPin1 = 9;
int buttonPin = 2;
int buttonState = 0;
boolean turnMoterOn = true;

void setup() {
  pinMode(motorPin1, OUTPUT);
  pinMode(buttonPin, INPUT);
  Serial.begin(9600);


  analogWrite(motorPin1, 0);
}

void loop() {
   buttonState = digitalRead(buttonPin);
   Serial.println( buttonState);
   if(buttonState == LOW){
     turnMoterOn = !turnMoterOn;
   }
   if( turnMoterOn == false){
       pinMode(motorPin1, INPUT);
       Serial.print("off");
   }
   delay(3000);
     

  analogWrite(motorPin1, 0);
}

 

Fritzing:

I used a 9V battery for this diagram, and although the 9V works, a 12V works the best!

fritzingSketch_bb

Looking Outwards + Sketches for Final Project – Swetha

Neurotic Armageddon Indicator (NAI) – Proximity to armageddon

This piece dos not actually have to do with my final project, but I found it very interesting that it relates to our previous project. Although it does look menacing, it is meant to be since it is basically a countdown to nuclear warfare. This project although simple carries a lot of weight and perhaps this is a lesson that I can incorporate into my final project?

Petting Zoo by Minimaforms – Artifical creatures designed to learn and explore

This interactive petting zoo inspired my second idea. The thought of using technology as a means to interact in new ways is interesting and although the creature in this project is synthetic it still carries the idea of animal.

GoWithTheFlow [Scripts]

I really wanted to work with pumps in this project so “Go With the Flow” was an interesting project to encounter. Water keeps piling up in response to different emails that one gets. It’s simple and is a good way to keep track of your life; i can really see this being in a home as some piece of furnishing or design that is also informative of an individual’s social interactions.

Idea #1:
In india there is a ritual called itu kala samskara that every young girl from a traditional family goes through. This ceremony is similar to england’s coming of age balls for young girls, or jewish ceremonies (like Bat Mitzvah) that commemorate some sort of transition into adulthood. In this case, the Indian ceremony commemorates the first period of a young girl and is also the first time she is allowed to wear the traditional indian Sari. The ceremony is very embarrassing and makes a spectacle out of the first period. Because of this, I want to make a standing sculpture of a sari, which has an has an artificial period. The period will get heavier as the viewer comes closer. The sculpture is meant to be on display for days/hours so that by the end of the exhibition, the gown of the sculpture is drenched with *fake* blood.
arsuino 2

Idea #2:
I want to make a sculpture that is based on interactions between creatures and may comeback to something we all had as a child; a pet goldfish. My idea is to make a fish tank with (hopefully) a live beta fish in it. The water in the tank will be continuously draining out of the tank and the only way water will be added to the tank is is someone is close to the tank (proximity sensor). In this way the fish relies on you for sustenance, which is against the nature of the beta and you, the viewer are similarly chained by the fish. I will of course add a safety feature to the tank to that the water level never goes below a certain threshold. I am, however reserved about this idea partly because of dealing with a live fish and partly because I am not yet sure how the mechanism would go.

arsuino 1

Looking Outwards- shields on Adafruit

94demo_MED

The audio shield for for the arduino allows you to work with loud clear sound. It can play any track and, from my understanding, it can be hard to get a regular arduino to work with sound. The shield itself isn’t that expensive (around 15-25 dollars), so is definitely worth investing in if a project requires sound. I also think it’s very cool that headphones can be plugged in, this small but necessary component makes me think of finding ways to make your own ipod or some sort of music stream through the piece.

1534rf_MED

As the name might imply, this wi-fi shield allows the arduino to collect information from the internet. It is supposedly quicker and more user-friendly than other models. This was probably something used for the political door project that Golan showed us in class. The door was opened or closed depending on poll results which leads me to think that the arduino had a way to connect to the internet to see these results. This shield can also be used to do many other internet- based art.

videogameshield_MED

This shield is amazing since it actually allows you to create your own small video game. The shield comes equipped to play sound, graphics, controllers, and more and can even support wii controllers and numchucks in order to provide a more friendly interface. It can plug into a tv to display a black and white video game. Perhaps there is another shield to allow for color video? If so, then a combination of it and this video game shield would be great to work it! Dave, especially, may enjoy making some of his previous code into video games.

Looking outwards – Adafruit

Hey everyone, I am still sorting through everything that Adafruit has to offer but here are a few pieces of technology that really sparked my interest! The first one is this soil Temperature/moisture sensor at: http://www.adafruit.com/products/1298. This product is most likely what was used in my arduino looking outwards where they created a project that allowed plants to set off lights when they needed water. The project really stuck in my mind and with this product I can see that it was probably a fair bit more simpler to construct than I had previously thought. Of course this poses another good example for me that with a few pieces of tech, and even with a simple concept, an awesome project can be born. This soil sensor can also be used to sense change in the seasons depending on the soil or perhaps to sense weather conditions (wet soil vs. dry soil).

1298_MED

Something else that sparked my interest was the liquid flow meter at http://www.adafruit.com/products/828. This meter sits at the base of a water line and the water moves a pinwheel found inside of the object. The meter can then calculate what sort of flow the water has. This meter is interesting since it allows one to make computer work that can interact with water. This is probably difficult to do with electronics. This may be able to be used in conjunction with the ocean, rivers, lakes, sewers, or public bathrooms. Water flow may also be used with movable art (since the energy of the art may be affected).

ID828_MED

The flexible solar panel at http://www.adafruit.com/products/1485 , also intrigued me. A simple change to the pre-existing product of a solar panel can have wo many uses; For one, you can wear the panel as a bracelet and have the arduino be literally powered when in the palm of your hand. It may also be easier to hide many solar panel within and installation or public art in order to mask electronics like batteries or bulky wires. I’ll have to actually buy it to see if it can do all of the things I picture it doing but even so, I feel like a product like this has huge potential. It can even be used (perhaps) in conjunction with a lily pad arduino in order to make more wearable art.

1485_MED

Collecting Brid Projection

In this project I once again went back to the creature idea (Sorry Golan, I know you said it would be tough but I was really enthusiastic about this idea when I thought of it. Making characters is tons of fun!). Surprisingly, this project has a lot of elements from Dave’s creature although we didn’t know it ourselves. In my project, a bird has built a nest on top of an eraser on a blackboard. The nest is small so the eggs (made from box2d) keep toppling out and the bird frantically collects them. The bird is eventually able to put them all in the nest, however I purposely designed the nest so that the eggs cannot all fit at the same time. Needless to say, the eggs continue to drop and the bird collects frantically with small, humming bird – like movements.

UPDATE:
The collecting bird strikes back! This time her nest is in a location that is hopefully more considered ^^;

Video:

Some of the things I need to go into and rework would definitely be adding an avoidance variable to the bird. I didn’t realize how weird it would be for the bird to pass through the eraser until I was actually projecting. However, I do like the small ‘world’ or ‘environment’ that I have created around that eraser. You can’t help but feel bad for the bird as you see it’s progress; it fumbles around and knocks over its own eggs in an effort to save them all; it’s hard to not only marvel at it but also hard to not pity it.

Parent and Child

In this project I was experimenting with creating structures out of springs that were simplistic but also able to hold themselves upright as if they were living organisms. I wanted them to have a sense of where their head is and where their legs may be. This is why I made it so that when the creatures fell over they wee not able to move unless they wriggled to get back on their feet. These creatures are also a mother and child pair that interact with the mouse and with each other. Both of them are compelled to stay close together (the child more so than the adult) as well as compelled to avoid the mouse which is the ‘danger’ in their environment. The mouse cannot grab the adult but may get close enough to grab onto the child. If that is the case, the mother will feel compelled to try saving the child if she is within distance to do so. Once the user drops the baby, the mother will make an attempt to get back to the child but will not sacrifice herself for it, meaning she will still avoid you and abandon the child if necessary.

Processing code:

some sketches:

photo

Swetha- Looking outwards

tropism-1

The Tropism Well by Harvey and John is a mechanism that is meant to replace current drinking fountains in public spaces. The well has a large ‘arm’ that holds a pitcher and extends its arm in order to pour water into a cup some participant is holding. This project was very interesting for me since it mimics what we are trying to achieve with the creature assignment. Through the simple motion of the water running up the valve, the figure seems to dip in a calm almost life-like way. The machine is not being controlled, but the water. I though that was an ingenious way to achieve motion. The project also comes to life with the interactions it has with other people; they treat it almost as if it were an animal. It commands attention and parents are eager to get their children to try it. There are also crowds of people who form around it to watch as it gives water.

hanging garden

The Hanging Garden by Aer Studio is a group of plants with LEDs who let you know when they are thirsty by lighting up the LED. This project, much like the one I mentioned before, gives so much character to something that we generally don’t see as having personalities. We know that plants are alive , however having them literally begin to glow in order to attract your attention for food gives them a certain charm or character that is not present otherwise; it highlights their vulnerability and reasserts the fact that only you, their caretaker can help them grow; it’s both humbling and empowering.

firewall-02-640x358

The Firewall by Aaron Sherwood is a project which lets the participants interact with the screen in order to generate interesting ripples or ‘fire’. This project seems like it mimics many others but although that may have been an element of the piece what really stands out is definitely the fact that to interact with it, one must press into the screen; This simple change in the structure of these types of projects inspires the audience to interact with the piece in ways that one would not expect; what brings this piece to life for me is definitely the participation of the audience. This is a good example of how to rework something that may be cliche to something interesting, fun, and new; it proves that there are many ways to slice a cake.

Laser Cut Pattern/ Design- swetha

http://cmuems.com/2013/a/wp-content/uploads/sites/2/2013/10/final-1.pdf

UPDATE: I changed the design so that it took out all the white lines, hopefully there is nothing else wrong with it! Thanks Golan!

Ever since the generative art assignment I had been itching to delve into art that took design elements from Indian culture. At the beginning, I was keen on using henna patterns and designs in my laser cut print, however after researching I realized that I did not know much about the art and also was as driven to piece together a code for it. Through my research, I soon turned to Indian architecture. I’ve been to many Indian palaces and all of them seemed to have a few design elements in common, namely the repetition of curves, hexagons, and squares. Particularly, I was looking at the architecture used in various Bollywood movies since they have drastically simplified traditional architecture so that it is much more comprehensive.

Some of the architecture I used and things that inspired me appear in this song, if anyone’s interested:

http://www.youtube.com/watch?v=YxINX5Y6Fr0

I couldn’t sketch my design too well, but I definitely used my sketchbook to work out the placements in the design:

photo(4) photo(5)

My design is a pattern created using lines and incorporates the design elements I researched. The pattern is also manipulable by moving your cursor along the screen to activate the particles. These particles do not have a gravity force on them but instead have a very simple attraction and repulsion force in them. For each 50 by 50 square of the screen, two cube particles exist in it. These particles will not leave the 50 by 50 square but will instead form designs in the square since one will move toward you and one away. The squares also have friction, velocity, and mass thus making them able to bounce on the walls for a short period of time before coming to a pause. if the image ends up moving into something the user likes, then the user can click to freeze the image and then export from there. I don’t know too much about the laser cutter, but hopefully this design will work.

here’s a few pics of my design to show the variability:

bandicam 2013-10-03 07-01-23-763 bandicam 2013-10-03 07-01-36-933bandicam 2013-10-03 07-01-58-279

 


 
  fill(255);
  strokeWeight(0);
  stroke(255);
  rect(44,44,width-88,height-88);
  stroke(0);
  noFill();
  
 for(int row = 0; row< numBallsX; row+=1){
    for(int col = 0; col< numBallsY; col +=1){
      strokeWeight(1);
      
      pushMatrix();
      translate(50+row*50, 50+col*50); 
      if (mouseClicked == false) {   
        balls[row][col].move(0);
        oppositeBalls[row][col].move(1);
      }
      balls[row][col].display(); 
      oppositeBalls[row][col].display(); 
      popMatrix();
      
      pushMatrix();
      translate(50+row*50, 50+col*50);
      createDesign();
      popMatrix();
    }
  }
  
  if(record){
    endRecord();
      record = false;
  }
  
}



void createDesign(){
  strokeWeight(1);
  Hex();
  accents();
  halfHex();
  angles();
  makeBezier();
  
}

void createSquare(){
  smallDesign();
  line(0,7, 7,7);
  line(7,7,7,0);
  line(43, 7, 50, 7);
  line(43,0, 43, 7);
  line(50, 43, 43, 43);
  line(43,50, 43,43);
  line(0, 43, 7, 43);
  line(7,50, 7,43);
}
 void createSmallHex(float a,float b, 
                   float c, float d,
                   float x , float  y,
                   float w, float z,
                   float e, float f,
                   float s, float t){
  line(a, b, c , d);
  line(c, d, x, y);
  line(x, y, w , z);
  line(w, z, e, f);
  line(e, f, s, t);
  }

void smallDesign(){
  createSmallHex(18, 50, 18, 46.5, 21.5, 43, 28.5, 43, 32, 46.5, 32, 50);
  createSmallHex(0, 18, 3.5, 18, 7, 21.5, 7, 28.5, 3.5, 32, 0, 32);
  createSmallHex(50, 18, 46.5, 18, 43, 21.5, 43, 28.5, 46.5, 32, 50, 32);
  createSmallHex(18, 0, 18, 3.5, 21.5, 7, 28.5, 7, 32, 3.5, 32, 0);
  createSmallHex(25, 32, 21.5, 32,  18, 28.5, 18, 21.5, 21.5, 18, 25, 18);
  createSmallHex(25, 32, 28.5, 32,  32, 28.5, 32, 21.5, 28.5, 18, 25, 18);
  
  
  createSmallHex(12, 19, 7, 14, 12, 14, 12, 9, 17, 14, 12, 19);
  createSmallHex(50-12, 19, 50-7, 14, 50-12, 14, 50-12, 9, 50-17, 14, 50-12, 19);
  createSmallHex(12, 50-19, 7, 50-14, 12, 50-14, 12, 50-9, 17, 50-14, 12, 50-19);
  createSmallHex(50-12, 50-19, 50-7, 50-14, 50-12, 50-14, 50-12, 50-9, 50-17, 50-14, 50-12, 50-19);
}

void makeBezier(){
  noFill();
  bezier(40,40,42,40,49,43,44,49);
  bezier(40,40,40,42,43,49,49,44);
  
  bezier(10,10,8,10,1,7,6,1);
  bezier(10,10,10,8,7,1,1,6);
  
  bezier(10,40,8,40,1,43,6,49);
  bezier(10,40,10,42,7,49,1,44);
  
  bezier(40,10,42,10,49,7,44,1);
  bezier(40,10,40,8,43,1,49,6);
    
 stroke(255);
 line(0,0,0,50);
 line(50,0,50,50);
 line(0,0, 10,0);
 line(40,0, 50,0);
 strokeWeight(3);
 line(0,50,50,50);
 line(0,0,0,50);
 line(0,0,50,50);
 line(0,50,50,0);
 line(25,0,25,50);
 line(0,25,50,25);
 strokeWeight(1);
 stroke(0);
}

  

void accents(){
  line(20,15, 30,35);
  line(30,15, 20,35);
}
  

void angles(){
  line(10, 10, 10, 0);
  line(0, 10, 10, 10);
  line(10, 50, 10, 40);
  line(0, 40, 10, 40);
  line(40, 40, 50, 40);
  line(40, 40, 40, 50);
  line(40, 10, 40, 0);
  line(40, 10, 50, 10);
}

void Hex(){
  line(20, 15, 30,15);
  line(20, 15, 15,20);
  line(30, 15, 35,20);
  line(15, 30, 15,20);
  line(35, 30, 35,20);
  line(35, 30, 30,35);
  line(15, 30, 20,35);
  line(20,35,30,35);
  
}
  
void halfHex(){
  line(20,40,30,40);
  line(20,40,15,45);
  line(35,45,30,40);
  line(15,45, 15, 50);
  line(35,50, 35, 45);
  
  line(20,10,30,10);
  line(20,10,15,5);
  line(35,5,30,10);
  line(35,5, 35, 0);
  line(15,5, 15, 0);
  
  line(10,20,10,30);
  line(10,20,5,15);
  line(5,35,10,30);
  line(5,35, 0, 35);
  line(5,15, 0, 15);
  
  line(40,20,40,30);
  line(40,20,45,15);
  line(45,35,40,30);
  line(45,15, 50, 15);
  line(50,35, 45, 35);
  
}
//particle code modified from example in processing.org
//http://processing.org/examples/bouncybubbles.html


class Ball {

  float x, y;
  float diameter;
  int vx = 0;
  int vy = 0;
  int id;
  Ball[][] others;

  Ball(float din, int idin, Ball[][] oin) {
    x = 25;
    y = 25;
    diameter = din;
    id = idin;
    others = oin;
  } 



  void move(int moving) {
    if (mouseX != 0) {
      dirX = mouseX-width/2;
      dirX = dirX/ abs(dirX);
      if ( moving == 1) {
        dirX = - dirX;
      }
    }
    if (mouseY!=0) {
      dirY = mouseY-height/2;
      dirY = dirY/ abs(dirY);
      dirY = - dirY;
      if ( moving == 1) {
        dirY = - dirY;
      }
    }

    vx +=dirX;
    vy += dirY;
    x += vx;
    y += vy;
    if (x + diameter/2 > 50) {
      x = 50 - diameter/2;
      vx *= friction;
    }
    else if (x - diameter/2 < 0) {
      x = diameter/2;
      vx *= friction;
    }
    if (y + diameter/2 > 50) {
      y = 50 - diameter/2;
      vy *= friction;
    } 
    else if (y - diameter/2 < 0) {
      y = diameter/2;
      vy *= friction;
    }
  }

  void display() {
    rect(x, y, diameter, diameter);
  }
}