Week 07 Assignment: Document Midterm Efforts —— Lishan Qin

Overview

For the midterm project, I developed an interactive two player combat battle game with a “Ninjia” theme that allows players to use their body movement to control the actions of the character and make certain gestures to trigger the moves and skills of the characters in the game to battle against each other. This game is called “Battle Like a Ninjia”.

Demo

Code:

https://drive.google.com/open?id=1WW0pHSV2e-z1dI86c9RLPnCte3GflbJE

Methodology

Originally, I wanted to use a hand-tracking model to train a hand gesture recognition model that is able to recognize hand gestures and alter the moves of the character in the game accordingly. I spent days searching for an existing model that I can use in my project, however, I later found that the existing hand tracking models are either too inaccurate or not supported for CPU. Given that I only have one week to finish this project, I didn’t want to spent too much time on searching for models and ended up with nothing that can work. Thus, I then turned to use the PoseNet model. But I still do hope I can apply a hand-tracking model in the project in the future.

(hand gesture experiments ⬆️ didn’t work in my project)

In order to track the movement of the players’ body and use them as input to trigger the game, I utilized the PoseNet model to get the coordination of each part of the player’s body. I first constructed the conditions each body part’s coordination needs to meet to trigger the actions of the characters. I started by documenting the coordination of certain body part when a specific body gesture is posed. I then set a range for the coordination and coded that when these body parts’ coordinations are all in the range, a move of the characters in the screen can be triggered. By doing so, I “trained” the program to recognize the body gesture of the player by comparing the coordination of the players’ body part with the pre-coded coordination needed to trigger the game. For instance, in the first picture below, when the player poses her hand together and made a specific hand sign like the one Naruto does in the animation before he releases a skill, the Naruto figure in the game will do the same thing and  release the skill. However, what the program recognize is actually not the hand gesture of the player, but the correct coordination of the player’s wrists and elbows. When the Y coordination of both the left and right wrists and elbows of the player is the same, the program is able to recognize that and gives an output.

(use the correlation of coordination of wrists as condition to “train” the model to recognize posture)

As is shown in the above pictures, when the player does one specific body gesture correctly, and the program successfully recognize the gesture, the character in the game will release certain  skills, and the character’s defense and attack (the green and red chart) will also change accordingly. The screen is divided into half. PlayerA standing in front of the left part of the screen can control Naruto’s action with his body movement and PlayerB standing in front of the right part can control Obito. When the two characters battles against each other, their HP will also change according to the number of their current attack and defense.

Experiments

During the process of building this game, I encountered many difficulties. I tried using the coordination of ankles to make the game react to the players’ feet movement. However due to the position of the web cam, it’s very difficult for the webcam to get the look of the players’ ankle. The player would need to stand very far from the screen, which prevents them from seeing the game. Even if the model got the coordination of the ankles, the numbers are still very inaccurate. The PoseNet model also proves to be not very good at telling right wrist from right wrist. At first I wanted the model to recognize when the right hand of the player was held high and then make the character go right. However, I found that when there is only one hand on the screen the model is not able to tell right from left so I have to programmed it to recognize that when the right wrist of the player is higher than his left wrist, the character needs to go right…A lot of compromise like these were made during the process. If given more time, I will try to make more moves available to react to player’s gesture to make this game more fun.I will also try to build an instruction page to inform the users of how to interact with the game, such as exactly which posture can trigger what moves. 

Consuming Life- Isabel Brack- Inmi

Midterm Project: Consuming Life by Isabel Brack and Christina Bowllan

Context and Significance

