Week5: drawing machines, Yumo Yao( Leon)

Circuit: Drawing Machines

Materials:

·     Arduino or Genuino board: an electrical coupler to do the output of the code.

·     hook-up wires: for connecting the circuit.

·     Breadboard: for placing all the materials.

·     42STH33-0404AC stepper motor: to rotate with the control of the Arduino.

·     SN754410NE ic chip: a plastic packaging piece where all the integrated circuits are contained.

·     power jack: to connect to the power.

·     12 VDC power supply: to provide power for the circuit.

·     2 * Laser-cut short arms

·     2 * Laser-cut long arms

·     1* Laser-cut motor holder

·     2 * 3D printed motor coupling

·     5 * Paper Fasteners

·     1 * Pen that fits the laser-cut mechanisms

·     Paper

 

It is easy to connect the circuit with the instruction of the picture posted onto the website. The only thing that need to be noticed is the connection of potentiometer. There are 3 pins within the potentiometer, and 2 pins on the side should connect to the power and ground respectively, while the other one connected to the analog. When we find that the ground pins or the power pins are not enough, don’t forget to connect them with the breadboard, so that we can get a row of pins. There is a certain delay when we use the potentiometer, that the direction of the rotation cannot change immediately when we rotate the potentiometer. Also, the stepper motor may stop if there is no operation within a certain period of time, so we have to operate it at set intervals. The other steps are always physical connections, and the machine can work in that case.

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 like to build a machine that is connected wirelessly to my brain so that it can read my thought. It’s like a much more intelligent version of Siri, and as I give order to it, it can provide various services accordingly. It has a sensor that can sense the subtle brain activity of the user, and then transfer the biological signals into electrical signals. The electrical signals will be processed accordingly, and the screen made of LEDs will show the instruction which was read from the brain.

When the user put on the wearable equipment on his or her head, the machine will start working automatically. The signal form the brain might be subtle movement of some certain parts of the brain or the electrical signals in the nerves. Different combinations of the signals might mean different thoughts in the mind. As the machine itself has entered the information that what each combination means in advance, it can show the order on the LED board.

To create such a machine like that, the first part is to try to know what is happening inside the head with only the equipment outside the brain. Through a series of sensors such as the temperature sensor and the electricity current sensor, we can get the information from inside the head. Also, with the help of the 3D printer, the wearable equipment can be easily designed. It might look like an earphone. The whole digital transforming part can be designed in Arduino, python, and some other coding systems. 

 

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?

One of the project that I found interesting is the drumming and drawing subhuman, which is a computer-controlled robot. This robot imitates the movement of human drummers in a certain way and play music. I think it is really interesting that human beings were trying to manifest human behaviors onto different robots, and this opinion still works in recent days. Both this robot and the drawing machine imitate a certain function of human mind such as playing the music and drawing. However, the robot seems to be much more intelligent.

Week 4, Research Project (Leon)

my definition of interaction:

Interaction happens at all time. It can happen between human beings, as well as between human beings and physical machines. Generally, interaction is a process of listening, thinking and speaking, which means input, process and output. When you give an instruction, the machine will process in a certain way that we set in advance, and then it will send out the information through some physical way such as sound, light, moving etc. Also, the interaction between human beings happens everywhere in our daily. Where there is communication, there is interaction. When we talk to each other, we give instructions, then the listener will think, and then answer and react. Actually, in my opinion, there isn’t anything that is not interaction. For example, even the simplest thing like typing on the computer, I give my computer instruction by typing on the keyboard, and the computer interact with me by showing words on the screen. After reading what is shown on the screen, I will think and have some further reaction. So, we can say that interaction is a transition of information or energy.

 

comments on two projects:

The one project that I really like is ChineseWhispers – Inaccurately transmitted gossip. This project, based on Arduino, includes 4 rotating heads made of plastic arranged in a row. There is a speaker is the mouth of each head, and the design emphasizes the speaking and listening part of the head. When the operator says something to the first head, it will turn to the next head and repeat what the operator says. Then the second would turn to the third one, the third to the fourth. The most interesting part is that the conversation between the first and the second head sounds like the words of the human beings, but when the words spread further, the tune sounds higher and sharper. Especially the conversation between the third and the fourth one is too sharp to recognize the content, and the sound is harsh and strident. I like this one so much because the idea of the design really touches me. So terrifying it is that the rumor would change into a worse one after several times of transmitting. This idea seems to be widely known, but it is hard to present this simple idea in an interactive way. This includes interaction between human and machine as well as the interaction between different parts of a machine. The interaction makes the point clear and interesting.

 

The one project that I dislike is Face Trade – Art vending machine that trades mugshots for “free” portraits. This machine would scan the face of user and make an abstract portrait painting according to the picture it scanned. I do not like it because I couldn’t figure out the connection between the human face and the painting, and there is no similarity between them. Also, it mentioned that the machine would do it for free as long as you agree to keep your facial image in the machine permanently. I think this is kind of violating the privacy of the user. Generally, this interaction seems to make no sense.

 

group work:

At first, we misunderstood the requirement of the research project. We thought of some mechanical way of doing the project like using some materials like wheel gears and pullies. At that time, we had no idea of what to do, and it could be really hard to learn about mechanical design ourselves and figure out the solution in that limited time. We were inspired from the video shown in the class, which was about an intelligent toaster, and then we thought about limiting all the ideas within a box. Then we focused on the probably problems that may happen in 2118. Finally, we focused on the environmental problem, for we still want to keep some simple mechanical elements in our project.

Basically, our project was about protecting the extinct plants that we put the plants in the boxed nature in advance, the environment inside the box can provide it a suitable temperature and moisture so that it won’t be in danger. When the user need the plant for displaying or scientific research, they can pull up the slider bar and rotate the rotary switch on the side of the box so that the lid of the box can open, and the plant will rise. Since the opening and rising device can’t be handled by a single person but two or even more people, this project was designed to promote the interaction between human beings.

 

my critique:

I would like to criticize that there exist some interactions that in meaningless and even bring some inconvenience to our daily life. Let me take the tune which rings whenever someone get into familymart as an example. This interaction doesn’t sound like a warm welcome, and it might disturb other consumers in the convenience store. Generally, there is no practical significance of this design, and if interaction is made simply for interaction itself instead of reinforcing the connection between human beings or between human beings and machine, it could be regarded as a waste of resource.

Week 3, Moisture Sensor( Leon)

Circuit 1: Moisture Sensor

Materials:

·     Arduino or Genuino board: an electrical coupler to do the output of the code.

·     LED: for making lights.

·     220 ohm resistor: for making sure the safety of the circuit and avoiding the short circuit.

·     hook-up wires: for connecting the circuit.

·     Breadboard: for placing all the materials.

·     Moisture sensor: sense the change of the moisture.

This circuit does not include lots of materials. However, my partner and I had faced the difficulty that we don’t know how to deal with the output, for the code provided by the Arduino website only included the part about the sensor itself without the part of the LED. We decided to code ourselves. We defined the LedPin at the start of the code. My partner and I was in an argument about whether we should define the Brightness and FadeAmount, because we were trying to imitate the coding in the example” fade”. Finally, we worked out that we do not need to focus on FadeAmount, for we don’t need the LED fade at all but turn on and turn off. And we tried to define the brightness. Also, we figured out the right way to turn on and turn off the light by coding. But when we tried to operate the Arduino, we found it didn’t work for tons of mistakes. Firstly, there should be semicolons after each line of the code except the “if” one. Secondly, the circuit connected on the breadboard was not correct. The sensor should be connected directly to the Arduino board and the output parts would be placed onto the breadboard. We connected the resistor right between the LED and the wires, which will absolutely lead to a sort-circuit. Thirdly, we try to use the word “moisture”, but we found that it didn’t work cause we hadn’t give the definition of this word in advance. We simply deleted it and used “sensorValue” instead of that. The program finally worked.

 

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?

