Categories
Interaction Lab

Midterm Project Individual Reflection

Project Title: Career Express

Ran Xu (Charlotte) 

Instructor Name: Prof. Marcela Godoy

Context and Significance:

 The previous group project reminds me of using the material around and my ability to make full use of the material improved because of that. In addition, my understanding of the interaction: a process in which each participant in turn listens, thinks, and speaks can be shown in the process of the project. When a player wins, his sense of time is adjusted to the normal sense of time; in other words, it is an input and listening process. The player’s clock thinks about how to adjust accordingly after receiving the signal of winning or losing (winners tend to have the correct time, while losers have the same sense of time) is the thinking part. The corresponding adjustment of time sense given by the clock at the end (presented in the speed of pointer rotation) is the speaking part or the output part.  

We are inspired by a Bilibili short video (here is the link) and it is a short drama on a “career auction”. Near the ending of the video, a woman shout out “8000” but the host ignores her. So we intended to make a project to raise people’s awareness, especially men’s awareness of gender inequality in workplaces.

In order to make our project more scientific, we search for relative information from UNDP (here is the link) and use accurate data for our labels.

Conception and Design

  For the first part of the game, two players try their best to press the button as fast as they can and the serial monitor shows the times that they have pressed them. When one of the players first reaches 10 presses, the LED that represents him/ her lights up and the buzzer plays the melody. At first, we want to put this speed game on top of the equipment and use the cardboard as support. But we find that the competition is very fierce and the cardboard may break during the game. So we decided to put the breadboard aside. And we also want to change the design of the buttons and let them can be held in people’s hands. But we find the connection between wires and buttons is weak and we didn’t find appropriate material to make the connection stronger. In that case, we put the button on the breadboard.

For the second part of the game, the interaction part is people using the clip to stick the labels. Although it is manual, there is an interaction between the equipment and the player since he needs to use the clip manually and the label gives him relative feedback. (showing the content of notes) 

 

Fabrication and Production   

I think the most significant part of making the physical equipment.  Since at first, both Younian and I want to make combine the speed game and the UFO catcher together and put them in one piece of equipment. And in the original version, we have two players in the second round. I tried several ways to realize that target.

I forgot to take the picture of the finished first version. But I Cut two holes in the cardboard to hold the clips, then put the breadboard in the middle. But I found it’s not stable and the space for the clips are too small for players to control, so I just quit this idea.

(the original version design)

This is the second version of the equipment and at that time we supposed we can let the button be held in players’ hands. But after the user test, we found it is hard for us to realize that the second round only needs one player, so I also quit this idea. (We want to use the fruit button at first, but because of lockdown, we can’t buy apples immediately and the fruit we own is too juicy)

At last, I change the design and use a longer stick to make the clip hang on the hole. In addition, I move the light on the breadboard to the cardboard to make the result of the game clearer. Since the edge of my turntable is not connected with the equipment, poking down labels may break the turntable and the motor. So I try a different way from Younian’s and I use the clip to stick the label.

For the part of the concept, we also made changes. The original design of this project is to let women and men find their “true selves” and talks about gender labeling.  After talking with Professor Godoy, we realized that our target audience is too big and we need to focus on a specific topic. She also advised us to find some relative information such as data to make the design of labels more visual and scientific. So we changed the topic to “Career Express” and search for relative academic resources to support our project.

Younian and I find the relative code in the previous classes and recitations. Younian modify these codes to make them fit our project and I also made some modifications to the code such as the music. During this process, Professor Godoy helps us a lot with debugging. And after we made the physical equipment, we started to make the poster. We cooperate to write the content of the poster. Younian made the 3D model and I draw the 2D sketches. Then Younian combine everything together and made the amazing poster.  At last, we shoot the video and I did the editing part to make the final video.

Our Poster

Our Code 

