• Skip to main content
  • Skip to primary sidebar

Jiayue's Documentation Blog

Just another Web Publishing @ NYU site

Uncategorized

Dec 20 2022

Final project

PROJECT TITLE

BPD-Cure, by Carrie and Harvey. Instructor: Margaret.

CONCEPTION AND DESIGN

Our project is designed to draw people’s attention to patients with bipolar disorder. My previous research led me to the discovery of magnetic fluid, an amazing substance, and I became interested in it. This led me to want to use it in my final project. Then I related the magnetic fluid to bipolar disorder, as I suffer from mental illness from time to time. I used the state of the magnetic fluid to symbolize the mental state of the patient. If the magnetic fluid keeps beating, the patient is manic or depressed, and if the magnetic fluid stops moving, the patient is emotionally stable. We designed several ways to treat the patient: psychotherapy (hugging), electroconvulsive therapy and medication. At first we used wires to represent the arms of the hug, also wires to represent the electric shock tool, and we used distance sensors to represent the patient’s mouth. We wanted the user to connect the arm to simulate hugging, connect the electroconvulsive device to simulate electroconvulsive treatment, and place the medication (made of cardboard) in front of the distance sensor to simulate feeding. However, the professor thinks that the first two ways are duplicative and the userinteract is too homogeneous. And, the professor suggested that the 3D printed doll placed on the device distracted her. We listened to the professor’s comments and tried to improve it. We changed the wire used for the “ect” to an electromagnet and animated it with processing. At the usertesting, students and professors also gave us a lot of valuable comments. Some people think we have too little instruction and the user doesn’t know what to do. Some said the user interacted too little with the 3D printed doll, it would be nice to hug the doll and then have a reaction. They also said that after stimulating the magnetic fluid with a magnet, there was no animated response, which made them suspicious. Then we made another adjustment. We used the infrared sensor to detect the movement of the magnet so that we could give the magnet touching the magnetic fluid to do the animated reaction on processing. We also used the infrared sensor to make an interactive device for hugging, so that the user can use it as if they were actually hugging the patient. We have improved the processing animation so that different behaviors produce different animations. We also added more instructions so that people know what to do.

FABRICATION AND PRODUCTION

We initially used wires to represent the arms of the hug and the ECT device, distance sensors to represent the patient’s mouth, and cardboard to create the pill. After listening to suggestions, we used an infrared sensor to detect the user’s “hug” and a magnet to attach the magnetic fluid to simulate “ECT”. This allows the user to have more interaction with the patient model. At the same time, the user can feel the interaction between the magnet and the magnetic fluid, and experience the influence of electromagnetism on the mental state of the patient. I connected the arduino, wires and distance sensors, and Harvey provided the code for the distance sensors. Then I did the overall coding, including the arduino and processing. Later, Harvey worked on the infrared sensor and the related code. The processing code I wrote at the beginning had some bugs, and Harvey got help from Learning assistant to solve the code problems.

CONCLUSIONS

Our project aims to make people care about people with bipolar disorder and learn about ways to cure them. I think our project has achieved its goal to some extent. The end user was able to treat the patient by hugging them, giving them electric shocks (by putting magnets on the magnetic fluid) and giving them medicine (by putting pills in front of the distance sensor). the animation on the processing also worked. We actually encountered many difficulties during the production process. Electricity and magnetism are converted to each other, which makes it not easy for us to control the electromagnet. The current is unstable under the influence of magnetism, which caused us a lot of difficulties. We listened to the suggestions of others and kept improving and debugging to have the final project. In the learning process we have to keep improving and thinking of new possibilities to become more creative.

ANNEX

code for arduino

#include "SerialRecord.h"
SerialRecord writer(3);

int Solenoid = 3;  //定义数字口3
int button = 7;
const int pingPin = 5;  // Trigger Pin of Ultrasonic Sensor
const int echoPin = 6;  // Echo Pin of Ultrasonic Sensor
float distance;

const int ProxSensor = 2;

int value1 = 1;
int value2 = 0;
int value3 = 0;