I intended to build a circuit includes a moisture sensor in order to test the moisture of the environment. As it cannot be used to test the humidity of the air, and it is meaningless to test the moisture of water, I personally think it could be used by the farmers. They could test the humidity of the soil to decide whether the crop needs watering.

 

Question 2:

Can you identify your circuit with any device you interact with in your daily life? How might your circuit be used to have a meaningful interaction?

The circuit can be used in the planting that we can invent a smart pot which can test the moisture of the soil in order to monitor the growth condition of the plant. This circuit can interact with a smart spray that once the moisture is lower than a certain point, the spray would work, and it would humidify the environment.

 

Question 3:

How is code similar to following a recipe or tutorial?

The code it provided didn’t include the part about the LED. That it could only show a series of numbers of humidity when opening the port monitor. But we can tell that the basic code of these two are the same. It included identifying the input and output and defining all the materials and statistics. The only difference between the example and what we wrote is that we added the part of LED, so that the LED would be on if the sensor value is no less than 30.

 

Question 4:

In 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?

As all the media become practical that even those who are not major in it can easily have a close encounter with it, our lives have been changing a lot. At first, the computer was designed to compute, and the efficiency of computing increased a lot. Generally, the existence of computer provides us brand new ways of learning, communicating, entertaining and many other stuffs. I think the most significant point is that since the computer is wildly used in our daily life, we can build a data base to store all the information. With the proper and full use of the information, our life is much more convenient and efficient.

Week 2, Document on recitation class (Leon)

Circuit 1: Fade

Materials:

·     Arduino or Genuino board: an electrical coupler to do the output of the code.

·     LED: for making lights.

·     220 ohm resistor: for making sure the safety of the circuit and avoiding the short circuit.

·     hook-up wires: for connecting the circuit.

·     Breadboard: for placing all the materials.

This is a simple circuit, and the output of the code is fading of the LED. It will flicker with the frequency you designed in the code. I tried to change the frequency and it worked.

 

 

Circuit 2: toneMelody

Materials:

·     Arduino or Genuino board: an electrical coupler to do the output of the code.

·     hook-up wires: for connecting the circuit.

·     Breadboard: for placing all the materials.

·     Buzzer: for making sounds.

This is also a simple circuit that you only have to connect all the materials in series. But one thing need to mention is that if it is always failure to upload the Arduino code, perhaps it is because of choosing the wrong port.

 

Circuit 3: Zelda Simon Says

Materials:

·     Arduino or Genuino board: an electrical coupler to do the output of the code.

·     hook-up wires: for connecting the circuit.

·     Breadboard: for placing all the materials.

·     Buzzer: for making sounds.

·     LED: for making lights.

·     220 ohm resistor/1k ohm resistor: for making sure the safety of the circuit and avoiding the short circuit.

·     Push-Button Switch: for controlling the work condition of the circuit.

This is a really difficult circuit with tons of wires, LEDs, push-buttons and resistors. At first, I didn’t understand what this circuit was used for, and all the materials were in a mess, so I simply connected it according to the instructive picture. But my groupmate and I faced many problems. In the beginning, we didn’t really noticed the connection way of the materials, and we didn’t connect some of them which should had been connected. For example, the LEDs were connected to the push-button through the breadboard, but we made it separated. We finished all the connecting work as the class ended, but when we pressed certain push-button, we can only hear the sound and there were only 2 of these 4 LEDs were working. And we still had no idea of how this stuff worked. During the weekend, I turned to my friend who is studying introduction to computer science, and he found out the mistake with connecting the wires, that due to the mistake, the other 2 LEDs weren’t even connected into the circuit. After the reconnection, I finally found out the rules of this memory game. And I realized that these 2 different music tunes represented true or false. It was a quiet interesting game, and I was truly amazed.

 