int buzzerPin = 8;
int button1 = 10;
int button2 = 11;
int led1 = 3;
int led2 = 2;
int goal = 10;
int buttonState1 = LOW;
int previousState1 = LOW;
int buttonState2 = LOW;
int previousState2 = LOW;
int counter1 = 0;
int counter2 = 0;
boolean winner1 = false;
boolean winner2 = false;
long time = 0;
long debounce = 200;
boolean stage2 = false; // this is going to be a boolean variable that we will make true when we want to go to the second stage
void setup() {
  Serial.begin(9600);
  pinMode(buzzerPin, OUTPUT);
  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  Serial.println("****ROUND 1: Once the monitor shows 【GO!!!!!!!!!!!!!!!!】, press the button as fast as you can. The one that first reaches 10 presses will win the game and can go into the 2nd round.");
  Serial.println("ROUND 2: Use the stick to poke down the label in the hole. And the game will end when you get the label with 【TRUE-SELF】 on it.****");
  delay(5000);
  Serial.println("READY");
   playBeep();
  delay(1000);
  Serial.println("SET");
 playBeep();
 playBeep();
  delay(1500);
    Serial.println("GO!!!!!!!!!!!!!!!!");
playBeep();
playBeep();
playBeep();
}
void playBeep() {
  playFreq(100, 200);
}
void playFreq(double freqHz, int durationMs) {
  //Calculate the period in microseconds
  int periodMicro = int((1 / freqHz) * 1000000);
  int halfPeriod = periodMicro / 2;
  //store start time
  long startTime = millis();
  //(millis() - startTime) is elapsed play time
  while ((millis() - startTime) < durationMs) {
    digitalWrite(buzzerPin, HIGH);
    delayMicroseconds(halfPeriod);
    digitalWrite(buzzerPin, LOW);
    delayMicroseconds(halfPeriod);
  }
} 
void loop() {
  buttonState1 = digitalRead(button1);
  buttonState2 = digitalRead(button2);
  if (counter1 < goal && winner2 == false) {
    if (buttonState1 != previousState1 && millis() - time > debounce) {
      if (buttonState1 == HIGH) {
        counter1++;
        Serial.print("player MALE: ");
        Serial.println(counter1);
        time = millis();
      }
    }
    previousState1 = buttonState1;
    if (counter1 == goal && winner2 == false) {
      winner1 = true;
      digitalWrite(led2, HIGH);
      Serial.println("PLAYER MALE WINS");
      playMelody();
    }
  }
  if (counter2 < goal && winner1 == false) {
    if (buttonState2 != previousState2 && millis() - time > debounce) {
      if (buttonState2 == HIGH) {
        counter2++;
        Serial.print("player FEMALE: ");
        Serial.println(counter2);
        time = millis();
      }
    }
    previousState2 = buttonState2;
    if (counter2 == goal && winner2 == false) {
      winner2 = true;
      digitalWrite(led2, HIGH);
      Serial.println("PLAYER MALE WINS");
      playMelody();
    }
  }
  //here we will check whether we start stage2
  if (stage2 == true) {
    moveMotor();
  }
}

void playMelody() {
  playFreq(100, 200);
  playFreq(100, 200);
  playFreq(500, 200);
  playFreq(500, 200);
  playFreq(600, 200);
  playFreq(600, 200);
  playFreq(500, 200);
  delay(100);
  playFreq(400, 200);
  playFreq(400, 200);
  playFreq(300, 200);
  playFreq(300, 200);
  playFreq(200, 200);
  playFreq(200, 200);
  playFreq(100, 200);
  delay(100);

  
  // you can find something or create your own melody for this
  //ad your melody here
  //after the melody stops we will go to stage 2
  //you can have a delay here before start moving
  delay(1000);
  stage2 = true;
}

void moveMotor() {
  float sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  float MotorSpeed = map(sensorValue, 0, 1023, 0, 255);
  analogWrite(9, MotorSpeed);
  delay(1);        // delay in between reads for stability
}

Our video (Too big to upload. Younian uploaded this video to her Bilibili homepage and here is the link)

Conclusion

Our goal is to raise people’s awareness, especially men’s awareness of gender inequality in workplaces. We tried to express this theme by controlling some elements in the game and making it more story-telling. The result of the first-round game is fixed and only men have the opportunity to join the second round and see the labels with data on gender inequality in workplaces. In that case, men players can confront serious inequities they may not have noticed. In addition, since the first part of the game is competitive, it restores the competitive situation in the workplace to some extent to make the player more indulged. In that case, women players can also have a stronger feeling about the inequality.

Our project shows the understanding of interaction in two parts of the game and in both manual and electronic ways. If I have more time I would change the design of the button and have a better way to fix the motor. I learned that failure is normal during the process even if you know the methods. It is important to try again and make improvements to the project. In addition, communication and asking for help are important for the group project. Getting over the trouble together would make problems easier to solve.   

 

 

 

 

 

 

 

Categories
Interaction Lab

Recitation 5:Workout

Connect the tilt switch to the Arduino like this:

I followed the instruction and built a circuit like this

It worked well and I didn’t realize that I missed one wire. But when a wire falls out of the breadboard and I connected the wire to the wrong place, the circuit didn’t work and I failed to find the problem and asked the professor for help.

This is the new circuit I built with the professor’s help. 

Then I upload this code and the sketch printed 1 to the Serial monitor when it is upright, and 0 when it is upside-down.

