Recitation 6: Animating an Interactive Poster

For this recitation, we tried to make a animated poster by using processing. I find it really interesting to do posters in this way. Though it takes some time to learn how to apply certain formulas, this process still has a lot of fun. I integrated my homework with the recitation together into one poster, and it’s below.

Video:

My code is below:

void setup(){
  size(768,1024);
  background(234,161,233,100);
  

}
void draw() {

  background(234,161,233,100);

  
  background(108,37,95,100);
  fill(247, 241, 207); 
  ellipse(frameCount*2, frameCount*2, 350, 300);


  fill(224,93,209,100);
  triangle(590,0,0,0,0,500);
  
  fill(192,90,229,100);
  triangle(768,0,178,0,768,500);
  
  fill (247,183,5);
  textSize(300);
  text("I",width/2-35,250);
  

  fill (255,111,0);
  textSize(200);
  text("M",width/2-66,200);

  fill(255,38,0);
  stroke(0);
  rect(width/2+23,150,28,10,28);
 
  
  fill(0);
  textSize(25);
  text("IMA Spring 22 End-Of-Semester Show",width/2-195,360);
 
  fill(0);
  textSize(25);
  text("Location: 8th floor",width/2-50,410);

  fill(0);
  textSize(25);
  text("Date: Friday May 13",width/2-50,460);
  
  fill(0);
  textSize(25);
  text("Time: 6pm to 8pm",width/2-50,510);
  
  
  Float r=random(0,255);
  Float g=random(0,255);
  Float b=random(0,255);
     
   
  float d = dist(mouseX, mouseY, 125, 200);
  if(d < 100) {
    fill(r,g,b);
  } else {
    fill(167,205,255); 
  }
  ellipse(125, 200, 200, 200);
  
  float f = dist(mouseX, mouseY, 650, 200);
  if(f < 100) {
    fill(r,g,b);   
  } else {
    fill(267, 205, 255);
  }
  ellipse(650, 200, 200, 200);
 
  fill(232,232,232,100);
  ellipse(-50,700,250,250);
 
  fill(234,206,231,100);
  ellipse(50,700,250,250);
  
  fill(234,178,227,100);
  ellipse(150,700,250,250);
  
 fill(229,147,242,100);
  ellipse(250,700,250,250);
  
   fill(222,114,240,100);
  ellipse(350,700,250,250);
  
   fill(217,73,240,100);
  ellipse(450,700,250,250);
  
    fill(210,38,237,100);
  ellipse(550,700,250,250);
  
   fill(232,40,207,100);
  ellipse(650,700,250,250);
  
   fill(234,19,206,100);
  ellipse(750,700,250,250);
  
   fill(209,2,182,100);
  ellipse(850,700,250,250);
  
  fill(247,183,5,200);
  rect(0,700,768,700);
  }



A few parts where I found a bit struggling with, one is the locations for these elements, I need to try multiple times and change accordingly to find out the most suitable coordination. Another is that I find the sequence of the codes matters, for if I put some codes before others, they will be covered by the patterns whose codes come after them.

Nonetheless, it’s really interesting to add elements one by one and feel that I have more and more idea about this poster, and to add more animations and patterns. Sometimes some mistake codes can have unexpected effect as well, for example, the ellipse that slide from the top left to the bottom right was actually an accident, I didn’t mean to place it this way, I wanted to create the effect of many circle dropping from the top like rain, but this turn out to be like a spotlight, which I found also very cool so I kept it that way.

Girltar- Elaine – Tracy

Girltar- Elaine – Tracy

 CONTEXT AND SIGNIFICANCE 

For our group project, we made a human-bodypart-selling machine based on Winter Market. The process of preparing for the group project inspires my deeper understanding of interaction: It’s both about the interaction the machine has with people, and about the storytelling. Also, the interaction should be meaningful and designed for a purpose. For our previous group project, it was designed to remind people that we shouldn’t let our desire control us and that we need to control our desire. For this midterm project, we not only want to help people with eyesight disability learn guitar, but also want to let normal people experience the difficulty of  people with eyesight problems and to cherish our ability to live as a normal people. Our target audience is mainly those people with eyesight disability because it’s hard for them to learn guitar when they’re not able to use their sight, however, their sensitive touch and hearing have been developed. Our project focuses on these two senses as their advantages and transfer the sight part into pressing the button-touch, and hearing the changing of the tone of guitar-hearing.

CONCEPTION AND DESIGN:

We used two different kinds of buttons in our design, one is the small button and the other is a bigger button. This is based on our considering of those people with eyesight disability can tell the difference by feeling the different size of the buttons. We have thought of using cardboards with different designs to stick on the buttons and enhance the experience of different touch feeling, however it affects the sensitivity of the button itself so we had to abandon that idea. Also, we made the robot with some details like the little feet and hair, so that by touching at these parts can have a clear expression to the users that we have built a man-like girl robot. And we mainly used cardboards and multiple boxes to build. We chose a tissue box because it happens to have a mouth on one of its surface that enables us to hide the Arduino inside. And to make it echos to our poster, we painted it blue and yellow. For this project, we had three previous drafts, the first one was a glove that connects to an ultrasound sensor with a spring. When the user moves his/her hand, as the spring goes longer and shorter, the distance sensor can sense different distance so to make different tone of the particular instrument the user steps on, or two instruments, each hand’s sensor controlling each instrument. And we also wanted to have four paddles on the ground and each hiding a button, which are the beats. However we found it really hard to construct all elements in time, so we eased that idea into a blanket with 20 buttons on it, five as a group, playing Do Re Mi Fa So for one particular instrument. There will be leds beside the buttons. When the game begins, the computer will randomly play a combined tone with two to three notes for one of the instrument, the user has to find the instrument and the notes. For the first round, it will give the user ten seconds, the leds will fade as count down, if the user succeed in finding the notes in time, all leds will blink and play a cheerful music, if not, then all leds will fade and there will be a frustrating voice. However, we didn’t have enough wires as well as buttons and leds, and we didn’t dare to rely on the delivery, so we just choose our current project idea and started 

 FABRICATION AND PRODUCTION:

Tracy and I did the whole process together, including the beforehand design and the whole constructing and coding process. After we decided our project, we started with building the circuit. It was pretty hard to connect all five buttons on one small breadboard, there were a lot of wires that sometime confused us. As we uploaded the code for the first time, it didn’t work. So we dissembled the circuit and connected the buttons one by one and upload the code each time, and we found out that one of the buttons wasn’t connected properly. After the buttons all work, we connected the ultrasound to the circuit. It wasn’t working at all at first, however, after Andy reminded us to delete the // before the code for ultrasound, it worked. We wanted to change the guitar sound into other pieces of music, however we didn’t have the SD card and we looked online to see if we can play music without the SD card and sadly we didn’t find a way to do so. 
After we fixed the circuit and the code, we started to build the cardboard part. We painted a graph and just chose cardboards that have suitable sizes, we also used many boxes. And we painted them into yellow and blue. After the paint is dry, we sticked them together by the hot glue gun.

We finished the composition of the project pretty early, and we invited many people to try and play. I invited my mum and grandfather to try and interact with Girltar, what was really surprising to me is that they both found out how to interact with Girltar pretty quickly even without my introduction and made really cool music clips. Tracy invited her roommates, they also created some good music clips.

CONCLUSIONS:

Our project aims to enable people who are beginner at guitar learning or have eyesight issue to play guitar. As I written in previous blog, interaction is an entertaining communication between two actants, with either or none of them human, but doing man-like actions. Also, it’s consuming people’s senses like sight, hearing and so on. I think the project suits in my definition of interaction pretty nicely because the result of interacting with Girltar is a random clip of music that’s completely designed by the user, which is pretty entertaining, and the background of this robot having a name and body like human, last but not least, this project uses people’s sight, hearing and touching at the same time.

If we had more time and if the delivery is normal, I really wished that we could play more music, also we could add some LEDs on the project to make more visual effect. And we could also try more materials to make the buttons both have different touching experiences and to function properly. We’ve learnt that when connecting a complicated circuit with multiple ingredients, we should add on the components one by one. Also, it’s important to test the sensibility of the sensors before the idea for the project is fixed. And through this experience, I understand the coding skills more and am able to add codes independently now.

Although the construction of our project is pretty simple, just using cardboards and boxes, however, the idea behind the appearance is important. There are many people with eyesight disabilities, for them, even the simplest things can be of great difficulty. And it’s even harder for them to learn an instrument. But we think that everyone have the same right to pursue their dreams, and although we can’t really experience how their lives are like, at least we can help a little bit by building this project. 

Our poster:

Our presentation video:

Our code:

void setup() {
#define echoPin 2 // attach pin D2 Arduino to pin Echo of HC-SR04
#define trigPin 3 //attach pin D3 Arduino to pin Trig of HC-SR04
// defines variables
long duration; // variable for the duration of sound wave travel
int distance; // variable for the distance measurement
int echoNote = 220;
int buttonOne = 4;
int buttonTwo = 5;
int buttonThree = 6;
int buttonFour = 7;
int buttonFive = 8;
int tomOne = 196;
int tomOnePlay = 0;
int tomTwo = 784;
int tomTwoPlay = 0;
int soundOut = 13;
void setup() {
  // put your setup code here, to run once:
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT
  pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT
  Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed
  pinMode(buttonOne, INPUT);
  pinMode(buttonTwo, INPUT);
  pinMode(buttonThree, INPUT);
  pinMode(buttonFour, INPUT);
  pinMode(buttonFive, INPUT);
  pinMode(soundOut, OUTPUT);
}
void loop() {
  //Clears the trigPin condition
 digitalWrite(trigPin, LOW);
 delayMicroseconds(2);
// Sets the trigPin HIGH (ACTIVE) for 10 microseconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  // Reads the echoPin, returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);
 // Calculating the distance
  distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back)
// Displays the distance on the Serial Monitor
  Serial.print("Distance: ");
  Serial.print(distance);
 Serial.println(" cm");

  if (digitalRead(buttonOne) == HIGH) {
    tone(soundOut, 110, 100);
  }
  if (digitalRead(buttonTwo) == HIGH) {
    Serial.println(digitalRead(buttonTwo));
    tomOnePlay = 1;
  }
  if (tomOnePlay == 1) {
    tone(soundOut, tomOne, 50);
    delay(10);
    tomOne -= 6;
    if (tomOne < 41)
    {
      tomOne = 196;
      tomOnePlay = 0;
    }
  }
  if (digitalRead(buttonThree) == HIGH) {
    tomTwoPlay = 1;
  }
  if (tomTwoPlay == 1) {
    tone(soundOut, tomTwo, 40);
    delay(12);
    tomTwo -= 28;
    if (tomTwo < 262)
    {
      tomTwoPlay = 0;
      tomTwo = 784;
    }
  }
  if (digitalRead(buttonFour) == HIGH) {
    tone(soundOut, 147, 30);
    delay(10);
    tone(soundOut, 220, 30);
    delay(10); 
    tone(soundOut, 294, 30);
    delay(10);
    tone(soundOut, 349, 30);
    delay(10);
    tone(soundOut, 440, 30);
    delay(10);
  }
 

  //
  //  if (digitalRead(buttonOne) == HIGH)
  //  {
  //    tone(soundOut, 220, 30);
  //    delay(40);
  //    tone(soundOut, 330, 30);
  //    delay(40);
  //    tone(soundOut, 440, 30);
  //    delay(40);
  //    tone(soundOut, 523, 30);
  //    delay(40);
  //    tone(soundOut, 659, 30);
  //    delay(40);
  //  }
  //
  //  if (digitalRead(buttonTwo) == HIGH )
  //  {
  //    tone(soundOut, 262, 30);
  //    delay(40);
  //    tone(soundOut, 392, 30);
  //    delay(40);
  //    tone(soundOut, 523, 30);
  //    delay(40);
  //    tone(soundOut, 659, 30);
  //    delay(40);
  //    tone(soundOut, 784, 30);
  //    delay(40);
  //  }
  //
    if (digitalRead(buttonFive) == HIGH)  {
      if (distance < 7)
      {
        if (distance > 1)
        {
          echoNote = 220;
        }
      }
      if (distance < 9)
      {
        if (distance > 6)
        {
          echoNote = 262;
        }
      }
      if (distance < 11)
      {
        if (distance > 8)
        {
          echoNote = 294;
        }
      }
      if (distance < 13)
      {
        if (distance > 10)
        {
          echoNote = 330;
        }
      }
      if (distance < 15)
      {
        if (distance > 12)
        {
          echoNote = 392;
        }
      }
      if (distance < 17)
      {
        if (distance > 14)
        {
          echoNote = 440;
        }
      }
      if (distance < 19)
      {
        if (distance > 16)
        {
          echoNote = 523;
        }
      }
      if (distance < 21)
      {
        if (distance > 18)
        {
          echoNote = 587;
        }
      }
      if (distance < 23)
      {
        if (distance > 20)
        {
          echoNote = 659;
        }
      }
      if (distance < 25)
      {
        if (distance > 22)
        {
          echoNote = 784;
        }
      }
      if (distance < 40)
      {
        if (distance > 24)
        {
          echoNote = 880;
        }
      }
      if (distance < 40)
      {
        tone(soundOut, echoNote, 200);
      }
      if (distance > 39)
      {
        tone(soundOut, 220, 200);
      }
    }
}