Question 1:

Reflect on different interactions with technologies that you have observed in your daily life. Pick a few of these and write down your own definition of interaction based on your observations.

In my opinion, interaction is the transmission of information between two items. Interaction can be in every small part of our daily life. One simple example is that playing the computer. While we are typing or using the mouse, we are actually sending information to the machine. And the computer will interact with us by showing images, making sounds after some nice operation of its software and hardware. Also, interaction not only happens between human and machines, but also between human and human, machines and machines.

 

Question 2:

During the assembly of the circuits, we used many electronic components as inputs and outputs. Which of these components do you recognize in the circuit?

Input: push-button;

Output: LED, buzzer.

 

Question 3:

If you have 100000 LEDs of any brightness and color at your disposal, what would you make and where would you put it?

I’ll made it a LED screen. With these much LEDs, it can show different images by the variety of the brightness and the color. And the number of the LEDs is enough for a screen. I’ll make the LED screen stuck to the wall that it can show many different ads and other information.

 

Question 4:

Which reflections about the nature of interaction can you make about the Figure I.1 in the Physical Computing reading?

 The nature of interaction is input and output. And the process is bidirectional. As we recognize the computer, the machine is at the same time recognizing us. But we can find what we know is segmentary, which is perhaps because of the lack of certain sense organ, just like the desktop cannot feel the existence of the other parts of the human body.

 

/*This sketch is a simple version of the famous Simon Says game. You can use it and improved it adding
  levels and everything you want to increase the diffuculty!

  There are five buttons connected to A0, A1, A2, A3 and A4.
  The buttons from A0 to A3 are used to insert the right sequence while A4 to start the game.

  When a wrong sequence is inserted all the leds will blink for three time very fast otherwhise the
  inserted sequence is correct.


  Hardware needed:
  5x pushbuttons
  1x Blue led
  1x Yellow led
  1x Red led
  1x Green Led
  4x 1k resistors
  4x 10k resisors
  10x jumpers
  
  Source: https://create.arduino.cc/projecthub/Arduino_Scuola/a-simple-simon-says-game-25ba99
https://www.hackster.io/Arduino_Scuola/a-simple-simon-says-game-25ba99

*/
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 523

#define startButton 2
#define button1  3
#define button2  4
#define button3  5
#define button4  6
#define LED1 7
#define LED2  8
#define LED3 9
#define LED4  10
#define buzzer  11

const int MAX_LEVEL = 100;
int sequence[MAX_LEVEL];
int your_sequence[MAX_LEVEL];
int level = 1;

int velocity = 1000;

void setup() {
  pinMode(startButton, INPUT);
  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(button3, INPUT);
  pinMode(button4, INPUT);
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(buzzer, OUTPUT);

  digitalWrite(LED1, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED4, LOW);
}

void loop()
{
  if (level == 1)
    generate_sequence();//generate a sequence;

  if (digitalRead(startButton) == LOW || level != 1) //If start button is pressed or you're winning
  {
    show_sequence();    //show the sequence
    get_sequence();     //wait for your sequence
  }
  noTone(buzzer);

}

void show_sequence()
{
  digitalWrite(LED1, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED4, LOW);

  for (int i = 0; i < level; i++)
  {
    switch (sequence[i]) {
      case (2):
        digitalWrite(LED1, HIGH);
        tone(buzzer, NOTE_CS5, 100);
        delay(velocity);
        digitalWrite(LED1, LOW);
        noTone(buzzer);
        delay(200);
        break;
      case (3):
        digitalWrite(LED2, HIGH);
        tone(buzzer, NOTE_B4, 100);
        delay(velocity);
        digitalWrite(LED2, LOW);
        noTone(buzzer);
        delay(200);
        break;
      case (4):
        digitalWrite(LED3, HIGH);
        tone(buzzer, NOTE_AS4, 100);
        delay(velocity);
        digitalWrite(LED3, LOW);
        noTone(buzzer);
        delay(200);
        break;
      case (5):
        digitalWrite(LED4, HIGH);
        tone(buzzer, NOTE_A4, 100);
        delay(velocity);
        digitalWrite(LED4, LOW);
        noTone(buzzer);
        delay(200);
        break;

    }

  }
  noTone(buzzer);
}