We first met to discuss or project concept the week before the testing day for recitation, that day we accumulated our own personal research and brainstormed project ideas. I presented the two main concepts we had discussed either an interactive game involving memory or whack-a-mole style games and in far contrast interactive art pieces mostly sourced from social art exhibits focusing around a comment on society like surveillance. I looked at probably 50+ examples of Arduino art to see different media mixing that artists used including looking at Arduino’s art page and many Arduino art Youtube videos like this. Although many projects were not the social statement we wanted to make, they gave us ideas on how to mix Arduino and art. The most inspirational art installation I found, personally, was a European installation of many plastic bags that would inflate and deflate based on a person’s movement, representing a creature’s movement and breath called “One Hundred and Eight.” This project had multifaceted interactions, including the physical interaction of the audience and the piece responding to each other’s movements, input, processing, and output. It also included an important interaction component for art pieces, an engagement with art where the audience engages with the art as a conceptual piece, interpreting its significance and meaning. I also took influence from my group project as we focused on a more practical, problem solving device, I wanted to expand my project’s conception to focus on an experience and interaction for the audience rather than just the object by itself. Our group project originally focused on the object itself and its components, sensors, and problem solving, rather than the larger goal of the experience our smart kitchen and alfa watch were creating. That project focused on a basic definition of interaction to only include the person and the machine/device. It had straight forward sensory inputs, processing, and then straight forward outputs of food/cooking the food. For me, art and a greater message seemed like a good way to create an overall experience that involved many aspects to the interaction. “Consuming  Life” as an art project involved the simple interaction of pressing a few buttons and observing their effects on the human system including lungs and heart, but the interaction also included an aspect of thinking and interpretation of the art, which I consider to be a vital piece of the interaction.  This is similar too the interactive art exhibit we visited this weekend. The audience needed to consider the physical interaction of the art piece and its greater meaning in the context of society and human life, which was part of the intended interaction and experience. With “Consuming Life,” the interaction initiated when the audience began thinking about how to interact with the piece, touching different elements, and the main interactions began when the audience touched the price tag and the “try me” button which represented the first steps of consumption. Our idea of interaction included interpreting and understanding of the entire piece even after the audience was done pressing each button. For the games we originally considered making, I found examples like a light memory game and wack-a-mole, personally after seeing these examples I preferred the art choice both because of the creativity and message that accompanies interactive art, and the fact that many of these games had been created many times and already had complete sample code. A personal goal of mine was to write the code basically from scratch to learn how to really use Arduino. So although throughout the project I looked at many sample codes to see different strategies and codes which would move DC motors and blink the lights in the fashion we wanted, most of the code I wrote without copying from any one source. The code was still influenced by many readings and other codes I read through regarding Bullion statements specifically, pullup resistors, and toggle. The circuit was also mostly based on the DC motor circuit we built in class with an H-bridge only adding a button and three red LEDS with their own button(see code at bottom of blog post).

Conception and Design

preliminary sketch of first idea. Air pollution lung model.sketch phase 2. entire organ system on hangerFinal sketch including price tag and try me buttons

           Sketch 1                                     Sketch 2                                      Sketch 3

Our first idea for this art project was a lung model showing the effects of air pollution on the human lungs (sketch 1). Our original fully realized design for “Consuming Life” was an entire human organ system that used working lungs, a blinking heart, and light up organs like the stomach, all created from plastic waste(sketch 2). We were going to articulate our message of consumption taking over human life and action, through the waste products consumption created. We used 2D laser cutting for the box to hide the Arduino and breadboard and 3D printing to create the heart and some mechanical pieces like hooks to hold the box on the hanger, and two cylinders that fit into the holes of the 2D laser cut box to support the two DC motor fans, which controlled the lungs. The heart we sourced from an open source anatomical model and modified it to have a whole through it for the button and wiring, and the mechanical pieces we printed we designed ourselves with aid from Linda and Andy (Image 1). The 2D box we also designed ourselves. Besides the 2 and 3D materials we used recycling to make the lungs, price tag, and product box for the heart, which we chose as it fit our theme of consumption and the control it has on humans and the waste it creates. The box we used for the heart, actually used to be a tox product container, so we only made a few alterations to strengthen the structural integrity and cut holes for the wiring and “try me” button. We thought about many different buttons and sensors, but we ultimately choose the arcade buttons because we could integrate their use while connecting it to the meaning. We could articulate through the price tag button that the beginning of the consumption process, looking at the price tag case the human to rely and be fueled by consumption. We could not convey that same message with other sensors like ultrasonic or infrared, which would have been more interactive. Regarding our expected outcome of the audience interacting with our creation, the user testing session was extremely helpful to determine what was unclear about our how to us it, specifically making the buttons more understandable and connected to the concept, consumerism engulfing and consuming humans’ lives, controlling every aspect of their existence, demonstrated most fundamentally by the toy and consumption of it controlling the human’s lungs and heart. During the testing session, we observed and were told that they knew to press the button because they were familiar with buttons, not because their intuition was to touch the button. As a result, we altered our connection between the inputs and the rest of our art piece. We added a second button that was more intuitive made with cardboard, tinfoil, and two wires to create a price tag button that with minimal pressure will turn the lungs on. We also transformed the button inside the heart into a “try me” button like the ones often seen on kids toys to give the button purpose and reason. After user testing, I again tried a bunch of sensor out including a piezo disk, pressure pad, arcade button, and finally settled for our own price tag button (Video 1) because conceptually it fit our theme and intended interaction the best. 

