Skip to content →

p-comp / week 02

Last week we had a dense class about electricity and circuits! Despite I have worked a bit with arduino before, I’ve never completely understood the electrical part of it – I think that after this class and the additional materials I was able to understand it better. Our homework was to make a circuit with arduino, using a switch to turn an LED on. For this assignment, I decided to make a silly game with a sewing thread reel inside a box. In the interior of it there are some obstacles and the ideia is that you have to rotate the object until the thread reel gets to the bottom of the box – and when that happens, the LED goes on.

I had issues to find out how I would put it all together (hardware, box and pins) and also if this would work as imagined. After brainstorming and prototyping, I had an idea of how to build it and started prototyping it. I decided to use to conductive copper wires and aluminum foil as my switch: they are not touching each other unless the thread reel gets to the bottom and push the wires to the aluminum foil, closing the circuit.

pcomp02_03

The problem was that the thread reel was to light to push them together; I had to find some other material to either gain weight on the thread reel or to be sufficiently heavy to make the wires connect but not to make the distort and end up touching forever the foil.

A quarter actually did the work, but I just thought that the thread could be a game that ended with the thread it self and we would have a graphic evidence of it, through the “paths” the wire made. Here’s the final prototype to this homework:

Even though the idea of making something more creative demanded more time to think how I would prototype it, I think I started to feel what is to actually prototype and work with different materials. Can’t wait to start intro do fab and be able to build things with different materials.

Leave a Comment

icm / week02

This week we learned about some new elements, but mostly about a very important one widely used on the javascript : variables. Name it, initialize it (note to myself: always on setup!!), use it and vary it.
The homework was to gather with one of our fellow colleagues and do our homework, wether on one project or separate projects. I sat with Jason to work and it was really good to share the experience of learning js with someone doing the same thing.
IMG_0345
We started talking about what the homework was about, as well as what we had in our minds. We helped each other while doing our homework. For this assignment, I decided I wanted to do some kind of visual abstraction playing with the mouse position, randomness.

So what I did was a drawing canvas in which the color of the stroke would be randomly chosen when I started running the sketch. The stroke (line) size would randomly vary as well as change the random range once you pressed the mouse – it would increase until a certain value and then go back to the initial range. And the stroke, like any drawing canvas, will draw according to the mouse position.

test12
I had some trouble at the beginning to understand the limitations of size i.e. what values would make the sketch only draw within half of the canvas, so I asked Jason some help and it was good to ask him because I really had to read my code and understand what I had coded, so that I could explain to him in proper English. This helped me to understand where I got it wrong and how to fix it. Here’s my final result:

 

 

 var pointY1 = 30;
var pointX2 = 30;
var redColor;
var blueColor;
var random1 = 10;
var random2 = 30;

function setup() {
  createCanvas(600,600);
  redColor = random(0,255);
  blueColor = random(0,255);
  print("red ="+redColor);
  print("blue ="+blueColor);
}

function draw() {
  strokeWeight(1);
  stroke(redColor,0,blueColor,25);
  line(mouseX,mouseY+pointY1,mouseX+pointX2,mouseY);
  pointY1 = random(random1,random2);
  pointX2 = random(random1,random2);
}
function mousePressed(){
    random1 = random1 + 50;
    random2 = random2 - 50;
    print(random1);
    if(random1 >=280){
      random1 = random1 = 50;
    }
    if(random2 <=0){
      random2 = random2 + 50;
    }
} 

The best thing is to go, test, review the code, update and test it again. My final result is an experiment but I really like the idea of playing with random numbers - I think I’d like to explore it further on the next exercises.

Leave a Comment

p-comp / week 01

On our first class of physical computing the class was introduced to some concepts and the general idea of how micro controllers work. Jeff proposed us to sketch a fantasy device and my group chose to think about a dream storage. To get familiar with our resources and shops, we were able to go around the floor and find material that we could “prototype” our device.

So me, Francesca and Jesse started brainstorming about this dream storage. We came up with a system of storage that would 1)recognize you started dreaming, 2)detect the brainwaves/connections your hippocampus is doing at that time, 3)transfer that information to a cloud storage and later on, when you wake up, you can 4) categorize/describe the dream. In this way, the system itself would evolute with your feedback; he’ll categorize your dreams, depending on the kind of nerve cell connection or brainwaves he received according to your dream history. When we decided to make this a on-going developing and accurate system we also thought the other way around could be possible – the system could detect a nightmare and send signal back to turn it into a good dream or maybe you can even restart a dream you had on storage from the point you woke up. This last part is a bit too much, right? And we thought this could be like a external hard drive close to your bed, accessible through your phone.

