week 11

Benjamin Williams - Thu 18 June 2020, 7:10 pm
Modified: Fri 19 June 2020, 1:57 pm

Prototype Preparation

I spent this week preparing my audio output component for the group's assembly of the full SassMobile next week. Since I have the parts available to build a second prototype, I made a replica prototype to give to Anshuman or Steve to permanently integrate the audio component into the SassMobile. I also had to reorganise the audio files on the SD card into folders for when specific sounds are targeted. I had issues doing this because there were hidden index files on the drive that caused the code to play a flat sound despite a sound being targeted.

Here is a code snippet of the sound organisation:

// phase 1

  myDFPlayer.volume(15);  // Set volume value. From 0 to 30


  myDFPlayer.playFolder(1, 1);  // how good is tv

  delay(5000); // 5s

  myDFPlayer.playFolder(1, 2);  // are you enjoying this show?

  delay(10000); // 10s

  myDFPlayer.playFolder(1, 3);  // I think you've watched enough now

  myDFPlayer.playFolder(1, 4);  // it's a beautiful day outside, not that you'd know


  myDFPlayer.volume(25);  // loud

  myDFPlayer.playFolder(1, 5);  // yaaaayyyyy


  // phase 2


  // 1. *Robot Changes channel*

  myDFPlayer.playFolder(2, 6);  //  i. "I'm bored of this channel"

  myDFPlayer.playFolder(2, 7);  //  ii. "Are you sitting on the remote?"


  // 2. *Robot Turns down/mutes volume*

  myDFPlayer.playFolder(2, 8);  //  i. "I have sensitive hearing"

  myDFPlayer.playFolder(2, 9);  // ii. "Was that a profanity?"



  // 3. *Robot changes language*

  myDFPlayer.playFolder(2, 10);  // i. "You know Mandarin right?"

  myDFPlayer.playFolder(2, 11);  // ii. "Now it's more educational"


  // 4. *User throws towel over robot* (light sensor)

  myDFPlayer.playFolder(2, 12);  // i. "Ahhh I'm blind!"

  myDFPlayer.playFolder(2, 13);  // ii. "this isn't funny"


  // 5. *User unblocks view* (light sensor)

  myDFPlayer.playFolder(2, 14);  // i. "Thanks a lot"

  myDFPlayer.playFolder(2, 15);  // ii. "I missed seeing your pretty face"


  //Phase 3


  //1. *Robot Turns off TV*

  myDFPlayer.playFolder(3, 16);  //i. "Time to go do something else" #3RR0R

  myDFPlayer.playFolder(3, 17);  //ii. "I think your TV is broken"


  //2. *User throws something at it* (vibration sensor)

  myDFPlayer.playFolder(3, 18);  //i. "Ahh!"

  myDFPlayer.playFolder(3, 19);  //i. "Ouch!"

  myDFPlayer.playFolder(3, 20);  //ii. "stop hitting me you loafer"


  //3. *Pull ears*

  myDFPlayer.playFolder(3, 21);  //i. "Ow stop it!"

  myDFPlayer.playFolder(3, 22);  //ii. "I have sensitive ears"


  //4. *Robot puts volume to max*

  myDFPlayer.playFolder(3, 23);  //i. "How do you like that?"

  myDFPlayer.playFolder(3, 24);  //ii. "Need subtitles now?"

  myDFPlayer.playFolder(3, 25);  //iii. "I lied about having sensitive hearing"


It's been a couple of weeks since the any changes have been made to the concept. We've been focusing on preparation for building the SassMobile. I'm sure we'll run into troubles so it's important that I could do as much as possible on my component. My aim is to make the robot's voice and mannerisms as emotional as possible, so there are few thoughts I've had about how to do more. Making the volume dynamic in accordance to how angry the robot is ie. very loud when it's yelling. It's also occurred to me that the robot has no positive feedbacks that would be triggered when the robot is pleased with the user. I'll have to ask Steven to record some more audio... Looking forward to building the Sassbot next week!