3D printing of the hooks and different parts to hold up the boxImage 1

Image 1: 3D printing of the different parts like hooks, washers, and cylinders to hold the fans in place and hang the box on the hanger.

paper prototype

Image 2

Image 2: The paper prototype that is the same detentions of our final 2D laser cut box.

Video 1: The construction and testing of the price tag button with sample code on a digital serial monitor.

Fabrication and Production

The design process, a paper prototype (Image 2), user testing prototype(video 2), and final art piece( video 3&4) all went through drastic changes from idea conception to the final product. Our first design was just a set of lungs that was controlled by a button to show the effect of air pollution on the human system, it acted more like a model than a piece of art. As we continued to create our prototype and discuss with the class our ideas, we learned that something hanging and eye level would be more effective in giving our project a human form, like the art exhibit we looked at commenting on surveillance, using belts to represent humans. Our instructor suggest using a hanger to demonstrate the human silhouette while keeping in as a more abstract art piece. Which we eventually suspended our project from a chair in the user testing and then from a string in the final presentation. This perspective gave it an art and human quality that was distinctive compared to sitting on a table which would hit it more of a model feel. We created a completely working project for the user testing, and from the participants we learned we needed to strengthen the message and purpose of our piece, specifically making our statement about consumerism more clear, and from a consultation with Marcela, she suggested we turn the heart into a physical product to represent consumerism. After the sessions, we took the entire project apart and created a new button, by making the price tag. We also turned the heart into a product by packaging it and adding a try me button and lights to eliminate the packaging. During the test session we got feedback mostly around the concept being confusing to understand as the lungs worked but much of the project was taped together and a lot of the mechanics of the box and hanging mechanism were exposed and confusing(Image 2). Based on this feedback we hid the mechanics and 2D laser cut box behind the toy heart box. We also eliminated the temporary adhesives like we initially planned to and glued the 2D box, the heart, and the toy heart box to each other to make the look more finalized, as you can see comparing image 2, the user tester version  to image 3, the final project. Our greatest setback was the morning of the user testing, while Christina and I set up the project to test it before we started, some of the wires in the box came undone without our knowledge (as the box covered all the arduino and wires). As a result of the loose wires, when we powered up the 12 V power source my Arduino board got fried. After noticing this we rewired the entire circuit to a new Arduino and checked the wires, with the help of Marcela. After the board was rewired and the connections were double checked, along with replacing the H-bridge, the project function how it was supposed to, but we had to disconnect the LEDs for the user testing because there was not enough time to rewire and check them before it began. The greatest changes in our project came after our class discussion of projects and after the user testing. Both times we altered the concept and the design of the project entirely. As a result our concept and project improved greatly from the design phase to the final project. While Christina focused on 3D printing and the physical construction of the lungs, I focused on the 2D laser cutting design, the code, and the circuit. And together we designed the piece conceptually and assembled the piece together. One other issue I ran into with the code for this project was I used two different bullion statements to control each button and its corresponding function, but in Arduino, the code is used sequentially so only one button could be pressed at a time, which could be confusing for the audience, in hindsight maybe two Arduino boards each controlling one function would have helped the interaction. For the code and circuit, although I wrote and made my own I took inspiration from DC motor circuit and code ,DC motors controlled by potentiometers, and two way DC motor  (our final code is pasted at the bottom of the blog post). Although in reality the circuit and code to inspiration from each combine into a new different code that included two bullion statements, input_pullup functions, and toggle which I learned in external research about how to use buttons to control different loads.