const int SENSOR_PIN = 6;  
  
int tiltVal;

void setup() {
  pinMode(SENSOR_PIN, INPUT);    // Set sensor pin as an INPUT pin
  Serial.begin(9600);
}

void loop() {
  // read the state of the sensor
  tiltVal = digitalRead(SENSOR_PIN);
  Serial.println(tiltVal);
  delay(10);
}

After that, I changed the code to let the monitor print 1 when the title sensor changes from 0 to 1, or from 1 to and the code was like 0 1 0 1.

const int SENSOR_PIN = 6;

int tiltVal;
int prevTiltVal;

void setup() {
  pinMode(SENSOR_PIN, INPUT);    // Set sensor pin as an INPUT pin
  Serial.begin(9600);
}

void loop() {
  // read the state of the sensor
  tiltVal = digitalRead(SENSOR_PIN);

  // if the tilt sensor value changed, print the new value
  if (tiltVal != prevTiltVal) {
    Serial.println(tiltVal);
  }
  prevTiltVal = tiltVal;

  // for Serial Plotter use
  //Serial.println(tiltVal);

  delay(10);
}

Then I uncommented the line //Serial.println(tiltVal) , opened the serial plotter, and got a graph like this.

Questions:

  1. At approximately what angle of tilt does it transition between HIGH and LOW?                                                                    The transition between HIGH and LOW happens at about 90 degrees of tilting. 

2. What else do you notice about its behavior?

    I noticed that the transition was depended on the little piece in the tilt switch. If the little piece fell down to the other side, the switch would transition between HIGH and LOW.

3. What if you tilt the forearm?

That is the same as what I have done before. The only difference may be the speed of transition since I need to spend more time tilting the forearm.

4. What if you hold the wires several centimeters away and tilt them?

The same as before.

5. What if you shake it?

It transitions quickly between HIGH and LOW. 

Debouncing the tilt switch

I think 50ms is a reasonable lockout and here is the code.

// 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

// 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) {
    // whatever the reading is at, it's been there for longer than the debounce
    // delay, so take it as the actual current state:
      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);
}


Workout 1: Biceps Curls

I need to use the count function to let the Arduino count biceps curls and print the number to the Serial Monitor. 

Here is the code.

// 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);
}

Workout 2: Jumping Jacks

It didn’t correctly count jumping jacks. And I found that the graph would have a peak after I move my arm several times.

Questions:

  1. Can you make changes to the speed of your “jumping jack” to detect it?                                                            Yes, I can. And here is the video. 

2. What happens if you change the debounce lockout time? What do you need to change to detect one “jumping” exercise?

If I change it into 30ms, it doesn’t have an obvious change. When I change it to 70ms, the counting is less accurate.

3. How reliable is the counting? How many extra, or missed, counts happen as a fraction of the number of real exercises done?

When the lockout is 50ms, it is roughly reliable. But it is a little bit hard for me to see the exact number when I use the Serial Plotter.

Workout 3: Start and Stop Timing

The problem I met here is that I don’t know how to let my count stop. So I asked the LA for help and we solved the problem by adding two if functions to give an exact duration.

 

Here is the code.

// 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 = 50;    // the debounce time; increase if the output flickers

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);
  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 < 20000){
      if ( reading == 1) {
      counter = counter + 1;
      Serial.println(counter);
    }
    } else if (duration >= 20000 ) {
      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);
}

Draw your own illustration sketches that showcase how a person would use this interactive training device.

It can be used to count the number of sit-ups and the tilt switch can be wrapped around the waist.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Categories
Interaction Lab

Recitation 4: Drawing Machines

Process

Step 1: Build a circuit

The circuit is complicated and my partner and I spent about fifty minutes completing two circuits because at first, we followed the wrong instructions and needed to build again. And when we test the motor, it didn’t work as the instruction showed and we were worried about that. At last, we found one of the wires was connected to the wrong place.  

Step 2: Control  rotation with a potentiometer

I met trouble when I need to add a map function to match the movement of the knob with the rotation of the motor. I didn’t know where I should put the function and I asked the learning assistant for help. We solved the problem at last. ( I forgot to record the picture of it. It was near the end of class and it was chaotic.)

Step 3: Build a drawing machine

We made the machine at last. But the motor is a little bit too high and the pen sometimes can’t draw on the paper. So we need to lift the paper and control the machine at the same time.

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 am interested in building machines that can afford pleasure to people. I hope it is interesting not only in the process of using but also in the process of building. The use of actuators can be one important part of realizing this wish. The process of building an actuator is like creating human hands. It makes machines more like people. The process of constantly tweaking it through a program is like teaching a child, and it’s fun whether it’s done well or not. The digital manipulation of art is similar to that. It is a process of human taming machines, a combination of human emotional expression and rational machinery. The process itself is paradoxical and beautiful. 

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?

