Girltar- Elaine – Tracy

Girltar- Elaine – Tracy

 CONTEXT AND SIGNIFICANCE 

For our group project, we made a human-bodypart-selling machine based on Winter Market. The process of preparing for the group project inspires my deeper understanding of interaction: It’s both about the interaction the machine has with people, and about the storytelling. Also, the interaction should be meaningful and designed for a purpose. For our previous group project, it was designed to remind people that we shouldn’t let our desire control us and that we need to control our desire. For this midterm project, we not only want to help people with eyesight disability learn guitar, but also want to let normal people experience the difficulty of  people with eyesight problems and to cherish our ability to live as a normal people. Our target audience is mainly those people with eyesight disability because it’s hard for them to learn guitar when they’re not able to use their sight, however, their sensitive touch and hearing have been developed. Our project focuses on these two senses as their advantages and transfer the sight part into pressing the button-touch, and hearing the changing of the tone of guitar-hearing.

CONCEPTION AND DESIGN:

We used two different kinds of buttons in our design, one is the small button and the other is a bigger button. This is based on our considering of those people with eyesight disability can tell the difference by feeling the different size of the buttons. We have thought of using cardboards with different designs to stick on the buttons and enhance the experience of different touch feeling, however it affects the sensitivity of the button itself so we had to abandon that idea. Also, we made the robot with some details like the little feet and hair, so that by touching at these parts can have a clear expression to the users that we have built a man-like girl robot. And we mainly used cardboards and multiple boxes to build. We chose a tissue box because it happens to have a mouth on one of its surface that enables us to hide the Arduino inside. And to make it echos to our poster, we painted it blue and yellow. For this project, we had three previous drafts, the first one was a glove that connects to an ultrasound sensor with a spring. When the user moves his/her hand, as the spring goes longer and shorter, the distance sensor can sense different distance so to make different tone of the particular instrument the user steps on, or two instruments, each hand’s sensor controlling each instrument. And we also wanted to have four paddles on the ground and each hiding a button, which are the beats. However we found it really hard to construct all elements in time, so we eased that idea into a blanket with 20 buttons on it, five as a group, playing Do Re Mi Fa So for one particular instrument. There will be leds beside the buttons. When the game begins, the computer will randomly play a combined tone with two to three notes for one of the instrument, the user has to find the instrument and the notes. For the first round, it will give the user ten seconds, the leds will fade as count down, if the user succeed in finding the notes in time, all leds will blink and play a cheerful music, if not, then all leds will fade and there will be a frustrating voice. However, we didn’t have enough wires as well as buttons and leds, and we didn’t dare to rely on the delivery, so we just choose our current project idea and started 

 FABRICATION AND PRODUCTION:

Tracy and I did the whole process together, including the beforehand design and the whole constructing and coding process. After we decided our project, we started with building the circuit. It was pretty hard to connect all five buttons on one small breadboard, there were a lot of wires that sometime confused us. As we uploaded the code for the first time, it didn’t work. So we dissembled the circuit and connected the buttons one by one and upload the code each time, and we found out that one of the buttons wasn’t connected properly. After the buttons all work, we connected the ultrasound to the circuit. It wasn’t working at all at first, however, after Andy reminded us to delete the // before the code for ultrasound, it worked. We wanted to change the guitar sound into other pieces of music, however we didn’t have the SD card and we looked online to see if we can play music without the SD card and sadly we didn’t find a way to do so. 
After we fixed the circuit and the code, we started to build the cardboard part. We painted a graph and just chose cardboards that have suitable sizes, we also used many boxes. And we painted them into yellow and blue. After the paint is dry, we sticked them together by the hot glue gun.

We finished the composition of the project pretty early, and we invited many people to try and play. I invited my mum and grandfather to try and interact with Girltar, what was really surprising to me is that they both found out how to interact with Girltar pretty quickly even without my introduction and made really cool music clips. Tracy invited her roommates, they also created some good music clips.

CONCLUSIONS:

Our project aims to enable people who are beginner at guitar learning or have eyesight issue to play guitar. As I written in previous blog, interaction is an entertaining communication between two actants, with either or none of them human, but doing man-like actions. Also, it’s consuming people’s senses like sight, hearing and so on. I think the project suits in my definition of interaction pretty nicely because the result of interacting with Girltar is a random clip of music that’s completely designed by the user, which is pretty entertaining, and the background of this robot having a name and body like human, last but not least, this project uses people’s sight, hearing and touching at the same time.

If we had more time and if the delivery is normal, I really wished that we could play more music, also we could add some LEDs on the project to make more visual effect. And we could also try more materials to make the buttons both have different touching experiences and to function properly. We’ve learnt that when connecting a complicated circuit with multiple ingredients, we should add on the components one by one. Also, it’s important to test the sensibility of the sensors before the idea for the project is fixed. And through this experience, I understand the coding skills more and am able to add codes independently now.

Although the construction of our project is pretty simple, just using cardboards and boxes, however, the idea behind the appearance is important. There are many people with eyesight disabilities, for them, even the simplest things can be of great difficulty. And it’s even harder for them to learn an instrument. But we think that everyone have the same right to pursue their dreams, and although we can’t really experience how their lives are like, at least we can help a little bit by building this project. 