void get_sequence()
{
  int flag = 0; //this flag indicates if the sequence is correct

  for (int i = 0; i < level; i++)
  {
    flag = 0;
    while (flag == 0)
    {
      if (digitalRead(button4) == LOW)
      {
        digitalWrite(LED4, HIGH);
        your_sequence[i] = 5;
        tone(buzzer, NOTE_A4, 100);
        flag = 1;
        delay(200);
        if (your_sequence[i] != sequence[i])
        {
          wrong_sequence();
          return;
        }
        digitalWrite(LED4, LOW);
      }

      if (digitalRead(button3) == LOW)
      {
        digitalWrite(LED3, HIGH);
        your_sequence[i] = 4;
        tone(buzzer, NOTE_AS4, 100);
        flag = 1;
        delay(200);
        if (your_sequence[i] != sequence[i])
        {
          wrong_sequence();
          return;
        }
        digitalWrite(LED3, LOW);
      }

      if (digitalRead(button2) == LOW)
      {
        digitalWrite(LED2, HIGH);
        your_sequence[i] = 3;
        tone(buzzer, NOTE_B4, 100);
        flag = 1;
        delay(200);
        if (your_sequence[i] != sequence[i])
        {
          wrong_sequence();
          return;
        }
        digitalWrite(LED2, LOW);
      }

      if (digitalRead(button1) == LOW)
      {
        digitalWrite(LED1, HIGH);
        your_sequence[i] = 2;
        tone(buzzer, NOTE_CS5, 100);
        flag = 1;
        delay(200);
        if (your_sequence[i] != sequence[i])
        {
          wrong_sequence();
          return;
        }
        digitalWrite(LED1, LOW);
      }

    }
  }
  noTone(buzzer);
  right_sequence();
}

void generate_sequence()
{
  randomSeed(millis()); //in this way is really random!!!

  for (int i = 0; i < MAX_LEVEL; i++)
  {
    sequence[i] = random(2, 6);
  }
}
void wrong_sequence()
{
  for (int i = 0; i < 3; i++)
  {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, HIGH);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED4, HIGH);
    tone(buzzer, 30);
    delay(250);
    digitalWrite(LED1, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED4, LOW);
    tone(buzzer, 10);
    delay(250);
  }
  noTone(buzzer);
  level = 1;
  velocity = 1000;
}

void right_sequence()
{
  delay(500);
  digitalWrite(LED1, HIGH);
  digitalWrite(LED2, HIGH);
  digitalWrite(LED3, HIGH);
  digitalWrite(LED4, HIGH);
  tone(buzzer, NOTE_A4);
  delay(250);
  digitalWrite(LED1, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED4, LOW);
  tone(buzzer, NOTE_AS4);
  delay(250);
  digitalWrite(LED1, HIGH);
  digitalWrite(LED2, HIGH);
  digitalWrite(LED3, HIGH);
  digitalWrite(LED4, HIGH);
  tone(buzzer, NOTE_B4);
  delay(250);
  digitalWrite(LED1, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED4, LOW);
  tone(buzzer, NOTE_CS5);
  delay(1200);
  noTone(buzzer);
  delay(500);
  if (level < MAX_LEVEL);
  level++;

  velocity -= 50; //increase difficulty
}

Week 1, Comments on Circuits in Recitation Class (Leon)

Circuit 1: door bells

Materials:

§  1 * Breadboard: for plugging wires, fixing all the materials and making them connected.