void setup() {
  Serial.begin(9600);
  pinMode(Solenoid, OUTPUT);  //将Solenoid设置为输出
  pinMode(button, INPUT);
  pinMode(pingPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(13, OUTPUT);
  pinMode(ProxSensor, INPUT);

}
void loop() {
  //reader.read();
  //analogWrite(Solenoid,reader[0]);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(pingPin, LOW);
  distance = pulseIn(echoPin, HIGH) / 58.0;
  // Serial.print(distance);

  int f = digitalRead(ProxSensor);
  int i = digitalRead(button);
  // int value1 = 1;
  // int value2 = 0;
  // int value3 = 0;
  // if(i==1){
  //   value1=0;
  // }
  // Serial.println(distance);
  if (distance <= 15) { value1 = 0; } else if (distance > 15) {
    value1 = 1;
  }


  if (i == 1) {
    value2 = 1;

  } else if (i == 0) {
    value2 = 0;
  }

  if (f == HIGH)  //Check the sensor output
  {
    value3 = 0;
  } else if (f == LOW) {
    value3 = 1;
  }

    if ( distance <= 15 || f == LOW) {
      //     // console.log('in')

      analogWrite(Solenoid, 0);
      //     value1 = 0;
      //     writer[0] = value1;
      //     // value1 == 0;
      //     writer.send();
    }

    else {
      analogWrite(Solenoid, 255);
      delay(90);
      analogWrite(Solenoid, 0);
      delay(90);
      //     value1 = 1;
      //     writer[0] = value1;
      //     //  value1==1;
      //     writer.send();
    }
    writer[0] = value1;
    writer[1] = value2;
    writer[2] = value3;
    writer.send();

} 

code for processing:

import processing.serial.*;
import osteele.processing.SerialRecord.*;

Serial serialPort;
SerialRecord serialRecord;

import processing.video.*;

Movie myMovie;
Movie myMovie2;
PImage photo;
PImage photo2;
int[] values = new int[3];

void setup() {
  size(780, 1040);

  String serialPortName = SerialUtils.findArduinoPort();
  serialPort = new Serial(this, serialPortName, 9600);
  serialRecord = new SerialRecord(this, serialPort, 3);
  serialRecord.read();

   photo = loadImage("drug.jpeg");
   photo2 = loadImage("smile.jpeg");

  myMovie = new Movie(this, "chill1.mp4");
  myMovie.play();
  myMovie2 = new Movie(this, "mad2.mp4");
  myMovie2.play();
}

void draw() {

  background(0);
  serialRecord.read();
  int value1 = serialRecord.values[0];
  int value2 = serialRecord.values[1];
  int value3 = serialRecord.values[2];
  //print(a);
  //if(value1==1 ||value2==1){
  //   myMovie2.read();

  //  image(myMovie2, 0, 0);

  //} else if(value1==0 ||value2==0){
  //  myMovie.read();

  // image(myMovie, 0, 0);

  //}

  
  
   if (value3==1) {
    myMovie2.read();

    image(myMovie, 0, 0);
    
    image(photo2, 20, 20);
  } 
  
   else if (value1==0 ) {
    myMovie2.read();

    image(myMovie, 0, 0);
    
    image(photo, 20, 20);
  } 
  else {
    myMovie.read();

    image(myMovie2, 0, 0);
  }
  print(value1);

  //delay(50);
}

the process of 3D printing:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/12/396_1671527073.mp4

I tried to control the magnetic fluid using electromagnet:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/12/399_1671527074.mp4

Process of building the circuit and coding:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/12/401_1671527075-1.mp4

1st version:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/12/402_1671527078.mp4
 

Final version:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/12/404_1671527085.mp4

Written by Jiayue Ma · Categorized: Uncategorized

Dec 06 2022

RECITATION 10

RECITATION 10:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/12/360_1670307427-1.mp4

codes:

Arduino:

#include "SerialRecord.h"

SerialRecord writer(1);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600); 
 
}

void loop() {
  // put your main code here, to run repeatedly:
  int value = analogRead(A0);
  writer[0] = value;
  writer.send();
} 

processing:

import processing.serial.*;
import osteele.processing.SerialRecord.*;

Serial serialPort;
SerialRecord serialRecord;

import processing.video.*;

Movie myMovie;



