Author Archives: liw543

Final Post

Group member: Xiaoyu, Weilin

Presentation slides link


Concept + Goals.

Autonomous Objects is our Major Studio 2 group project, and we decided to actually build these objects.

Concept:We are making a series of experimental prototypes that explore the ubiquitous but novel relationship between humans and objects. By reimagining the messages behind everyday objects, the project enables everyday objects to communicate and negotiate with us in their (possibly) preferable way.

Intended audience.

This is a project everyone can experience. We want people to rethink their relationship with everyday objects through this fun and playful interaction.


When Objects Dream, ECAL


Objects Thinking Too Much @ICC

Objective Realities

On the Secret Life of Things

Description of the project.

Chair: Chairs also have work hours. They are happy to assist you during work hours but they can also get crappy sometimes. They also preserve the right to refuse anyone when they are on a break.

Radio: A radio who lives in the past.

Lamp: A lamp who only wakes up at daytime.

Printer: A printer who needs a break occasionally.

Video documentation.

(Inside presentation link)

Materials list.

Chair: Velostat Pressure Sensitive Conductive Sheet, copper foil tape, LEDs, alligator clip with pigtail, 9V battery, Arduino battery adapter 9V

Radio: Vintage radio, Adafruit MP3 Shield, Micro SD, SD Card reader, potentiometers, Build-in speaker, Prefboard

Lamp: Photocell sensor, two-channel relay , light bulb, lamp, 10k resistor

Printer: Mini thermal receipt printer, wires

Process + Prototypes.







Circuit diagram.

Two potentiometers to A0 and A1.

Speaker directly connect to music shield.

See the tutorial of MP3 Shield


Light bulb part:

Connect the lamp wires to relay: full tutorials can be found here

The Input pin connects to Pin6

If you want to know how light bulbs work, check this.

Photocell sensor part:

Connect one end of the photocell to 5V, the other end to Analog 0.
Connect one end of a 10K resistor from Analog 0 to ground.

If you want to learn more about photocell sensor, full tutorials can be found here.

Mini Thermal printer

Complete circuit and tutorials can be found here

Final Project Documentation

Design Statement

We are making a series of experimental prototypes that explore the ubiquitous but novel relationship between humans and objects. By reimagining the messages behind everyday objects, the project enables everyday objects to communicate and negotiate with us in their (possibly) preferable way.





Week 08 Assignment


DC motor: Continuous rotation, very fast.

Servo motor: Turn 90° in either direction for a total of 180° movement. Have a position sensor inside for feedback.

Stepper motor: Precise positional control, move 1 step each time. No position sensor for feedback.




A DC Motor fan which works for a while and rest for a while. I think it can be used for cooling down the computer when it operates tasks which generate lots of heat.



A water pump made with a 6V DC Motor. I made a installation out of it. One side of the pump is up-taking water and the other is dropping the water in the same container. I used 4 AA battery as external power for the water pump and a potentiometer to adjust the speed of the water pump.





I’m making a sound visualization project using Arduino as an input and Processing as an output.

Arduino: I’m using a photocell sensor to detect the light from the environment and map the data to use in Processing to control the alpha value of the floating points.

Processing: I’m using minim library to visualize the audio file and created 300 points floating with it.

Core components

1* photocell sensor
1 * 10k resistor
Wires & jumpwires
Arduino board



Arduino: StandardFirmata


import cc.arduino.*;
import org.firmata.*;
import processing.serial.*;
import ddf.minim.*;
import ddf.minim.analysis.*;
import cc.arduino.*;

Minim minim;
AudioPlayer song;
FFT fft;
Arduino arduino;

int num = 300;
PVector[] posArray = new PVector[num];
float pTime = 0;
float vel;
PVector[] noiseArray = new PVector[num];

int sensorPin = 0;
int sensorVal = 0;
float newSensorVal;

void setup() {
size(1000, 800, P3D);
minim = new Minim(this);
arduino = new Arduino(this, Arduino.list()[1], 57600);

song = minim.loadFile(“1.mp3”, 512);

fft = new FFT(song.bufferSize(), song.sampleRate());

for (int i = 0; i < num; i++) {
float r = random(300,400);
float theta = random(TWO_PI);
float y = r*sin(theta);
float x = r*cos(theta);

noiseArray[i] = new PVector(x, y);
posArray[i] = new PVector(0, 0);

arduino.pinMode(sensorPin, Arduino.INPUT);

void draw() {

translate(width/2, height/2);
sensorVal = arduino.analogRead(sensorPin);
newSensorVal = map(sensorVal,800,960,50,250);
//float a= random(100,200);
for (int i = 0; i < num; i++) {
ellipse(posArray[i].x, posArray[i].y, 2, 2);



void update() {

float time = millis()*0.001;
float dt = time – pTime;
pTime = time;

float level = song.mix.level();
float fftVal = fft.getBand(300);
vel = map(fftVal, 0, 0.1, 0.05, 0.5);

for (int i = 0; i < num; i++) {
noiseArray[i].x += vel * dt;
noiseArray[i].y += vel *dt;
float xScale = map(noise(noiseArray[i].x), 0, 1, -1, 1);
float yScale = map(noise(noiseArray[i].y), 0, 1, -1, 1);

posArray[i].x = xScale * 300;
posArray[i].y = yScale * 300;


Communication protocols:

  1. Goal of the project : By clicking four buttons in a certain sequence, the lock will be locked or unlocked indicating by two leds. If it is unlocked, the blue led will light up; if it is locked, the red led will light up.
  2.  Core components : 4 buttons, 4 x 10K ohms resistors, red and blue leds, 2 x 220 ohms resistors, breadboard, arduino board, jumper wires
  3. How it works : If you press buttons from 1 to 4, the blue led will light up and fade out in a while. Otherwise the red led will light up.
  4. Problems encountered : the button is unstable sometimes.



Cubled – LED Interactive installation using Arduino Uno

I found this interactive installation done by Arduino very interesting. It consists of 27 luminous spheres and will light up differently. I don’t completely understand the technology used in this project yet. But seeing the final effect, I feel that it can be used in many fields such as installation art and stage settings. Also, I’m imaging that if we change the output into something not only physical but also digital, the outcome will be more fun.