Video 2: The working prototype for the user testing session.

Video 3

Video 4

Video 3&4: The working Final Project breathing (3) and lights (4).

User testing version covered in tape

Image 2: User testing prototype

Final Project

Image 3: Final product “Consuming Life”

Conclusion

Goals

Our Arduino and circuit art piece, “Consuming Life” aligned with my abstract understanding of integration. The project had physical interaction between two actors, the audience was required to press a button as an input, processing and output occured on the form of breathing or red blinking lights, and the audience was also required to think about the experience, interpreting the art and meaning. The final aspect of our interaction is what I believe is the most significant. But, our project in some ways can lend itself more to a reactionary project, having the audience press some buttons and then observe the results rather than continue to physically interact with it. In reality, the audience had a difficult time thinking past the physical object and only after a few  students and instructors explained the concept did all the student understand the greater meaning and greater interaction. The interaction that took place between the project and the audience was similar to our expectations, they pressed the buttons and touched the lungs while they inflated to feel the breaths in and out. Some of the audience seemed to contemplate and engage with the project more than others as they closely observed the different details to the piece including our labels and the movements and connection between the price tag and the directions. If we had more time, I would have liked to have more aspects to the toy heart, like a heartbeat along with the red blinking to make the toy “try me” button more realistic. My main accomplishment and take away from this project was learning how to create my own code on Arduino based on learning the basic skills of bullion statements, blinking LEDs, and reversing motors. Also, I learned how to research many different codes, projects, and circuits, interpret them, and take inspiration to use on my own projects. In addition, I  think we fine tuned our creative process learning to value all of the resources the IMA program has in the fabrication lab and with the professors and fellows. I learned a lot about the process of these interactive projects, prototyping in paper and cardboard then creating a working version and trouble-shooting and debugging code, and the physical mechanics of the process. We especially had setbacks and learning moments while trying to get the lungs to breath noticeably. First we tried the fans in our arduino kits with plastic shopping bags, but the fans were not powerful enough and the bags were not as air tight and thick. Later, we settled on thing trash bags and super glue to ensure a tight fit, and thick plastic fans to increase the power of the fans. Once the lungs were air tight, I could better control the air movement and reverse the motors to create and inhale effect, making a more noticeable and realistic lung movement. In making this project there were two components that gave us, the creators, and the audience distinct value. First, discussing the social concern of consumption and the role consuming plays in every human’s life along with the control it exerts over our very existence. And, as creators of the project the district value I found was following a project through from the brainstorming and design, to testing, reworking, trouble shooting, and finalizing. As a process it was the definition of experiential learning, teaching yourself to trouble shoot multiple aspects like coding, circuits, and the physical mechanics of the project. I especially remember all the  trials and tribulations we faced to get the lungs air tight so that the motor could control both the exhale and inhale. Once we used the super glue and got the lungs to actually resemble human breath patterns, it felt like a real accomplishment, no matter how small a step it actually was, especially because we used trial and error for an hour or two to get our desired result. Between each design step we reworked our idea almost completely, to find the best final product we could based on our current skill level and time limit. From start to finish the project transformed resembling three conceptually and mechanically different designs each time. The process eventually lead us to our final result of “Consuming Life.”

Broader Conclusion

We created this project with a larger theme and goal in mind, not just the demonstration of lungs inhaling and exhaling and a toy turning on. Our goal was to make the audience think about humans’ relationship with consumption and plastic in their everyday life and possibly their own life. The initial consideration of a product’s price or function (the “try me”button) constitutes the first step of consumption, which in the modern era in inseparable from human life. As it is practically impossible to be self sufficient today, everyone is dependent on purchasing necessities, whether it be food and water or a toy anatomical heart. However, most of society does not think about their relationship with consumption and the environmental and societal effects it has let alone thinking of them self as a constant consumer. “Consuming Life” aims to demonstrate the inseparable bond between consumption and human life, suggesting a dependence on consumption to breathe and live. The greater meaning, experience, and interpretation, to me, is what I consider the “so what factor” to our project. Regarding the process of creating the process, this experience was helpful in improving my design process and execution, seeing the project through from research, brainstorming, sketching, designing, prototyping, building, testing, reworking, and finalizing.