An enveloping chair made by London Fieldworks in collaboration with Dugal McKinnon, Gastarbyter combines hearing, touch, and vision and gives people a chance to focus on their feelings of being ignored in their daily lives and engage their senses. It’s quite different from the work I did during the recitation since my work pays more attention to controlling the machine and this work use actuators to control people’s feeling. I think when the artist selected specific actuators such as vibration machines, he may focus on the tactile parts he wants people to focus on and minimize the visual impact.  And since people need to sit or lay on the chair, comfort and load-bearing also need to be considered. 

 

 

Categories
Interaction Lab

Midterm Project Proposal

Midterm Project Proposal

Project title: True-self Catcher

Name: Younian Liu, Ran Xu

Instructor’s name: Prof. Marcela Godoy

Sketch:

Project Explanation

We got the idea of creating a UFO catcher from one widget in the kit. ( I put the picture of it down below). The theme of the project is the gender stereotype that many adjectives are stereotyped to only describe boys or girls and people with diversity are trapped in specific labels. We would like to encourage everyone to be himself/herself and both the name “True-self Catcher” and the design: the player who first get the piece of paper written with “true” can win the game show this theme. 

Categories
Uncategorized

Group Project: Reflection

Group Project: Reflection

The relationship between our project and the research

In The Fish Of Lijiang, there is an alarm clock that can compress the time sense of people. On the other hand, there is a “time sense dilation therapy” that can dilate people’s time sense to prolong their lives. We got the idea of controlling the time sense and decided to use the clock as a carrier. We added the functions of clocks to let them expand and compress the sense of time. To make this feature more obvious, we set up a normal clock as a counterpoint, and when the sense of time corresponds to real-time, the player can return to the real world.

In addition, clocks also echo the concept of interaction: a process in which each participant in turn listens, thinks, and speaks (Crawford, 5). The process of listening is shown by the fact that when a player wins, his sense of time is adjusted to the normal sense of time; in other words, it is an input process. The process of thinking is shown in the fact that the player’s clock will think about how to adjust accordingly after receiving the signal of winning or losing (winners tend to have the correct time, while losers have the same sense of time). The process of speaking is reflected in the corresponding adjustment of time sense given by the clock at the end (presented in the speed of pointer rotation).

Idea sketches

We decided to create a game space and participants are trapped in the game world. Their time sense is different from the game world. (One is quicker, the other is slower) Participants need to compete against each other through a tic tac toe game to adjust their own time in order to get back to the real world. A player will win the game if he/she successfully adjusts time that’s consistent with the current time in the real world. 

Two round clocks show the time sense of participants. The other one that looks different (I don’t know how to describe its shape) shows the normal time. That hole serves as the medium between the real world and the game world and we got the idea from the rabbit hole in Alice in Wonderland. We painted half of the hole and the green half means the game world, which echoed the color of the chessboard, and the half with original color means the real world. The scoreboard helps viewers visualize the score of a game. We used cardboard to make the game so the audience could see it better than drawing it on paper.

I think the success was that we made all the props out of cardboard and used as little voiceover as possible in the performance, relying on the performance to tell the story. But the design of the game is still lacking, and we would have been better off if we had integrated the concept of play and time more closely. 

Process

During the process of creating, I was responsible for perfecting the plot of the story. (After determining the specific plot of the game, I was responsible for designing the beginning and end of the story to make the performance more complete.) I also helped make the props, including making the hole and the scoreboard. In the performance part, I acted as Player One with a slower sense of time.

2022.2.22

We met with each other and started to talk about our project. We decided to create a project based on The Fish Of Lijiang and the theme of time. For the plot, we decided to use the clock as our primary device and change the sense of time by winning or losing the game.

 

2022.2.25

We started to make the props, including two clocks for the players and props for tic tac toe.

2022.3.1

We furthered our storyline(add the opening and the end)and made other props such as the normal clock and the hole. 

2022.3.1

We decided to add a scoreboard and made it. We prepared and rehearsed for the next day’s performance.

( We forgot to record the rehearsal and only leave the picture of all of our props😭)

Part of our performance

 

Analysis and assessment of performance from another group

I’m sorry I can’t remember the exact title of the performance. It is about the current overwork situation and its influence. Three staff working in front of the computers and all of them wear glasses and gloves with surveillance capabilities. Their boss can monitor their employees’ every move in real time and their wages are measured by the exact number of hours they work. One of the staff works all the time and tries his best to earn more money to let his grandma move into the “Time Care Unit” mentioned in The Fish Of Lijiang.