§  1 * LM7805 Voltage Regulator: for connecting 3 materials (battery, speaker and capacitor).

§  1 * Buzzer: for making sounds.

§  1 * Push-Button Switch: for controlling the work condition of the circuit.

§  1 * 100 nF (0.1uF) Capacitor: for storing the electricity.

§  1 * 12 volt power supply: for providing electric power.

§  1 * Barrel Jack: for connecting the power supply and the circuit.

§  Jumper Cables (Hook-up Wires): for connection.

In order to make the door bell ring, we have to make it a complete circuit, with the wires connecting every part of it. It is obvious that it is a multiple circuit, with the speaker and the capacitor connecter in parallel. We were struggling with the push button switch at the first time, because there were 4 binding posts in it and each 2 are interconnected with each other. Only with trials can we know which of the 2 binding posts are separated or not. At first, we were struggling with the problem that the bell was always ringing, because the switch was placed in a wrong direction. We finally changed the direction and it worked.

Circuit 2: lamp

Materials:

§  1 * Breadboard: for plugging wires, fixing all the materials and making them connected.

§  1 * LM7805 Voltage Regulator: for connecting 3 materials (battery, speaker and capacitor).

§  1 * Push-Button Switch: for controlling the work condition of the circuit.

§  1 * 100 nF (0.1uF) Capacitor: for storing the electricity.

§  1 * 12 volt power supply: for providing electric power.

§  1 * Barrel Jack: for connecting the power supply and the circuit.

§  Jumper Cables (Hook-up Wires): for connection.

§  1 * LED: for making lights.

§  1 * 220 ohm Resistor: for protecting the circuit from being short out.

This circuit is almost the same from that one above. But there is one thing need to be mentioned that the LED is unidirectional, that the length of its 2 binding posts are different. Only when we connected correctly can the LED be on.

Circuit 3: dimmable lamp

Materials:

§  1 * Breadboard: for plugging wires, fixing all the materials and making them connected.

§  1 * LM7805 Voltage Regulator: for connecting 3 materials (battery, speaker and capacitor).

§  1 * Arcade Button: for controlling the work condition of the circuit in a long distance.

§  1 * 100 nF (0.1uF) Capacitor: for storing the electricity.

§  1 * 12 volt power supply: for providing electric power.

§  1 * Barrel Jack: for connecting the power supply and the circuit.

§  Jumper Cables (Hook-up Wires): for connection.

§  1 * LED: for making lights.

§  1 * 220 ohm Resistor: for protecting the circuit from being short out.

§  1 * 10K ohm Variable Resistor (Potentiometer): for changing the brightness of the LED.

The only difference between this circuit and the lamp is that this lamp requires a remote switch, which should be made by ourselves. After fixing the wires (about 50 cm), we melt a small piece of metal to connect the wires and the button. Thus, the switch is not fixed on the breadboard, which is much more convenient than the previous one. There was a mistake that we didn’t connect the variable resistor in a right way so that the brightness of the LED always stayed the same. We asked the teacher for help, and finally it turned out that the blinding post connected with the resistor wasn’t proper.

Question 1

The circuits certainly include interactivity. According to the author, interactivity is “a cyclic progress in which two actors alternately listen, think, and speak” (5), which means it should happen between two different actors, and one can respond to the other’s instruction. Within the circuit, it buzzed or lightened when we press the button. It received the information from the handler, then processed the information through all the electronic materials, turning the physical signals into electric ones, and finally responded in sound or light.

 

Question 2

Physical computing, as the basic of the modern designs, shapes a sensible structure of the further designing. As Zack Lieberman said in his interview, that he cannot simply be called as an artist, but a researcher. What he has been working on is research and development, trying to find out a brand-new way to make the daily life a little more convenient. The most touching use of the interactive design and the physical computing is the Eye Writer, which is especially for these disabled. All these matters will finally serve the human beings, with the emotion and love of the developer.