Recitation 5: Workout

This is a very special recitation, off line, and also for me, off Arduino. However, thanks to Tracy and Robbin for taking me in, I got to work with them and overcame this tough time.

I built the circuit by myself according to this diagram. And later tested the code with Tracy. 

From our observation, when the tilt is standing straight, the numbers shown on the serial monitor are 1, and when the tilt lays down, the serial monitor turns to 0.

For the questions part:

  • At approximately what angle of tilt does it transition between HIGH and LOW?
  • I think it’s about 45 degree.
  • What else do you notice about its behavior?
  • The switch of numbers on the monitor is really regular when the tilt is moved from 90 degrees and 0 degree, but less sensitive in sensing the middle angle ranges in between. So I think this tilt can be more efficient when it’s applied to something that moves in a big angle.
  • What if you tilt the forearm?
  • When I hold it and tilt my forearm, the numbers on the serial monitor change from 1 to 0 and to 1, and repeat.
  • What if you hold the wires several centimeters away and tilt it?
  • The speed of numbers changing is faster.
  • What if you shake it?
  • Depending on the range of angles I shake it, when the angle is small, the tilt sometimes can’t sense the change and the numbers remain 0 or 1, but if I shake it in a big angle, the numbers change accordingly.

Workout1:

// constants won't change. They're used here to set pin numbers:
const int buttonPin = 6;    // the number of the pushbutton pin

int buttonState;             // the current reading from the input pin
int lastButtonState;   // the previous reading from the input pin
int counter = 0;

// the following variables are unsigned longs because the time, measured in
// milliseconds, will quickly become a bigger number than can be stored in an int.
unsigned long lastDebounceTime = 0;  // the last time the output pin was toggled
unsigned long debounceDelay = 50;    // the debounce time; increase if the output flickers

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);
}
void loop() {
  // read the state of the switch into a local variable:
  int reading = digitalRead(buttonPin);
  
  // If the switch changed, due to noise or pressing:
  if (reading != lastButtonState) {
    // reset the debouncing timer
    lastDebounceTime = millis();
      //Serial.println(buttonState);

  }

  if ( (reading != buttonState) && (millis() - lastDebounceTime) > debounceDelay) {
    if ( reading == 1) {
      counter = counter + 1;
      Serial.println(counter);
    }
    if (counter >= 8) {
      counter = 0;
      Serial.println("Yay, you’ve done a set of curls");
    }
      buttonState = reading;
  }
  
  // save the reading. Next time through the loop, it'll be the lastButtonState:
  lastButtonState = reading;

 //if you want to use Serial Plotter, add these two lines:
  //Serial.println(buttonState);
  //delay(1);
}

 Workout2:

Questions:

Q1: Can you make changes to the speed of your “jumping jack” to detect it?

Yes, but as us speed up, the sensor might miss some comps.

Q2:What happens if you change the debounce lockout time? What do you need to change it to detect one “jumping” exercise?

It works when we changed it in a small range, however it missed more jumps as we changed it into a  large number.

Q3:How reliable is the counting? How many extra, or missed, counts happen as a fraction of the number of real exercises done? What do you think would happen to these fractions if you adjust the debouncing time).

I think it is not very reliable, for the miss of jumps it have. Maybe it will be more  precise if we adjust the debouncing time, however, it might turns out to be worse as well.

Workout3:

 

// constants won't change. They're used here to set pin numbers:
const int buttonPin = 6;    // the number of the pushbutton pin

int buttonState;             // the current reading from the input pin
int lastButtonState;   // the previous reading from the input pin
int counter = 0;
int duration = 0;

// the following variables are unsigned longs because the time, measured in
// milliseconds, will quickly become a bigger number than can be stored in an int.
unsigned long lastDebounceTime = 0;  // the last time the output pin was toggled
unsigned long debounceDelay = 70;    // the debounce time; increase if the output flickers

void setup() {
  Serial.begin(9600);
  pinMode(buttonPin, INPUT_PULLUP);
  delay(1000);
  Serial.println("Start your Workout");
}

