THE LONELY LOVE
A. Project Title – The Lonely Love
Group Members – Leander&Vivan
Instructor – Andy
B.The Context and Significance.
In today’s high-stress environment when people are faced with different social situations, they’re used to pretending and repressing their felling in order to seem less lonely and fit in with the group and environment around them. Especially in megacities like Shanghai and New York, people shuttle in different boxes every day, their souls are constantly repressed and not released. People have been used to ignoring their inner feelings, switching masks in front of different people. The data of our pre-design study found that the rate of depression in China is as high as 4.98%, while in Shanghai it is as high as 10.27%.
Conception and Design
Therefore, in order to expose this aspect of social problems, we came up with the idea of making such an art piece that expresses people’s inner loneliness through the form of music. The product is made up of two parts, gloves and clothes. They represent the difference between the emotions people express and real emotions. They express their emotions through different kinds of music. The idea is that when performers wear gloves, the gloves represent their facial expressions, and how they behave in front of different social groups. And their true feelings are hidden. They express their true feelings only when the person closest to them gives them a hug.
Fabrication and Production
When the performer wearing a glove and shakes hands with someone, the pressure sensor in the right-hand picks up the pressure and passes the signal to the buzzer in the glove which is set off, and music is played. The left-hand glove has a button that can choose to control different music to represent their different mood. But when the audience hugs the performer, the pressure sensors in the heart on the clothes trigger and a buzzer plays sad music to express his inside true feelings. The difference between the sound of the glove and the sound of the heart means that the emotions people express are not the same as the real emotions they feel inside. Our hearts were cut out of cardboard and then glued together with a glue gun and colored with pigment. My partner Vivan and I split our responsibilities. She was responsible for writing coding to meet our product requirements, and I was responsible for constructing circuits and making products manually. In this process, the biggest problem is that the community has started lockdown and because my partner and I are in different places we can only communicate online. Moreover, many of the materials we need cannot be received in time. Therefore, we try our best to make use of the surrounding waste materials to make our products.
Conclusion
I think the result of our final product presentation is not bad, the whole is in line with our idea. The only problem is that the heart can’t switch between styles of music like a glove. But we can certainly solve this problem if we have more time and materials. At the end of the day, we hope to use our project to appeal to more people to pay attention to their inside, release themselves more rather than wrong themselves, and make their lives better.
#include "pitches.h" //LED for heart int led=13; int press1=A1; int press2=A2; int buzzer1=3; int buzzer2=6; int vibrate=2; int brightness=0; int fadeAmount = 5; int button=9; int lastcount; int tempo = 76; int tempo2 = 200; int tempo3 = 80; //#define vibOutPin 2; //debounce unsigned long lastDebounceTime = 0; // the last time the output pin was toggled unsigned long debounceDelay = 800; // the debounce time; increase if the output flickers int buttonState; // the current reading from the input pin int lastButtonState = LOW; // the previous reading from the input pin //press the button how many times int count=0; bool firstClick=false; bool secondClick=false; // notes in the melody: int melody[] = { // Wiegenlied (Brahms' Lullaby) // Score available at https://www.flutetunes.com/tunes.php?id=54 NOTE_G4, 4, NOTE_G4, 4, //1 NOTE_AS4, -4, NOTE_G4, 8, NOTE_G4, 4, NOTE_AS4, 4, REST, 4, NOTE_G4, 8, NOTE_AS4, 8, NOTE_DS5, 4, NOTE_D5, -4, NOTE_C5, 8, NOTE_C5, 4, NOTE_AS4, 4, NOTE_F4, 8, NOTE_G4, 8, NOTE_GS4, 4, NOTE_F4, 4, NOTE_F4, 8, NOTE_G4, 8, NOTE_GS4, 4, REST, 4, NOTE_F4, 8, NOTE_GS4, 8, NOTE_D5, 8, NOTE_C5, 8, NOTE_AS4, 4, NOTE_D5, 4, NOTE_DS5, 4, REST, 4, NOTE_DS4, 8, NOTE_DS4, 8, //8 NOTE_DS5, 2, NOTE_C5, 8, NOTE_GS4, 8, NOTE_AS4, 2, NOTE_G4, 8, NOTE_DS4, 8, NOTE_GS4, 4, NOTE_AS4, 4, NOTE_C5, 4, NOTE_AS4, 2, NOTE_DS4, 8, NOTE_DS4, 8, NOTE_DS5, 2, NOTE_C5, 8, NOTE_GS4, 8, NOTE_AS4, 2, NOTE_G4, 8, NOTE_DS4, 8, NOTE_AS4, 4, NOTE_G4, 4, NOTE_DS4, 4, NOTE_DS4, 2 }; int melody2[] = { // Minuet in G - Petzold // Score available at https://musescore.com/user/3402766/scores/1456391 NOTE_D5,4, NOTE_G4,8, NOTE_A4,8, NOTE_B4,8, NOTE_C5,8, //1 NOTE_D5,4, NOTE_G4,4, NOTE_G4,4, NOTE_E5,4, NOTE_C5,8, NOTE_D5,8, NOTE_E5,8, NOTE_FS5,8, NOTE_G5,4, NOTE_G4,4, NOTE_G4,4, NOTE_C5,4, NOTE_D5,8, NOTE_C5,8, NOTE_B4,8, NOTE_A4,8, NOTE_B4,4, NOTE_C5,8, NOTE_B4,8, NOTE_A4,8, NOTE_G4,8,//6 NOTE_FS4,4, NOTE_G4,8, NOTE_A4,8, NOTE_B4,8, NOTE_G4,8, NOTE_A4,-2, NOTE_D5,4, NOTE_G4,8, NOTE_A4,8, NOTE_B4,8, NOTE_C5,8, NOTE_D5,4, NOTE_G4,4, NOTE_G4,4, NOTE_E5,4, NOTE_C5,8, NOTE_D5,8, NOTE_E5,8, NOTE_FS5,8, NOTE_G5,4, NOTE_G4,4, NOTE_G4,4, NOTE_C5,4, NOTE_D5,8, NOTE_C5,8, NOTE_B4,8, NOTE_A4,8, //12 NOTE_B4,4, NOTE_C5,8, NOTE_B4,8, NOTE_A4,8, NOTE_G4,8, NOTE_A4,4, NOTE_B4,8, NOTE_A4,8, NOTE_G4,8, NOTE_FS4,8, NOTE_G4,-2, }; int melody3[] = { // The Godfather theme // Score available at https://musescore.com/user/35463/scores/55160 REST, 4, REST, 8, REST, 8, REST, 8, NOTE_E4, 8, NOTE_A4, 8, NOTE_C5, 8, //1 NOTE_B4, 8, NOTE_A4, 8, NOTE_C5, 8, NOTE_A4, 8, NOTE_B4, 8, NOTE_A4, 8, NOTE_F4, 8, NOTE_G4, 8, NOTE_E4, 2, NOTE_E4, 8, NOTE_A4, 8, NOTE_C5, 8, NOTE_B4, 8, NOTE_A4, 8, NOTE_C5, 8, NOTE_A4, 8, NOTE_C5, 8, NOTE_A4, 8, NOTE_E4, 8, NOTE_DS4, 8, NOTE_D4, 2, NOTE_D4, 8, NOTE_F4, 8, NOTE_GS4, 8, //5 NOTE_B4, 2, NOTE_D4, 8, NOTE_F4, 8, NOTE_GS4, 8, NOTE_A4, 2, NOTE_C4, 8, NOTE_C4, 8, NOTE_G4, 8, NOTE_F4, 8, NOTE_E4, 8, NOTE_G4, 8, NOTE_F4, 8, NOTE_F4, 8, NOTE_E4, 8, NOTE_E4, 8, NOTE_GS4, 8, NOTE_A4, 2, REST,8, NOTE_A4, 8, NOTE_A4, 8, NOTE_GS4, 8, //9 NOTE_G4, 2, NOTE_B4, 8, NOTE_A4, 8, NOTE_F4, 8, NOTE_E4, 2, NOTE_E4, 8, NOTE_G4, 8, NOTE_E4, 8, NOTE_D4, 2, NOTE_D4, 8, NOTE_D4, 8, NOTE_F4, 8, NOTE_DS4, 8, NOTE_E4, 2, REST, 8, NOTE_E4, 8, NOTE_A4, 8, NOTE_C5, 8, //13 //repeats from 2 NOTE_B4, 8, NOTE_A4, 8, NOTE_C5, 8, NOTE_A4, 8, NOTE_B4, 8, NOTE_A4, 8, NOTE_F4, 8, NOTE_G4, 8, //2 NOTE_E4, 2, NOTE_E4, 8, NOTE_A4, 8, NOTE_C5, 8, NOTE_B4, 8, NOTE_A4, 8, NOTE_C5, 8, NOTE_A4, 8, NOTE_C5, 8, NOTE_A4, 8, NOTE_E4, 8, NOTE_DS4, 8, NOTE_D4, 2, NOTE_D4, 8, NOTE_F4, 8, NOTE_GS4, 8, //5 NOTE_B4, 2, NOTE_D4, 8, NOTE_F4, 8, NOTE_GS4, 8, NOTE_A4, 2, NOTE_C4, 8, NOTE_C4, 8, NOTE_G4, 8, NOTE_F4, 8, NOTE_E4, 8, NOTE_G4, 8, NOTE_F4, 8, NOTE_F4, 8, NOTE_E4, 8, NOTE_E4, 8, NOTE_GS4, 8, NOTE_A4, 2, REST,8, NOTE_A4, 8, NOTE_A4, 8, NOTE_GS4, 8, //9 NOTE_G4, 2, NOTE_B4, 8, NOTE_A4, 8, NOTE_F4, 8, NOTE_E4, 2, NOTE_E4, 8, NOTE_G4, 8, NOTE_E4, 8, NOTE_D4, 2, NOTE_D4, 8, NOTE_D4, 8, NOTE_F4, 8, NOTE_DS4, 8, NOTE_E4, 2 //13 }; int notes = sizeof(melody) / sizeof(melody[0]) / 2; int notes2 = sizeof(melody2) / sizeof(melody2[0]) / 2; int notes3 = sizeof(melody3) / sizeof(melody3[0]) / 2; // this calculates the duration of a whole note in ms int wholenote = (60000 * 4) / tempo; int wholenote2 = (60000 * 4) / tempo2; int wholenote3 = (60000 * 4) / tempo3; int divider = 0, noteDuration = 0; int divider2 = 0, noteDuration2 = 0; int divider3 = 0, noteDuration3 = 0; void setup() { Serial.begin(9600); pinMode(led, OUTPUT); pinMode(buzzer1,OUTPUT); pinMode(buzzer2,OUTPUT); pinMode(vibrate,OUTPUT); } void loop(){ //pressure sensor for heart int pressRead2=analogRead(press2); // LED for heart // analogWrite(led, brightness); // brightness = brightness + fadeAmount; // // reverse the direction of the fading at the ends of the fade: // if (brightness <= 0 || brightness >= 255) { // fadeAmount = -fadeAmount; // } // // wait for 30 milliseconds to see the dimming effect //the vibration motor if(pressRead2>100){ // brightness=255; for (int i =0;i<5;i++){ digitalWrite(vibrate, HIGH); delay(300); digitalWrite(vibrate, LOW); delay(700); } //for buzzer for (int thisNote = 0; thisNote < notes * 2; thisNote = thisNote + 2) { // calculates the duration of each note divider = melody[thisNote + 1]; if (divider > 0) { // regular note, just proceed noteDuration = (wholenote) / divider; } else if (divider < 0) { // dotted notes are represented with negative durations!! noteDuration = (wholenote) / abs(divider); noteDuration *= 1.5; // increases the duration in half for dotted notes } // we only play the note for 90% of the duration, leaving 10% as a pause tone(buzzer2, melody[thisNote], noteDuration * 0.9); // Wait for the specief duration before playing the next note. delay(noteDuration); // stop the waveform generation before the next note. noTone(buzzer2); } } // button&sensor for gloves int pressRead=analogRead(press1); int buttonRead=digitalRead(button); /* if (buttonRead==HIGH) { first_click = true; lastDebounceTime = millis(); } else if (millis() - endTime < interval) { */ // //// debounce & button for gloves to produce sounds //if(pressRead>10){ // Serial.print(pressRead); // Serial.print(" "); // Serial.println(buttonRead); // //if(millis() - lastDebounceTime <= debounceDelay){ //if (buttonRead==HIGH){ // if( firstClick==false&&secondClick==false){ // firstClick=true; // Serial.println("haha"); // Serial.println(firstClick); //}else if (firstClick==true&&secondClick==false){ // secondClick=true; // Serial.println("why wrong"); //}}}} //if(millis() - lastDebounceTime > debounceDelay){ //if (firstClick==true&&secondClick==false){ // for (int thisNote2 = 0; thisNote2 < notes2 * 2; thisNote2 = thisNote2 + 2) { // // // calculates the duration of each note // divider2 = melody2[thisNote2 + 1]; // if (divider2 > 0) { // // regular note, just proceed // noteDuration2 = (wholenote2) / divider2; // } else if (divider2 < 0) { // // dotted notes2 are represented with negative durations!! // noteDuration2 = (wholenote2) / abs(divider2); // noteDuration2 *= 1.5; // increases the duration in half for dotted notes2 // } // // // we only play the note for 90% of the duration, leaving 10% as a pause // tone(buzzer1, melody2[thisNote2], noteDuration2 * 0.9); // // // Wait for the specief duration before playing the next note. // delay(noteDuration2); // // // stop the waveform generation before the next note. // noTone(buzzer1); // } // // lastDebounceTime = millis(); // firstClick=false; // } // else if (firstClick==true&&secondClick==true) { // // for (int thisNote3 = 0; thisNote3 < notes3 * 2; thisNote3 = thisNote3 + 2) { // // // calculates the duration of each note // divider3 = melody3[thisNote3 + 1]; // if (divider3 > 0) { // // regular note, just proceed // noteDuration3 = (wholenote3) / divider3; // } else if (divider3 < 0) { // // dotted notes3 are represented with negative durations!! // noteDuration3 = (wholenote3) / abs(divider3); // noteDuration3 *= 1.5; // increases the duration in half for dotted notes3 // } // // // we only play the note for 90% of the duration, leaving 10% as a pause // tone(buzzer1, melody3[thisNote3], noteDuration3 * 0.9); // // // Wait for the specief duration before playing the next note. // delay(noteDuration3); // // // stop the waveform generation before the next note. // noTone(buzzer1); // } // } // else if(firstClick==false&&secondClick==false){ // lastDebounceTime = millis(); // } // // // //} ///* //// ////the first song // //// ////the second song // if (count%2==0&&count!=lastcount){ // } // tone(buzzer1,HIGH); // delay(50); // noTone(buzzer1); // delay(50); // tone(buzzer1,HIGH); // delay(50); // noTone(buzzer1); // delay(50); // tone(buzzer1,HIGH); // delay(50); // noTone(buzzer1); // delay(50); // tone(buzzer1,HIGH); // delay(50); // noTone(buzzer1); // delay(50); // } //*/ // // lastButtonState=buttonRead; // delay(200); // // lastcount=count; //} }