When we explained it to the class, Jeff questioned us about the choice of being on a smartphone, introducing us to a problematic that was also developed on Bret Victor’s article A Brief Rant on the Future of Interaction Design: it just seems that screen is the ultimate answer to any future interactive experience. I think for the past two years I’ve been wondering the part of visual representation in experiences, on how they can help the public to imagine certain concepts, but also limit their freedom to experience something . It is good now that the screen got in this debate for me and also surprising how the limitation of format went unnoticed until last thursday.

And to complement this initial questioning about interaction, the first two chapters of The Art of Interactive Design tries to define and show what is interactivity and what is not. Crawford starts talking about misconceptions over the “interaction” definition and to clear the understanding he defines it as a “cyclic process in which two actors alternately listen, think and speak”. Interaction can happen between more than to actors (but at least two) and there’s only interaction when one of the actor’s actions are given as an input for the other actor’s action.

When he started to point out the reasons why i.e. films are not interactive, I recalled Oliver Grau’s Virtual Art: from Illusion to Immersion, on a part that he contest these kind of art that don’t “digest” the public reaction as limiting directional immersive experiences; whereas what he calls open immersion occurs in experiences that don’t have closed/predetermined formats. Grau is defending immersive experiences as situations in which the public is free to intervene and modify the experience, leading to a more intense and engaging participation. And this is a parallel thought to Crawford’s idea of interactivity: like he said on the text, only when we truly interact we can truly engage into the experience.

After reading these texts and associating with my past experiences, I can only this of physical interaction as the immersive experience of constant exchange between two or more actors if they are using the other’s present action as input to their future responses. A good physical interaction will get you involved/immersed in such a high level that you feel you are part of it, it is a sensorial experience and therefore you have a big engagement over the experience itself. Despite Janet Cardiff and Georgers Bures Miller’s The Murder of The Crows is a sound installation with a very immersive atmosphere, at any point it won’t use the audience responses to intervene on the piece. It will always be the same, despite the site in which is exhibited or the audience is experiencing it.

I’m looking forward to see how my colleagues define psychical interaction as well as see what will come from this debate!

Leave a Comment

icm / week 01

For the first week of ICM we were introduced to some programming concepts and in the end of the class we started programming a bit on p5, which is a variation of processing – I hope this will be a smoother learning curve.

Our homework was to create an image through shapes on p5.

So I created the bold boy:

renata_week01

For this exercise, I had to think a lot about coordinates, going step by step and understanding the order of the elements. I had some trouble to find out some coordinate points (despite my math was right) and with setting the color for different elements. The way I solved this issue was probably not the more objective, but that worked anyway =) and to create a new shape I did some arcs, lines and a rectangle to complete the “fill” of the shirt.

function setup() {
createCanvas(600,600);
background(151,188,228);
//grass
noStroke();
fill(0,255,0);
rect(0,402,600,600);
stroke(1);
line(0,402,600,402);
//head
stroke(1);
fill(255);
ellipse(300,300,50,50);
point (290,290);
point (310,290);
arc(300,300,5,5,0,-90);
arc(300,311,6,5,0,85);
//body
arc(300,340,30,30,135,0);
line(284.5,340,284.5,365); //arm 1
rect(281,365,3.5,4,5,0,5,5); //hand 1
line(314.5,340,314.5,355); //arm 2 pt 1
line(314.5,355,322.5,350); //arm 2 pt 2
ellipse(322.5,350,4,4.7); //hand 2
noStroke();
rect(289.5,340,20,30);
stroke(1);
line(289.5,340,289.5,370); //shirt lenght
line(309.5,340,309.5,370); //shirt lenght
line(284.5,340,289.5,340); //shirt sleeve
line(309.5,340,314.5,340); //shirt sleeve
line(289.5,370,309.5,370); //shirt end
rect(290.5,370,9,15);//short 1
rect(299.5,370,9,15);//short 2
line(297.5,385,297.5,400); // leg 1
line(301.5,385,301.5,400); // leg 2
rect(292.5,400,5,3,5,0,0,5); // shoe 1
rect(301.5,400,5,3,0,5,5,0); // shoe 2
}
function draw() {
}

You can see the code actually running on this link.

This was a good exercise to warm up and remember some of the basics concepts of javascript programming, looking forward to better understand p5 and javascript!

Leave a Comment

oi !

first post just to say hi, i’m renata and i just started itp. i hope i can pursue a career within art and design by developing creative concepts through tecnology. i hate gum and i’m trying to play the guitar by myself. ~ see you around the itp floor!

Leave a Comment