void loop() {
  // read the state of the switch into a local variable:
  int reading = digitalRead(buttonPin);
  duration = millis();

  // If the switch changed, due to noise or pressing:
  if (reading != lastButtonState) {
    // reset the debouncing timer
    lastDebounceTime = millis();
    //Serial.println(buttonState);
  }

  if ( (reading != buttonState) && (millis() - lastDebounceTime) > debounceDelay) {
    if (duration <= 21000) {
      if (reading == 1) {
        counter = counter + 1;
        Serial.println(counter);
      }
    } else if (duration > 21000 && counter != 0){
      counter = 0;
      Serial.println("Stop, your time is up!");
    }
    buttonState = reading;
  }

  // save the reading. Next time through the loop, it'll be the lastButtonState:
  lastButtonState = reading;

  //if you want to use Serial Plotter, add these two lines:
  //Serial.println(buttonState);
  //delay(1);
}

Illustrating sketch:

Midterm Proposal

Do-Re-Mi Elaine Andy Garcia

The idea that people can interact with the machine by the distance in between is inspired by the “Tape Recorders” made by Rafael Lozano-Hemmer. I think it may be hard to identify the distance very precisely when it is actually presented to the users, but we can try to add a ruler on the ground or see if we can set the activation of a note into a range of distance.

 

Reference:

Published by Eric Forman View all posts by Eric Forman, Forman, P. by E., Forman, E., View all posts by Eric Forman, &amp; (required), N. (2012, February 18). “tape recorders” by Rafael Lozano-Hemmer. helloCircuits! Retrieved March 14, 2022, from https://hellocircuits.com/2012/02/18/tape-recorders-by-rafael-lozano-hemmer/

Recitation 4: Drawing Machines

This time, we built a drawing machine. It was really fun and satisfying to actually build a machine that can do some art work automatically by ourselves. There were quite a lot of components, which me and my partner felt a bit anxious about, however we had confidence and were exited to build this machine. 

we started with building the circuit. We’ve practiced the connection of the H-bridge during the lecture, so that it was easy for me to connect the wires, and doing this also refreshed my memory as well. We followed this diagram to connect it.

After connecting the H-bridges, we continued to connect a 10k potentiometer on the breadboard to read the analog input.

Then, after me and Jessica both finish our circuit, we started to assemble the arm for the drawing machine with the laser-cut arms and paper fasteners. And we also combined the code for the stepper with the one for the potentiometer. 

Below are our artistic drawing machine and its artistic work!!

Question 1: What kind of machines would you be interested in building? Add a reflection about the use of actuators, the digital manipulation of art, and the creative process to your blog post.

I would be interested in building the machines that has a high level of interaction with people, by which I particularly mean that people can have fun when engaging with the machine. However, although in this recitation, the machine doesn’t really interact with people that much, it does imitate people’s action—-it paints! It has two arms, just like we do. And the two arms can hold a pen to do some actual painting. It’s also interesting to see the machine itself conducting some artistic works and paint something that none of us has expected. It’s like that the machine itself also has its creativity, which is really fascinating.

Question 2: Choose an art installation mentioned in the reading ART + Science NOW, Stephen Wilson (Kinetics chapter). Post your thoughts about it and make a comparison with the work you did during this recitation. How do you think that the artist selected those specific actuators for his project?

In this chapter, I noticed the Exoskeleton designed by Stelarc. The skeleton he designed enable him to move in non-human ways. Which is, just the opposite of the drawing machine we built in this recitation. What we built, is a machine that has human way of actions. which the Exoskeleton makes human to do non-human actions. This is a reverse of character human and machine play in the process of interaction, which also inspire me that the imitation can be multidirectional. I think the artist chose the actuators with the purpose of breaking through human limits. The actuators may be some speeding motors to speed up normal human motions, detecting sensors to detect wispy things that human normally can’t sense and so on. 

 

Reflection on group project.

We delivered our group presentation this Friday, which was really fun and satisfying to show what we’ve done to everyone. And I’ll talk about how we came up with the idea and how the whole process was like.

At the very beginning, we met last week to discuss about our idea. We end up entangling between two ideas. One is, a box that can freeze people and achieve the goal of immortal by freezing one’s body as well as his/her time. However, this sounded more like a medical machine instead of an interactive project, so we abandoned this idea and chose the other, which is a human body part exchange machine. By which the seller of the body part and the buyer can exchange the body part. This idea comes from the fiction “Winter Market”. The main character in this fiction is so unhealthy that he needs outer skeleton to support him. So our project further developed the idea — since the body is so fragile, why not replace it? People who sell their body parts usually do this for money, to be more frankly, for desire. However, replacing body parts do have a bad influence. In order to illustrate this, we design the mode that once a person has traded all his/her body part, his/her consciousness will be turned into a machine, which can continue to conduct the process of exchanging body parts.

