From Robert-Depot
Jump to: navigation, search

Melody Fu

A third year undergraduate student majoring in Visual Arts (Media) at UCSD. She takes interest in photography and enjoys doing post-production artistic editing. Thus, she develops her Photoshop skills from the desire to learn photo enhancement and manipulation. Besides Photoshop, she has also experimented, although not extensively, with Final Cut Pro, Dreamweaver, Flash, Illustrator, InDesign, and SoundBooth.

Early Experiences

When I got my first PC in the late 1990s, I remember browsing Internet Explorer with 56k modem, clicking mindlessly, and then comes the sudden bombardment of pop-ups that altogether stops when the screen freezes at the infamous Blue Screen of Death. I decided to fix the virus myself because I didn't want my parents to find out. However, after deleting what I suspected were the problems, the computer forever shuts down and never starts up again. Thanks to the storm worms, I've successfully crashed many computers, first, because I was too afraid to confront my parents, and, second, pretended to know how to fix computers. I did get better eventually!

Scratch that, I am MUCH better now.

And I've come to a realization that PC=junk. I am getting an iMAC when I become rich.

I hope to have fun doing hands on experiments in this class..I wish to break things..& be destructive..

homework [ONE]

:: Field Research ::

China Airline
Might be helpful to know how to fly a plane when the end of the world comes
Make every room into a dance floor!
Rock Band Guitar
Who wants to challenge me?!
Extremely useful during winter, especially in cold cold San Diego
See beauty through the artist's eyes

Midterm Proposal

After several unsuccessful attempts to find a suitable heater for my original proposal, I've decided to abandon that one and start a new proposal. This one was inspired by my nephew when I saw him playing with water guns. Most simple water guns do not produce sounds. I also realized that children often add their own sound effects when they pretend to shoot at some target. I want to add sound as part of the gun so that the toy becomes more interactive; children's make believe noise becomes more or less a reality in which they can actually hear some sort of noise coming from the gun rather than simply existing in their minds. The procedure will be simple. I will be using water toy gun, 12VDC piezo buzzer, 9V battery, and a on-(off) switch, and then implementing all of this onto the gun somehow. The buzzer will be activated when the button is pressed as the trigger is pulled down. When released, the buzzer will stop buzzing.

:: Visualization ::

One side
Other side w/parts attached

:: Diagram ::


Final: Arduino

"Life isn't about the number of breaths we take, but the moments that take our breath away." I find this statement intriguing and then I was inspired to do something involving with air. My idea is to build a birthday cake with candles on top, so that when a person blows on the fire, the cake will sing to that person. However, trying to make both flames in contact is quite hard. I want people to experience that it is much more difficult to see life pessimistically (trying your hardest just to hear the melody) and it is easier when we just enjoy life, thus the joyful melody. The original plan was actually to use a piezo as the breath detector, using the source code similar to Knock, it would detect air vibrations, which will then send signal to arudino. The arduino would be set up so that whenever it detects air vibrations, a melody will be played. But I had trouble figuring it out, so, instead I resorted to manual connection, in which the person must blow the flames in order to close the circuit.

:: Visualization ::

One side

:: Diagram ::

One side

:: Documentation ::

Arduino set up
Under side (space for battery)
Finish Product

:: Source Code ::

int speakerPin = 9;

int length = 25; // the number of notes
char notes[] = "ccdcfeccdcgfccCafedAAafgf "; // a space represents a rest
int beats[] = { 2, 1, 2, 2, 2, 4, 2, 1, 2, 2, 2, 4, 2, 1, 2, 2, 2, 2, 4, 2, 1, 2, 2, 2, 4 };
int tempo = 150;

void playTone(int tone, int duration) {
  for (long i = 0; i < duration * 1000L; i += tone * 2) {
    digitalWrite(speakerPin, HIGH);
    digitalWrite(speakerPin, LOW);

void playNote(char note, int duration) {
  char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'A', 'b', 'C' };
  int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1075, 1014, 956 };

  // play the tone corresponding to the note name
  for (int i = 0; i < 9; i++) {
    if (names[i] == note) {
      playTone(tones[i], duration);

void setup() {
  pinMode(speakerPin, OUTPUT);

void loop() {
  for (int i = 0; i < length; i++) {
    if (notes[i] == ' ') {
      delay(beats[i] * tempo); // rest
    } else {
      playNote(notes[i], beats[i] * tempo);

    // pause between notes
    delay(tempo / 1);