I think their project is well relative to the fiction story. Their project is based on the background of The Fish Of Lijiang and it’s like another sideline in the world of the story. There is a subtle echo between how employees are forced to work hard because of the monitoring device and how employees are forced to do a lot of work because of the compressed sense of time. In addition, their props are made of cardboard and the phone is a screaming chicken. They met the criteria of the assignment and make their performance more interesting. 

Their main device is wearable so the interaction between people and the equipment is more direct. The viewing screen can be overturned to show the state of workers is also interactive. I think the design of gloves and glasses is creative because it completely monitors employee status, for me, I can probably only think of one. If there is anything that can improve, I would suggest them to design an interactive monitor for the boss to make the whole equipment more complete. 

 

 

 

 

 

 

 

Categories
Interaction Lab

Recitation 3: Sensors

Recitation 3

Force Sensitive Resistor

That was the first time that we needed to build a circuit on our own. At first, we were a little bit flustered. But after reviewing what we had learned, we decided to build a circuit based on the circuit of light sensor that we were most familiar with. 

At first, we connected the vibration sensor and mistook it as a pressure sensor. We pressed it hard and it gave us feedback. (I don’t know why. Maybe because when we pressed the sensor, we also shook it.) We thought we had completed part of the task but after we read the recitation website, we realized the problem and changed it into the right one. 

Diagram

Code

/*
  AnalogReadSerial

  Reads an analog input on pin 0, prints the result to the Serial Monitor.
  Graphical representation is available using Serial Plotter (Tools > Serial Plotter menu).
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/AnalogReadSerial
*/

// the setup routine runs once when you press reset:
int s_pin = A0;
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  pinMode(s_pin,INPUT);
  pinMode(9,OUTPUT);

}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  int newValue = map(sensorValue,0,1023,0,255);
  // print out the value you read:
  Serial.println(sensorValue);
   if (sensorValue > 10){
  digitalWrite(9,HIGH);
} else{
  digitalWrite(9,LOW);
}
  delay(1);        // delay in between reads for stability
}

Advanced version

We decided to add another output: buzzer to the circuit. But there was no feedback at first. We asked the IMA fellow for help and she told us maybe we need to change the number of delay to give the equipment more time to react. And this is the video of the equipment after modification. (the buzzer ringed but very small) 

Diagram

Code

/*
  AnalogReadSerial

  Reads an analog input on pin 0, prints the result to the Serial Monitor.
  Graphical representation is available using Serial Plotter (Tools > Serial Plotter menu).
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/AnalogReadSerial
*/

// the setup routine runs once when you press reset:
int s_pin = A0;
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  pinMode(s_pin, INPUT);
  pinMode(9,OUTPUT);
  pinMode(5,OUTPUT);
  
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  int newValue = map (sensorValue,0,1023,0,255);
  // print out the value you read:
  Serial.println(sensorValue);
  if (sensorValue > 100){
    digitalWrite(9,HIGH);
    digitalWrite(5,HIGH);
  }else{
    digitalWrite(9,LOW);
    digitalWrite(5,LOW);
  }
  delay(50);        // delay in between reads for stability
}

Question 1:

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 want to assemble a pressure sensor, an LED light, and a buzzer.  I think this sensor combination can be used for stressful people. When they feel stressed, they can just hold the pressure sensor tightly to relieve their stress, and maybe they will feel better after using this equipment. LED light can show different colors of light and the buzzer can play soft music when people press the force-sensitive resistor.  I think it will increase the fun of the sensor combination.

Question 2:

Code is often compared to following a recipe or tutorial.  Why do you think that is?

I think code is similar to following a recipe or tutorial because all of them need to follow the order step by step. And if anything goes wrong, the whole thing falls apart. In addition, all of them have a basic and certain rule to make the code, food, or homework perfect. There are a lot of ways to achieve perfect results no matter when we are coding, cooking, or tutoring. But there are certain lines we must observe such as adding a semicolon when the statement ends, not adding any soy sauce to a cream cake.

Question 3:

 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?

First, I think the computer makes human behaviors more orderly. Since computers are rational and they strictly obey the code that people type into, people may be influenced by computers and work step by step to make their work more effective and efficient.

In addition, computers make our human behaviors more productive. With the help of computers, people can deal with their work more quickly. For example, the speed of typing is more quickly than the speed of writing at least for me. And when I write articles on the computer, it is easier for me to alter statements. In that case, I can finish writing earlier with the computer’s help than I write by hand.