After deciding on the setting of the story, we decided our work. Me, Cindy, Lindy and Poom are mainly in charge of the building part, and Angela was writing the script. But we did help each other a lot so everyone had contributed to every part of the process.

Below are some videos and pictures of our preparation. 

we also rehearsed a several times before the final presentation. Every time we rehearsed, we always came up with some new ideas and do some more revising, which were very crucial to our final result.

And then came THE DAY!! We were really nervous before the performance, especially after watching fantastic works done by other groups.

One of the projects that impressed me the most is from group 2. They also were inspired by the “Winter Market”. Their idea was to invent outer skeleton that are able to do certain motions and with certain chips. This idea of outer skeleton is closely related to the fiction, and they’ve added their own creation, which is the chip part, to the project, which is very impressive, and add many new content to the whole performance. Also, they had fantastic cardboard design and really good acting. I think the idea that a chip can help people obtain motions, like dancing skills and so on, is really interesting and also reminds me of a scientific fiction called “Little Smart Roaming The Future”, in which the author also mentioned this idea. Also, the memory bread in Doraemon serves the same function. It has long been a really attracting idea to me and seeing them play the out was very impressive.

We were the last group to perform. That add a lot of pressure and nervousness to us. However these emotions all disappear when we really start to perform. Since we’ve rehearsed quite a few times, we all remember the lines and content clearly, so the process of acting was purely fun. And we conveyed our ideas to the audience successfully, which also meant a lot to us.

From our preparation and the comments professors and peers provided, this project really taught us a lot. It’s important to view technology as a neutral thing. It does provide us with convenience, but it also has many bad influence. For example, the one we show in our project that technology can magnify people’s desire. Technology provides both pathway to get the desire and the origin of desire. By technology, people can see more products online, which can stimulate their desire. In our project, it shows how technology acts as a pathway to get the desire. The machine enables people to give up their body parts for money to get what they want, a pair of shoes for example. However, when people are addicted to the money and sale more body parts, eventually they will lose themselves. It can echo to the real life too, for people sale their kidneys for money. 

We really enjoyed the whole process and had a lot of fun. Looking forward to the next project!

 

Recitation3:sensors

This time, I worked with Jessica to build a circuit that can control the movement of a servo by using a lighter sensor sensing the light. In our ideal situation, the “fan” on the servo should turn, for a big or small angle according to the brightness the sensor sensed.

We connected the servo to the Arduino according to this picture (except that we changed the analog output pin into 3).

And we also connected the light sensor to the breadboard as well as the Arduino according to this picture.

After this, we went to the Arduino software and used the sample-servo-knob code, and we changed some numbers to our circuit accordingly. Then I found the code for the light sensor and combined these two codes together. However, at first, the servo didn’t turn differently according to different brightness. And for the second time, the servo turned like it’s crazy.

However, we tried multiple ways to fix this, we checked the code, and then we found some useless codes that come with the sample and some numbers haven’t been changed accordingly. After we fixed that, we played the code again. The fan was reacting accordingly, but in a really tiny range, and the difference between strong lighting and darkness was very vague. After asking LA presented, we found that it was because for the lines:

 servo.write(val);
delay(500);
servo.write(val);
delay(500);

we should change the third line into “servo.write(-val);” for the servo to obtain a bigger turning angle. And after we changed this, it worked.

Here is my code:

/*
 Controlling a servo position using a potentiometer (variable resistor)
 by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

 modified on 8 Nov 2013
 by Scott Fitzgerald
 http://www.arduino.cc/en/Tutorial/Knob
*/

#include <Servo.h>
Servo servo;

int potpin = A1;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin;

const int Vresistor=A1;
int potval;

void setup() {
  Serial.begin(9600);
  servo.attach(3);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  val=analogRead(A1);
  val=map(val, 0, 1023, 0,180);
  potval=analogRead(Vresistor);
  Serial.print("light");
  Serial.println(potval);
  
  servo.write(val);
delay(500);
 servo.write(-val);
delay(500);
 
                           // waits for the servo to get there
}

Here is my circuit:

Question1:What did you intend to assemble in the recitation exercise? If your sensor/actuator combination were to be used for pragmatic purposes, who would use it, why would they use it, and how could it be used?

We assembled a light sensor with a servo that turns a fan, fast or slow according to the brightness. I think it can be turned into a light-sensing air-conditioner. We can polish the system to sense daylight instead of indoor lights. So that when the sun is shining, which leads to the rise of temperature, the fan will spin fast to cool the temperature. And when the sunlight declines, the fan will slow down accordingly. Everyone can use it. It’s environmental-friendly and convenient too for it all functions automatically.