Code:

int motor1pin = 6;
int motor2pin = 7;
// h bridge pin
int ButtonState = false;
int ButtonState2 = false;
int Button = 2;
int Button2= 4;
int red1= 8;
int red2= 9;
int red3= 10;
boolean toggle = true;
void setup() {

pinMode(motor1pin, OUTPUT);
pinMode (motor2pin, OUTPUT);
pinMode(red1, OUTPUT);
pinMode(red2, OUTPUT);
pinMode(red3, OUTPUT);

pinMode(Button, INPUT_PULLUP);
pinMode(Button2, INPUT_PULLUP);

}

void loop() {

int ButtonState = digitalRead(Button);
if (ButtonState == LOW)
{
if(toggle)
{
digitalWrite(motor1pin, HIGH); // motor turns on
digitalWrite(motor2pin, LOW);
delay (4000);
digitalWrite(motor1pin, LOW); // motor turns on
digitalWrite(motor2pin, LOW);
delay (100);
digitalWrite(motor1pin, LOW);
digitalWrite(motor2pin, HIGH);
delay (3000);
digitalWrite(motor1pin, HIGH);
digitalWrite(motor2pin, LOW);// motor and Redled turn off after 3 seconds after blinking finishes
delay (4000);
toggle = !toggle;
digitalWrite(motor1pin, LOW); // motor turns on
digitalWrite(motor2pin, LOW);
delay (100);
digitalWrite(motor1pin, LOW);
digitalWrite(motor2pin, HIGH);
delay (3000);
digitalWrite(motor1pin, HIGH);
digitalWrite(motor2pin, LOW);// motor and Redled turn off after 3 seconds after blinking finishes

delay (4000);
digitalWrite(motor1pin, LOW); // motor turns on
digitalWrite(motor2pin, LOW);
delay (100);
digitalWrite(motor1pin, LOW);
digitalWrite(motor2pin, HIGH);
delay (3000);
digitalWrite(motor1pin, HIGH);
digitalWrite(motor2pin, LOW);// motor and Redled turn off after 3 seconds after blinking finishes

delay (4000);
digitalWrite(motor1pin, LOW); // motor turns on
digitalWrite(motor2pin, LOW);
delay (3000);
digitalWrite(motor1pin, LOW);
digitalWrite(motor2pin, HIGH);
// motor and Redled turn off after 3 seconds after blinking finishes
delay (4000);
digitalWrite(motor1pin, LOW);
digitalWrite(motor2pin, LOW);
delay (13000);
}
else
{
digitalWrite(motor1pin, LOW);
digitalWrite(motor2pin, LOW);/// motor turns off
toggle = !toggle;
}

}
int ButtonState2 = digitalRead(Button2);
if (ButtonState2 == LOW)
{
if(toggle)
{
digitalWrite(red1, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(red2, HIGH);
digitalWrite(red3, HIGH);
delay(1000); // wait for a second
digitalWrite(red1, LOW); // turn the LED off by making the voltage LOW
digitalWrite(red2, LOW);
digitalWrite(red3, LOW);
delay(1000);
digitalWrite(red1, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(red2, HIGH);
digitalWrite(red3, HIGH);
delay(1000); // wait for a second
digitalWrite(red1, LOW); // turn the LED off by making the voltage LOW
digitalWrite(red2, LOW);
digitalWrite(red3, LOW);
delay(1000);
digitalWrite(red1, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(red2, HIGH);
digitalWrite(red3, HIGH);
delay(1000); // wait for a second
digitalWrite(red1, LOW); // turn the LED off by making the voltage LOW
digitalWrite(red2, LOW);
digitalWrite(red3, LOW);
delay(1000);
digitalWrite(red1, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(red2, HIGH);
digitalWrite(red3, HIGH);
delay(1000); // wait for a second
digitalWrite(red1, LOW); // turn the LED off by making the voltage LOW
digitalWrite(red2, LOW);
digitalWrite(red3, LOW);
toggle = !toggle;

}
else
{
digitalWrite(red1, LOW);
digitalWrite(red2, LOW);/// motor turns off
digitalWrite(red3, LOW);
toggle = !toggle;
}

}
}

CONSUMING LIFE- Christina Bowllan- Inmi Lee 

CONTEXT AND SIGNIFICANCE 

In the previous group project, we created a device that would help people learn how to dance by mimicking the teacher’s motion. The conclusion I had drawn about interaction from this project is, yes, interaction is on the surface “a cyclic process in which two actors listen, think and speak (Crawford 3)” , but within this class, we should aim to create meaningful interactions. Meaningful interactions to me means that the user is somehow learning from the interaction or is benefitting from it. One great example of this is a device called Nail O which allows you to move the computer screen up and down while scrolling along the device. This project fit all parts of my definition because not only is the user interacting with the device, but it serves a purpose which is to help people while cooking. Thus, when Izzy and I created our midterm project, the Nail O served as inspiration because I wanted our project to have an impactful effect as well. In addition, while we were researching, we looked at various whack-a-mole and memory games to get ideas of how to physically build our idea and incorporate an interactive button. 

Izzy and I for the midterm project created an interactive art piece that informed users of peoples’ dependence on consuming. We realized that a lot of our friends are obsessed with having the latest brand items and buying more than they need at stores, so we wanted to call our generation’s attention to this modern dilemma. Within the next sections, you will read about the challenges we faced and how our ideas evolved into the final project. 

CONCEPTION AND DESIGN:
While designing the project, we went  back and forth of the best way to do it. We realized from Tigoe’s reading that the interactive device should be self-explanatory, so we tried to model our idea after this. Firstly, we decided to build a realistic model of a human because we thought that the users looking at it would realize that this a phenomenon related to people. In order to build the model, we used the 3d printer to create a human heart which would have a hole for the button; This later on would be placed inside of a toy box to signal that our hearts are the “product” of consumption.

The next, and hardest part, was to craft the lungs. We used trash bags to represent lung sacs and then placed little fans inside of them in order inflate and deflate the lungs. Trash bags were a great conceptual choice because they signaled to the users that, at our core, we are becoming the consumer culture, but the material itself was really difficult to work with. We spent hours constructing a way for the fans to not touch the plastic bags when they would deflate and we ended up putting cardboard around the fans to avoid this problem.

Then, we created a box using the laser cutter to hold the arduino board and the various jumper cables. The box material itself was great to work with, but we had to adjust the online sketch many times in order to make the “puzzle piece” ridges work.

Finally, when we constructed the whole art piece, we hung the heart and lungs side by side from a hanger because the hanger looks like human shoulders and we hid the arduino box behind the other pieces. We also decided to make this a hanging art piece because we wanted the users to be at eye level with the problem. And, hanging from the box with the heart, we had a hidden button disguised in a price tag, so when the user would check the price, the lungs would start to inflate and deflate.   

(Pardon Izzy in this photo)

  • FABRICATION AND PRODUCTION:

In the previous section, that is a description of what the project physically looked like in the end but before user testing, our project had a different meaning and construction. Our first idea was to create a human body, but the trash bag lungs were supposed to represent environmental issues and how we use too much plastic. 

During user testing, however, we realized that the students and teachers did not understand this meaning because we had not decorated enough. We afterwards could have continued to strengthen the environmental idea, but we decided to create a model around consumption because we had some interesting conversations about this with the teachers. So, from this step, Izzy focused primarily on changing the code, and I focused mostly on the design. In terms of the code, we added and changed a few different things. First, we changed the direction of the fans to make it look like the lungs were inflating and deflating. Before user testing, the lungs would continuously blow up, but we heard from the users that it did not look realistic. We also added a button in the heart, and when people touched it the LED lights would turn on which provided a fun toy box effect. The biggest coding adjustment we made was we changed the sensor of the button connected to the lungs and disguised it in a price tag so the interaction had a greater meaning. The idea behind this interaction is, if the users care enough to touch the price tag to check the cost, then they are willing to buy it, and the act of wanting to buy everything consumes our life. Thus, the lungs would start to inflate showing we are embodying this lifestyle. In addition to this, in order to convey the same meaning, we put the heart inside of a box to show that we are being taken over by shopping culture. 

sketch phase 2. entire organ system on hanger

  • CONCLUSIONS:

My goal for this project was to create an interactive art piece that also possessed a greater meaning. Our final project in a lot of ways did align with my definition; We had two different types of buttons that users could interact with and it was self-explanatory how to use them. In terms of the greater meaning, we definitely had that, but the users did not understand this from the first usage. While people were interacting with it, the atmosphere was quiet which created the thought-provoking environment we wanted, but the users did not realize that the overall meaning was related to consumption. If we had more time, I think adding more body parts could help people reach the conclusion faster because they would realize that the meaning had something to do with humans. Also, maybe this would hint at our idea too much, but I think adding a poem about peoples’ obsession with consumption or something related to this topic might give a better sense of our overall meaning.

The biggest lesson I have taken away from this project is definitely patience– all great things come with time, right? While I was constructing the lungs, it took hours to make it so that the cardboard would not touch fans and then ultimately not touch the plastic bags. It was beyond frustrating at times because I would be so close to making it work, and then something would go wrong. Also, I learned from this project that accepting help and feedback is what makes the project better. I am so used to thinking that doing everything by myself is the best way to do it, but hearing everyones’ feedback during the user testing is how we learned how to fix our mistakes. 

Overall, my generation’s obsession with shopping and consuming is extremely  problematic. It seems like the more we shop and care about having the latest IPhones makes our conversations and friendships shallow because we are only concerned with superficial things. If we want to preserve authentic connections, people should be aware that when our mind and heart are consumed by the act of consumption, that is all we can handle. 

Arduino Code

int motor1pin = 6; 
int motor2pin = 7; 
// h bridge pin
int ButtonState = false;
int ButtonState2 = false;
int Button = 2;
int Button2= 4;
int red1= 8;
int red2= 9;
int red3= 10;
boolean toggle = true;
void setup() {
 
  pinMode(motor1pin, OUTPUT);
  pinMode (motor2pin, OUTPUT);
    pinMode(red1, OUTPUT);
  pinMode(red2, OUTPUT);
  pinMode(red3, OUTPUT);
 
  pinMode(Button, INPUT_PULLUP);
   pinMode(Button2, INPUT_PULLUP);
  
}
 
void loop() {
 
  int ButtonState = digitalRead(Button); 
  if (ButtonState == LOW)
  {
    if(toggle)
    { 
      digitalWrite(motor1pin, HIGH); // motor turns on
      digitalWrite(motor2pin, LOW);
       delay (4000);
      digitalWrite(motor1pin, LOW); // motor turns on
      digitalWrite(motor2pin, LOW);
      delay (100);
     digitalWrite(motor1pin, LOW);
      digitalWrite(motor2pin, HIGH);  
     delay (3000);
      digitalWrite(motor1pin, HIGH);
      digitalWrite(motor2pin, LOW);// motor and Redled turn off after 3 seconds after blinking finishes
     delay (4000);
      toggle = !toggle;
      digitalWrite(motor1pin, LOW); // motor turns on
      digitalWrite(motor2pin, LOW);
      delay (100);
     digitalWrite(motor1pin, LOW);
      digitalWrite(motor2pin, HIGH);  
      delay (3000);
      digitalWrite(motor1pin, HIGH);
      digitalWrite(motor2pin, LOW);// motor and Redled turn off after 3 seconds after blinking finishes
   
      delay (4000);
      digitalWrite(motor1pin, LOW); // motor turns on
      digitalWrite(motor2pin, LOW);
      delay (100);
     digitalWrite(motor1pin, LOW);
      digitalWrite(motor2pin, HIGH);  
      delay (3000);
      digitalWrite(motor1pin, HIGH);
      digitalWrite(motor2pin, LOW);// motor and Redled turn off after 3 seconds after blinking finishes
 
      delay (4000);
      digitalWrite(motor1pin, LOW); // motor turns on
      digitalWrite(motor2pin, LOW);
       delay (3000);
       digitalWrite(motor1pin, LOW); 
      digitalWrite(motor2pin, HIGH);
    // motor and Redled turn off after 3 seconds after blinking finishes
      delay (4000);
       digitalWrite(motor1pin, LOW);
      digitalWrite(motor2pin, LOW);
      delay (13000);
    }
    else
    {
      digitalWrite(motor1pin, LOW); 
      digitalWrite(motor2pin, LOW);/// motor turns off 
      toggle = !toggle;
    }
 
 
}
 int ButtonState2 = digitalRead(Button2); 
 if (ButtonState2 == LOW)
  {
    if(toggle)
    { 
      digitalWrite(red1, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(red2, HIGH); 
  digitalWrite(red3, HIGH); 
  delay(1000);                       // wait for a second
  digitalWrite(red1, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(red2, LOW);  
  digitalWrite(red3, LOW);  
  delay(1000);     
  digitalWrite(red1, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(red2, HIGH); 
  digitalWrite(red3, HIGH); 
  delay(1000);                       // wait for a second
  digitalWrite(red1, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(red2, LOW);  
  digitalWrite(red3, LOW);  
  delay(1000);     
  digitalWrite(red1, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(red2, HIGH); 
  digitalWrite(red3, HIGH); 
  delay(1000);                       // wait for a second
  digitalWrite(red1, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(red2, LOW);  
  digitalWrite(red3, LOW);  
  delay(1000);     
  digitalWrite(red1, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(red2, HIGH); 
  digitalWrite(red3, HIGH); 
  delay(1000);                       // wait for a second
  digitalWrite(red1, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(red2, LOW);  
  digitalWrite(red3, LOW);    
      toggle = !toggle;
  
    }
    else
    {
      digitalWrite(red1, LOW); 
      digitalWrite(red2, LOW);/// motor turns off
       digitalWrite(red3, LOW);  
      toggle = !toggle;
    }
 
 
}
}

P.S- Thanks to Andy, Rudy and Inmi for all of their help in the lab!!


Midterm Project: “Lights Off (3×3)”-Kurt Xu-Eric Parren

       In my previous project, my team discussed about the idea of “interactive”. In order to understand the concept of “Interactive”, I did quite a few researches and had a broader comprehension of the idea, and in the mid term project, I implemented what I’d learnt previously. From the initial of building a simple but fun game, my group made some attempts and finalized our project as the flip game, which the players can try for a long time to optimize their operation and reach the final goal: turn all lights off. We think that such game with a little challenging element and brainwork required, in other words, a puzzle game, may be more interactive.

The idea “interactive” can be simply concluded with three phase: “Input”, “Process” and “Output” .In our midterm project “Lights Off (3×3)”, the input component is a IR remote controller, and the signal is processed through the program stored in the Arduino, and then reflects in the form of lights on and off. I also learnt from the previous experience that to a project accomplishing a single specified function is usually more effective than creating a vague over-all platform, and “The simplicity is beauty.” becomes the main principle of the design of this project, which not only means to be simple, but using the simplicity to arouse thoughts and imagination of the users. In our design, the whole outlook serves the principle well with almost no distraction above and covers the messy wires inside.

the testmodel

The most difficult part, personally thinking, is the programming part. To find the logic between the operation is not hard but facing malfunctioning situations and problems in uploading data is really frustrating. Many is unexpected and we are definitely not prepared for it. But, eventually, I used the most direct and stupid way to solve all the problems: quarantine controversy part and troubleshoot one by one. As the logic part became too complicated, then I rewrite it with multiple if functions to achieve the same function. In that way, I eliminated most problem with the knowledge I’d learnt.

Our expected goal is to stay simple, understandable and playable, and I think that we accomplished most of it. The best part we do is to be interactive. The project asked for some tactics and strategy and therefore require more interaction of the users. Yet I still think that we can improve a bit in the to be understandable part, as the rule of the game is not written on anywhere of the device. A piece of paper with instructions on it should do it and help a lot. I advocate the simplicity for that’s the exploring and innovating path, laying the foundation stones down below and then comes the complexity developed on that, so I think that we all should start from the simple things