Our poster:

Our presentation video:

Our code:

void setup() {
#define echoPin 2 // attach pin D2 Arduino to pin Echo of HC-SR04
#define trigPin 3 //attach pin D3 Arduino to pin Trig of HC-SR04
// defines variables
long duration; // variable for the duration of sound wave travel
int distance; // variable for the distance measurement
int echoNote = 220;
int buttonOne = 4;
int buttonTwo = 5;
int buttonThree = 6;
int buttonFour = 7;
int buttonFive = 8;
int tomOne = 196;
int tomOnePlay = 0;
int tomTwo = 784;
int tomTwoPlay = 0;
int soundOut = 13;
void setup() {
  // put your setup code here, to run once:
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT
  pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT
  Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed
  pinMode(buttonOne, INPUT);
  pinMode(buttonTwo, INPUT);
  pinMode(buttonThree, INPUT);
  pinMode(buttonFour, INPUT);
  pinMode(buttonFive, INPUT);
  pinMode(soundOut, OUTPUT);
}
void loop() {
  //Clears the trigPin condition
 digitalWrite(trigPin, LOW);
 delayMicroseconds(2);
// Sets the trigPin HIGH (ACTIVE) for 10 microseconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  // Reads the echoPin, returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);
 // Calculating the distance
  distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back)
// Displays the distance on the Serial Monitor
  Serial.print("Distance: ");
  Serial.print(distance);
 Serial.println(" cm");

  if (digitalRead(buttonOne) == HIGH) {
    tone(soundOut, 110, 100);
  }
  if (digitalRead(buttonTwo) == HIGH) {
    Serial.println(digitalRead(buttonTwo));
    tomOnePlay = 1;
  }
  if (tomOnePlay == 1) {
    tone(soundOut, tomOne, 50);
    delay(10);
    tomOne -= 6;
    if (tomOne < 41)
    {
      tomOne = 196;
      tomOnePlay = 0;
    }
  }
  if (digitalRead(buttonThree) == HIGH) {
    tomTwoPlay = 1;
  }
  if (tomTwoPlay == 1) {
    tone(soundOut, tomTwo, 40);
    delay(12);
    tomTwo -= 28;
    if (tomTwo < 262)
    {
      tomTwoPlay = 0;
      tomTwo = 784;
    }
  }
  if (digitalRead(buttonFour) == HIGH) {
    tone(soundOut, 147, 30);
    delay(10);
    tone(soundOut, 220, 30);
    delay(10); 
    tone(soundOut, 294, 30);
    delay(10);
    tone(soundOut, 349, 30);
    delay(10);
    tone(soundOut, 440, 30);
    delay(10);
  }
 

  //
  //  if (digitalRead(buttonOne) == HIGH)
  //  {
  //    tone(soundOut, 220, 30);
  //    delay(40);
  //    tone(soundOut, 330, 30);
  //    delay(40);
  //    tone(soundOut, 440, 30);
  //    delay(40);
  //    tone(soundOut, 523, 30);
  //    delay(40);
  //    tone(soundOut, 659, 30);
  //    delay(40);
  //  }
  //
  //  if (digitalRead(buttonTwo) == HIGH )
  //  {
  //    tone(soundOut, 262, 30);
  //    delay(40);
  //    tone(soundOut, 392, 30);
  //    delay(40);
  //    tone(soundOut, 523, 30);
  //    delay(40);
  //    tone(soundOut, 659, 30);
  //    delay(40);
  //    tone(soundOut, 784, 30);
  //    delay(40);
  //  }
  //
    if (digitalRead(buttonFive) == HIGH)  {
      if (distance < 7)
      {
        if (distance > 1)
        {
          echoNote = 220;
        }
      }
      if (distance < 9)
      {
        if (distance > 6)
        {
          echoNote = 262;
        }
      }
      if (distance < 11)
      {
        if (distance > 8)
        {
          echoNote = 294;
        }
      }
      if (distance < 13)
      {
        if (distance > 10)
        {
          echoNote = 330;
        }
      }
      if (distance < 15)
      {
        if (distance > 12)
        {
          echoNote = 392;
        }
      }
      if (distance < 17)
      {
        if (distance > 14)
        {
          echoNote = 440;
        }
      }
      if (distance < 19)
      {
        if (distance > 16)
        {
          echoNote = 523;
        }
      }
      if (distance < 21)
      {
        if (distance > 18)
        {
          echoNote = 587;
        }
      }
      if (distance < 23)
      {
        if (distance > 20)
        {
          echoNote = 659;
        }
      }
      if (distance < 25)
      {
        if (distance > 22)
        {
          echoNote = 784;
        }
      }
      if (distance < 40)
      {
        if (distance > 24)
        {
          echoNote = 880;
        }
      }
      if (distance < 40)
      {
        tone(soundOut, echoNote, 200);
      }
      if (distance > 39)
      {
        tone(soundOut, 220, 200);
      }
    }
}

Leave a Reply

Your email address will not be published. Required fields are marked *