Question2:Code is often compared to following a recipe or tutorial.  Why do you think that is?
I think it’s a vivid metaphor. For recipe and tutorial mean something you can follow and use in order to achieve the result you want, that’s what codes do. Certain codes serve certain needs, and by choosing the proper code can help achieve the exact result you are looking forward to. So I do agree with this comparison.

Question3: In The Language of New Media, Manovich describes the influence of computers on new media. In what ways do you believe the computer influences our human behaviors?

Computer has already integrated in our daily lives. It provides a lot of convenience to us, for example, we no longer need to go into books to look for a certain reference, instead, we can do it simply by looking it up online, which saves a lot of time. Also, by having computer, it’s a lot more easier for us to keep in touch with friends and families. We don’t need to physically see them to greet them or to have conversations. However, it is not always a good thing. The decline of meeting friends and families physically does harm to the relationship to some extend. Also, with computer, computer games especially, people tend to avoid offline contacts, and that is really harmful to people’s social abilities.

 

 

Recitation 2: Arduino Basics

For this recitation, we built three circuits with Arduino. And the level of interaction as well as difficulty is progressing.

Circuit1:

The first one was a simple circuit connecting the Arduino and the breadboard, and the code was to make the light fade. We succeeded in the first try and we studied the code for a while to see how it worked.

Circuit2:

And for the second circuit, it was basically changing the led in the first circuit into a buzzer. And the code we used was to make the buzzer play a piece of music. It was kind of fun to hear the same piece of music playing all around the classroom. However it was kind of weird that some teams’ music was louder than others, I guess it was because of different current? 

Circuit3:

Last but not least, the third circuit. It was quite complicated for there are many elements and wires used, however, after translated it into diagram, it was pretty clear. When connecting this circuit, the biggest problem we encountered was that the wires would easily fall out, and the connection was quite fragile, so we took some extra time to examine the connection of each element and each wire. At first, we could only detect one of the two buttons used, later we discovered that the other button was not working and after changing it, the circuit was working. We tested it a few times and found it quite entertaining, or in another word, interacting. And professor Minsky reminded us of the importance of observing the participants’ reaction, not only whether they are having a good time playing the game,  but also some other detailed things, for example, in what way can people win this game? Do they have any common in their tactics? Which muscle do they use? Their fingers, wrists, or their arms? We realize from this that building an Interactive project is not only about the building process, but also the observation of the users.

Question1:

In order to make the game more interactive, I think we can add a screen to the circuit. On the screen, there are two programmed people standing against each other and they are programmed to hit the other person once the button is pressed. Whoever is hit 10 times will die and the other person will win the game with the LED lighted up. This idea comes from the article “Physical Computing”. In this article, the author mentioned the importance of image in the communication between human and computer. Also, in the article, there is a sentence saying, “We need to think about computers that sense more of your body, serve you in more places, and convey physical expression in addition to information“. From the original circuit 3, we have engaged our hearing–to hear the music played by the buzzer; we have also engaged muscle–to press the button. Although we have the LED, but I wouldn’t call it something that engage our sight, it’s more of a signal. But by adding the screen, it does engage our sight and add more entertainment element, which increases the degree of interaction here.

Question2:

The 10k resistors act as pull-down resistors. For they contain big resistance, they can prevent the circuit from short circuit. 

schematic for circuit 3:

 

Step 1: READ

1. 《Newton’s sleep》:

This fiction is based on the basis of a world that is “prototype of the Special Earth Satellite itself”. To my understanding, it realizes the concept of ideal model by controlling variables like pollution, viruses, to reach a status of extreme clean and pure. However, it’s hard, even in the fiction, they didn’t achieve it completely. But somehow it provides me with this idea that if we can’t reach the completely clean status yet, we can at least monitor and prevent it. So my invention for this context would be a cloak that adjust color according to the elements in the air with the help of multiple monitors detecting different variables placing on different areas of the cloak. This cloak will be designed to fit a certain person’s need. For example, if a person is allergic to dust, and is sensitive to heat (for example he/she hates hotness), according to those personal needs, his cloak has these two monitors, the heat monitor is placed on the left side and the dust monitor on the right side. The cloak is completely black when the environment is harmless and normal. When he/she goes to a place that is very dusty, the right side of his/her cloak will turn into red. And when he/she goes to a very hot place, the left side will turn into green. Of course, when he/she goes to a place that is not only dusty but also very hot, he/she will have a very cloak that is red at the right side and green at the left side to warn him that this environment is not good for him.