void setup() {
  size(1000, 400);
  
  String serialPortName = SerialUtils.findArduinoPort();
  serialPort = new Serial(this, serialPortName, 9600);
  serialRecord = new SerialRecord(this, serialPort, 1);
  serialRecord.read();
  int value = serialRecord.values[0];
  
  
  
  myMovie = new Movie(this, "Jing'an.mp4");
  myMovie.loop();
}

void draw() {
  background(0);
  serialRecord.read();
  int value = serialRecord.values[0];
  
  float x = map(value, 0, 1024, 0, width);
     if (myMovie.available()) {
      myMovie.read();
    } 

I used potentiometer to control the position of the image. At first it was hard to read the potentiometer using processing, then I made some changes to the code and by trial and error, I succeeded in the end. If I was given more time, I would have made it more complex, like allowing user to control the size and color of the image using potentiometer and buttons.

Written by Jiayue Ma · Categorized: Uncategorized

Nov 30 2022

RECITATION 9

RECITATION 9

We used https://cuttle.xyz/ and laser cutting machine to create a kinetic sculpture.

This is my design using the website.

Then we “cut” them out.

However, one of the pieces broke and we had to lend another from our friend and finished the project.

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/335_1669808086.mp4

Written by Jiayue Ma · Categorized: Uncategorized

Nov 26 2022

PROPOSAL ESSAY

BPD-Cure

I got this idea since I’ve been suffering from some mental disease these years. And I know a disease called “Bipolar affective disorder (BPD)”, which is also known as manic-depressive illness, a common complex, polygenic disorder characterised by recurrent cyclic episodes of mania and depression.

Our project is designed to introduce people to this disease and raise people’s awareness to take care of and cure the patients with this disease.

I’ve did some research about magnetofluid and electromagnet, so we will use them in our project. The magneto fluid will act as the patient. When it moves actively, it shows that the patient is in the situation of  mania. When it doesn’t move, it shows that the patient is depressed. We will use 3D printing to create the patient’s body. And the electromagnet will be used to control the magneto fluid.

The user will act as a doctor or a friend to interact with the patient. They will use different method to cure the patient, like drug therapy, psychotherapy, electroconvulsive therapy and light therapy. We will try to use like buttons and sensors to built interactive devices and let users learn more about the disease and the treatment of it. We may use processing to show guidance to audience and assist them with the understanding of the device. 

In general, the first step of our project is to decide what exactly the interactive part should be like. Then we will build the circuit and write the code. After testing the code, 3D printing and maybe cardboard will be used to create the body of the patient and the appearance of the interactive part.

Written by Jiayue Ma · Categorized: Uncategorized

Nov 23 2022

RECITATION 8

task 1:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/361_1670308119.mp4

code for processing:

/**
* Example sketch for the SerialRecord library for Processing.
 *
 * Receives two integers from the serial port, and uses them to control the x
 * and y position of a circle on the canvas.
 */

import processing.serial.*;
import osteele.processing.SerialRecord.*;

Serial serialPort;
SerialRecord serialRecord;

int pmX;
int pmY;
int mx;
int my;

void setup() {
  size(500, 500);
  background(0);
  
  String serialPortName = SerialUtils.findArduinoPort();
  serialPort = new Serial(this, serialPortName, 9600);

  // If the Arduino sketch sends a different number of values, modify the number
  // `2` on the next line to match the number of values that it sends.
  serialRecord = new SerialRecord(this, serialPort, 2);
   
}

void draw() {
  

  serialRecord.read();
  int value1 = serialRecord.values[0];
  int value2 = serialRecord.values[1];
  pmX=(int)mx;
  pmY=(int)my;
  
  float x = map(value1, 0, 1024, 0, width);
  float y = map(value2, 0, 1024, 0, height);
  //circle(x, y, 20);
  mx=(int)x;
  my=(int)y;
  if(pmX!=mx || pmY!=my){
  stroke(255);
  line(pmX, pmY, mx, my);
  }
  println(pmX, pmY, mx, my);
}

It is a quite interesting task, and it is interactive. I learned to combine the potentiometer with processing and arduino, which was challenging but fun.

task 2:

(I worked on my own)

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/318_1669205641.mp4

processing:

import processing.serial.*;
import osteele.processing.SerialRecord.*;

Serial serialPort;
SerialRecord serialRecord;
float x = 0;
float d=10;
void setup() {
  size(500,500);
  //background(176,131,250);
  String serialPortName = SerialUtils.findArduinoPort();
  serialPort = new Serial(this, serialPortName, 9600);
  serialRecord = new SerialRecord(this, serialPort, 1);
  
  
  //serialRecord.logToCanvas(false);
}

void draw() {
  background(0);
  
  circle(x,height/2,20);
  x+=d;
  int m=(int)x;
  if (x>=width){
    d= -d;
  }
  if (x<=0){
    d= -d;
  }
  serialRecord.values[0] = m;
  serialRecord.send();
  

}

 

arduino:

#include "SerialRecord.h"
#include 
// Change this number to the number of values you want to receive
SerialRecord reader(1);
Servo servo1;


void setup() {
 Serial.begin(9600);
 servo1.attach(9);

 pinMode(9, OUTPUT);

}

void loop() {
 reader.read();
 
 if (reader[0]>450){
   servo1.write(180);
 };
 if (reader[0]<=450){
   servo1.write(60);
 };
  
  

} 

It’s a pity that I didn’t find a partner, but I worked by myself and gradually find the solution to this task.

Written by Jiayue Ma · Categorized: Uncategorized

Nov 21 2022

Three Project Proposals

Three Project Proposals:

1. TITLE: Depression-Aid

   PROJECT STATEMENT OF PURPOSE:

   I’ve been suffering from depression from time to time these years, so I came up with this idea that we can make a device to call on people to care more about patients with depression. People can give a helping hand by hugging them or simply accompanying them. I want to use sensers to detect user’s interaction, use paper box and motors to build the “patient” and light to signal the mental status of the patient. The whole device tells users to touch and hug the patient, and his mood will turn a little better.

   DRAWINGS AND SKETCHES:

2. TITLE: Water Pollution-Under YOUR Control

   PROJECT STATEMENT OF PURPOSE:

   This project rises people’s awareness of avoid water pollution. By moving “trees” away and throwing “trash” into the “river”, user controls the condition of the water.

   DRAWINGS AND SKETCHES:

3. TITLE: Beating Magnetofluid

   PROJECT STATEMENT OF PURPOSE:

   I got the idea from the film Venom. The undefined shape of venom made me think of magnetofluid, and we can use magnetofluid to make lots of things visible, like our heartbeat, the sound in nature and the beat of music.

   DRAWINGS AND SKETCHES:

  

Written by Jiayue Ma · Categorized: Uncategorized

Nov 16 2022

RECITATION 7

RECITATION 7

task 1:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/30_1668596886.mp4

task 2:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/31_1668596892.mp4

task 3:

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/32_1668596894.mp4
https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/33_1668596902.mp4

I changed part of the codes to let the LED lights interact with the music. The louder the music is, the more lights would be on. Also, the circle still beats with the music though it runs a little stuck.

/* This is a code example for Processing, to be used on Recitation 7
  You need to have installed the SerialRecord library.
  
  Interaction Lab
  IMA NYU Shanghai
  2022 Fall
*/

import processing.serial.*;
import osteele.processing.SerialRecord.*;

import processing.sound.*;

SoundFile sample;
Amplitude analysis;


Serial serialPort;
SerialRecord serialRecord;

        //width of the tiles
int NUM = 60;  //amount of pixels


void setup() {
  size(600, 200);
  sample = new SoundFile(this, "マクロスMACROSS 82-99 - 『82.99 AM』.aiff");
  sample.loop();

  // create the Amplitude analysis object
  analysis = new Amplitude(this);
  // analyze the playing sound file
  analysis.input(sample);


  // You can use this syntax and change COM3 for your serial port
  // printArray(Serial.list());
  // serialPort = new Serial(this, "COM3", 9600);
  // in MacOS it looks like "/dev/cu.usbmodem1101"
  //or you can try to use this instead:
  
  String serialPortName = SerialUtils.findArduinoPort();
  serialPort = new Serial(this, serialPortName, 9600);
  serialRecord = new SerialRecord(this, serialPort, 4);
  serialRecord.logToCanvas(false);
  rectMode(CENTER);
}

void draw() {
  println(analysis.analyze());
  background(#6FA0D3);
  noStroke();
  fill(#3B49BC);

  // analyze the audio for its volume level
  float volume = analysis.analyze();

  // volume is a number between 0.0 and 1.0
  // map the volume value to a useful scale
  float diameter = map(volume, 0, 1, 0, 80);
  circle(300, 100, diameter); // draw a circle based on the microphone amplitude (volume)

  
  
  for (int m=0; m<60; m ++) {
    int i = (int)map(volume, 0, 1, 0, 60);
    if (m<i){
  serialRecord.values[0] = m;     // which pixel we change (0-59)
    serialRecord.values[1] = 0;  // how much red (0-255)
    serialRecord.values[2] = 50;  // how much green (0-255)
    serialRecord.values[3] = 100;  // how much blue (0-255)
    serialRecord.send();  // send it!
    }
     else{
  serialRecord.values[0] = m;     // which pixel we change (0-59)
    serialRecord.values[1] = 0;  // how much red (0-255)
    serialRecord.values[2] = 0;  // how much green (0-255)
    serialRecord.values[3] = 0;  // how much blue (0-255)
    serialRecord.send();  // send it!
    }
  }
    
  
}

 

Written by Jiayue Ma · Categorized: Uncategorized

Nov 15 2022

final project research

Research:

project 1: AirDesk

It’s a pity that this video doesn’t have an English version. I was really amazed when I first watched this video. This young man made an “AirDesk” when he found that Apple gave up releasing Air Power. He made the coil movable so that wherever you put your phone on the desk, the coil will move automatically under your phone to charge it. He also added some cool special effects to make the device more interesting. The project is very interactive since it can charge your phone automatically by moving the coil itself.

project 2: How to Transform a PIANO into a BBQ CAR

This guy turned a piano into a BBQ CAR! When driving it, he could hit the keyboard and roast meat skewer. He press a certain key and the skewer attached to it will rotate. Obviously, it is very interactive and fun. I was amazed by how he could associate piano with BBQ and car.

I chose these projects because they are very creative. They connect different things together, like phones and desk, piano, BBQ and car. They informed me that I should be creative and brave to make connection between two totally different things. I should create more interact between different actors, and make the process of interacting more interesting.

A successful interactive experience is composed of many things. It should tell the user what to do and user can enjoy the process of interacting. Like our midterm project, which told the user what the device is about. And the two project I mentioned above allow user to enjoy when interacting with the device. The whole process include “input” “process” and “output”, which is one of the main points of interaction in my definition. As is mentioned in the reading by Ernest Edmond, “although my art was primarily painting, I took an interest in ‘happenings’, in which direct and physical audience participation became, at times, an integral part of the artwork”, the process of interacting is really important, we should make it clear and fun, like by adding more elements into the project, or making the process more complex.

Written by Jiayue Ma · Categorized: Uncategorized

Nov 09 2022

RECITATION 6

RECITATION 6

Animating an Interactive Poster

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/ab562dbdc438582c080d5f6d209a327e_689686936518_v_0_1667994136.mp4
/**
 * Distance 2D. 
 * 
 * Move the mouse across the image to obscure and reveal the matrix.  
 * Measures the distance from the mouse to each square and sets the
 * size proportionally. 
 */
 
float max_distance;
PFont f;

void setup() {
  size(1024, 768); 
  smooth();
  f=loadFont("AmericanTypewriter-Bold-48.vlw");
  textFont(f,48);
  
  noStroke();
  max_distance = dist(0, 0, width, height);
  
  rectMode(CENTER);
 
}

void draw() {
  
  
  background(#C5A0D1,200);

  for(int i = 0; i <= width; i += 20) {
    for(int j = 0; j <= height; j += 20) {
      float size = dist(mouseX, mouseY, i, j);
      size = size/max_distance * 66;
      fill(120+i/7, 200, 200);
      stroke(#693579,120);
      strokeWeight(1);
      ellipse(i, j, size, size);
    }
  }
  
  stroke(0, 40);
  strokeWeight(10);
 line(250, 500+30, 350, 500+30);
 line(250, 518+30, 350, 518+30);
 line(280, 518+30,280,558+30);
 line(320,518+30,320,588+30);
 noFill();
 arc(300, 450+30, 60, 60, PI, 2*PI);
 triangle(285, 485+30, 285, 500+30,297, 500+30);
 line(270, 450+30, 270, 500+30);
 line(330, 450+30, 330, 500+30);
 
 beginShape();
vertex(303,478+30);
vertex(317, 478+30);
vertex(317, 500+30);
vertex(316, 500+30);
endShape(CLOSE);
point(230, 470+30);
point(240, 425+30);
point(275, 395+30);
point(370, 470+30);
point(360,425+30);
point(325,395+30);
  
  stroke(255);
  strokeWeight(10);
 line(150, 600, 250, 600);
 line(150, 618, 250, 618);
 line(180, 618,180,658);
 line(220,618,220,688);
 noFill();
 arc(200, 550, 60, 60, PI, 2*PI);
 triangle(185, 585, 185, 600,197, 600);
 line(170, 550, 170, 600);
 line(230, 550, 230, 600);
 
 beginShape();
vertex(203,578);
vertex(217, 578);
vertex(217, 600);
vertex(216, 600);
endShape(CLOSE);
point(130, 570);
point(140, 525);
point(175, 495);
point(270, 570);
point(260,525);
point(225,495);
  
 textSize(158.00);
 fill(#693579, 160); 
 text("IMA", 100, 150); 
 fill(#693579, 255);
 text("IMA", 100, 270);
 fill(0,50);
 text("IMA", 100, 390);
 
 textSize(36);
 fill(#693579);
 text("Fall 22 End-Of-Semester Show", 400, 500+50);
 text("Location: 8th floor",614,550+50);
 text("Day: Friday December 16",490,600+50);
 text("Time: 6pm to 8pm",623,650+50);

    translate(width/1.1, height/6);
    for (int p = 0; p <= 90; p += 1){
        rotate(radians(360/90));
        pushMatrix();
        translate(300,0);
        rotate(radians(millis()/50+2*p*360/90));
        fill(255, 20);
        stroke(255,200);
        strokeWeight(3);
        triangle(0, -150, -150*sqrt(3)/2, 150/2, 150*sqrt(3)/2, 150/2);
        popMatrix();
    } 
}

homework

task 1

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/ab562dbdc438582c080d5f6d209a327e_689703453084_v_0_1668010653.mp4
 
float max_distance;

void setup() {
  size(1024, 768); 

}

void draw(){
  background(255);
  
  translate(-90,-110);
  for(int i = 1; i <= 5; i ++) {
    translate(200, 0);
    pushMatrix();
      for(int j = 1; j <= 4; j ++) {
        translate(0, 200);
     pushMatrix();
      for (int p = 0; p <= 90; p += 1){
        rotate(radians(360/90));
        pushMatrix();
        translate(40,0);
        rotate(radians(millis()/50+2*p*360/90));
        fill(#BED5DB, 30);
        stroke(0+45*i);
        strokeWeight(1);
        triangle(0, -20, -20*sqrt(3)/2, 20/2, 20*sqrt(3)/2, 20/2);
        popMatrix();
      } 
     popMatrix();
  }
  popMatrix();
 }
}



task 2

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/ab562dbdc438582c080d5f6d209a327e_689705018281_v_0_1668012218.mp4
void setup() {
  size(1024, 768); 

}

void draw(){
  background(255);
  
   
 
  float r = random(100,900);
  float q = random(100,650);
   float m = random(100,255);
   float n = random(100,255);
   float t = random(1,10);
  translate(r, q);
      for (int p = 0; p <= 90; p += 1){
        rotate(radians(360/90));
        pushMatrix();
        translate(20*t,0);
        rotate(radians(millis()/50+2*p*360/90));
        fill(#BED5DB, 30);
        stroke(n,m, 0);
        strokeWeight(1);
        triangle(0, -10*t, -t*10*sqrt(3)/2, t*10/2, t*10*sqrt(3)/2, t*10/2);
        popMatrix();
      } 
      
      delay(500);
  }

task 3

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/11/7eca43a62ea73554aa59a72b16be5287_0_1668068884.mp4
 
void setup() {
  size(1024, 768); 

}

void draw(){
  background(255);
  
   
 

   float m = random(100,255);
   float n = random(100,255);
   float t = 5;
  translate(mouseX, mouseY);
      for (int p = 0; p <= 90; p += 1){
        rotate(radians(360/90));
        pushMatrix();
        translate(20*t,0);
        rotate(radians(millis()/50+2*p*360/90));
        fill(#FFC1C1, 30);
        stroke(n,m, 0);
        strokeWeight(1);
        triangle(0, -10*t, -t*10*sqrt(3)/2, t*10/2, t*10*sqrt(3)/2, t*10/2);
        popMatrix();
      } 
      
      
  }

Spending a lot of time doing this work, trying and failing, I learned a lot. I searched online for help and learned how to use “translate” and ” rotate”. The process of making the poster and doing the homework was really a pleasure.

 

Written by Jiayue Ma · Categorized: Uncategorized

Sep 19 2022

RECITATION 1

CIRCUIT

Circuit is the complete path of wires and equipment along which an electric current flows. The current flows from the positive pole to the negative pole.

IN THE 1ST RECITATION

We tried different materials to create circuits. We used electronics like breadboard, buzzer, LED, wires, button, and so on. Also, we soldered to make a DIY paddle button and used it in the circuit.

Task 1: Build the circuits

We were asked to build circuits on the breadboards, and we have 3 steps to follow. Each step was more complex than than the last one.

step1STEP1

At first, we thought that this task was easy. However, our first attempt failed. We checked the circuit for many times and didn’t find anything wrong. The wires connected the buzzer and the button, and we powered the whole circuit. We also paid close attention to the connection of the button and connected the wires to the opposite side of the button. As for the buzzer, we checked the positive pole and the negative pole of it and it was connected correctly. We had no idea about what’s going on.

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/09/3_1663300355.mp4

A few minutes later we thought that there might be something wrong with some of the electronics. So we changed a buzzer and then it worked.

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/09/4_1663300358-1.mp4

step2

STEP2

With the previous experience, we finished task 2 easily by adding a LED and a resister into the circuit. According to the diagram, we used parallel connection system.

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/09/5_1663301741.mp4

step3

STEP3

This circuit is a little complex, and we have trouble understanding how to use the ohm Variable Resistor. After consulting the assistant, we figured out how to connect the ohm Variable Resistor into the circuit and finally finished the task. We can use the ohm Variable Resistor to change the resistance value of itself and then change the current value in the circuit thus change the brightness of the LED.

Task 2: Build a switch

We used cardboard, copper tape, and wires to build a switch. We did the task at the soldering stations, since we need to weld the wires and copper tape together so that they could conduct electricity.

We used a special scissor to handle the wires. We have to expose the metal part of the wire. Otherwise, they cannot be correctly connected to the copper tape and form a circuit.

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/09/9_1663303456.mp4

SOLDERING IS SO FUN!

Task 3: Switch the switches and send a message

We were excited to find that the switch we built could be used in the circuit. It functioned as a button. When we switched the switches, the circuit was switched on, so the LED began to light and the buzzer sounded.

https://wp.nyu.edu/shanghai-jiayuema/wp-content/uploads/sites/25294/2022/09/12_1663303461.mp4

QUESTION 1

LED has a current rating that can not be exceeded. By using resistors, the current can be limited so that the current won’t be above the maximum allowable current.

QUESTION 2

QUEATION 3

We “input” by pressing the button or the switch we built, and the circuit itself “process”, then there comes “output” and the LED began to light and the buzzer sounded. The whole process is like listen, think and speak. Also, this process has two actors, me and the circuit. The degree of interaction is low, because although it has the three processes of conversation, the whole conversation is simple and not very entertaining.

QUEATION 4

Interaction Design and Physical Computing can be used to create Interactive Art in many ways. As is mentioned in Zack Lieberman’s video, artists can use them to let people see the live version of what artists are drawing. Also, they can allow audience to try creating art by themselves. For example, the eyewriting project allows people who cannot write with their hands to draw and write by their eyes, which is amazing.

Written by Jiayue Ma · Categorized: Uncategorized

Primary Sidebar

Recent Posts

  • Final project
  • RECITATION 10
  • RECITATION 9
  • PROPOSAL ESSAY
  • RECITATION 8

Recent Comments

  1. A WordPress Commenter on RECITATION 1

Archives

  • December 2022
  • November 2022
  • September 2022

Categories

  • Uncategorized

Copyright © 2025 · Altitude Pro on Genesis Framework · WordPress · Log in