2. 《The fish of Lijiang》:

One of the most attracting but also a bit scary technology in this fiction, is the so-called “time sense dilation therapy” used in the “Rime Care Unit”. The way time is being used as a patience to doctor, as a unit in an experiment is new and hard to imagine. Time, as an abstract and objective thing, used to be uncontrollable to me. However after reading this fiction, I got a brand new idea of time. Though time itself is objective,  the experience of time is subjective. What if we can experience multiple things in the same time, instead of doing them one by one and using more time, maybe we can actually control time. However, in order to experience multiple things in the same time, a new invention should be invented. Which is, a robot that can transfer the feeling of experience. To be more clearly, for example, I need to attend a meeting with school classmates, but I also need to teach my sister maths, and I want to watch a film as well. Usually, I need to find three parts of time to finish these three tasks. However, with the help of this time-experiencing robot, I can send one to attend the meeting and another to watch the film while I teach my sister at the same time. The robots collect memory and feelings and deliver them to me by a radio wave that can be detected and collected by my brain. The only obstacle for this is that the robot can only do the things as a passive receiver, it can’t share thoughts or be a deliver. So that facing the tasks like watching film or listening to others speaking during a meeting, it’s productive to memorize. However, when it comes to teaching my sister, it can’t act as a experience output, so that I’ll have to do it by myself. But this obstacle can also have a good effect too, for it provides us human difference with robots, which is, we can be both experience input and output while robots can only be experience input.

3.  《Winter Market》

The two main characters shows a distinctive difference in terms of idea and value. Casey is traditional and dependent on his body while Lise is advance and live at the cost of destroying body. The possibility of the existence of cenesthesia after the death of the body in this fiction hits me. For the idea of consciousness can be independent from the body and can be collected seems to be not so realistic in the real life, at least for now, but the collection of memory, which is former consciousness, can be achieved. I think a camera that is activated by the rise of heart rate can be designed. As we all know, when we feel surprised, nervous or shocked, our heart rates will rise. However, when we have these feelings, we can’t really document the moment immediately because we are too shocked or too surprised or too happy to remember that. However, these moments are usually memorable. So, a mini camera that can be inserted in a pair of glasses which is able to sense the heart rate and start recording when the heart rate rises can be helpful and can collect those precious moments can be useful and meaningful. 

Recitation 1: Electronics & Soldering

This was my very first Interaction lab recitation, and hearing that we will be working on building something by ourselves makes me very excited. Soon after I grouped up with other two girls, we started to work on hands.

We started by building the switch. First, we cut down the cardboard by 5×8, and then we sticked copper tape at one of the narrow edges of the board. After that we stripped the ends of two wires, which was pretty hard unexpectedly. Then came the most exciting part, soldering!! I found it very interesting to flow the solder and stabilize the wires. Afterwards, by combining two folded cardboard with my partner, the switch was ready.

.

Then we moved on to build the circuit. It took us a while to recognize all those elements, and then we just started to connect them all together according to the sketch map. At first, we didn’t connect the electricity for every step, we connected it after we built the whole circuit, sadly, the LED wasn’t lightened. We tried to examine the circuit but there were too many elements and wires and made it very hard to check, so that we got to disassemble it. The second time we built it, we connected it with electricity after every single step to make sure that we were doing things right. And this time it worked fluently. Then we changed the Push-Button Switch into the one we built previously, it also worked well. That gave us a great sense of achievement.

Question1: 

I think the use of the resister R1 is to control the current that passes through the LED and to protect the LED from burning out.

Question2:

Question3:

I think the circuit we built interacted with us, because it responds to our action of pressing the switch we built in the way of buzzing and lighting up the LED. However, it’s response was relatively calm and didn’t have a very intense effect, it just shows that the circuit works. So that I think the degree of interactivity is low.

Question4:

I think in order to create Interactive art, there are two parts. One of them is about creating, and the other is about interactive art. For the first part, it needs the help of Physical Computing, for this “interaction” happens between human and computer; and for the second, part, it requires interaction designing to not only provide interactive ideas but also design interactive ways. According to Zack Lieberma and the painting installation he built, the building process is the process of Physical Computing, however the entertainment effect it provides and the unique way human and computer interact with each other come from Zack and his co-workers’ interaction design. So those two elements are both important and indispensable to creating interactive art, and they need to be blended together to present as one.