final project tracking

The Idea

My idea for a final project is an interactive music box, which could serve as a learning toy for children. The main structure would be a box, with a musical staff present on one side of the box, or could even be a flat surface. There would be five horizontal lines across the box/sheet to signify the musical staff, either colored black or actually protruding from the surface. The interactive part would be musical notes, which could be placed onto the staff to make a short composition of music. Then, by clicking a button, a series of notes would be played back, accurate to how the physical notes are arranged.

Initial final project idea in Fusion from the first week.

Update 10/17

Today I started talking to the TA Grace about my final project idea. I am a total newbie to everything in this class, and I knew that the idea I have will rely heavily on input (sensing where the notes are placed) and output (playing back the notes), and we haven't gotten to those weeks yet, so it was helpful to talk to Grace about possibilities. We mainly talked about possibilities for how to sense the notes, and have three options, each which has pros and cons.

  1. Closing a circuit: If the box had a carefully-designed vinyl cut copper circuit on it and the notes were backed with copper tape, then placing a note onto the box could close a circuit. However, this would require notes to be placed in very precise locations, and there would be a copper tape circuit on the box, which might make it look less like a musical staff.
  2. Switches: The box could have a switch for each location where a note could be placed, and placing the note could toggle the switch so that it could be sensed. Again, this would require notes to be placed somewhat precisely, and there would be switches all over the board.
  3. Distance: Grace showed me this video which uses the hello.HC-SR501 in sonar distance sensing. I could sense the location of one note with one (or two) of these distance sensors. One problem is that sensing x notes would require x of these distance sensors.

Update 10/31

This week was molding and casting week, and I made a mold for and cast some music notes, with the possibility of using them in my final project. I might have to mirror the mold so that the back part of the note is the completely flat part.

I made a mold for and cast music notes.

I'm still debating about the input sensing for my final project, because I think there are problems with each of the three possibilities I discussed with Grace. I looked ahead on the class website to Input Devices week and it seems like step response is the recommended way to sense position. I think this capacitive multitouch grid by Matt Keeter accomplishes position sensing that could be modified for my project, so I am planning to build/test that soon.

Next week is Output Devices week, and I'm going to make the output device I add to my board be a speaker, so I'll have a start on the electronics for my final project.

Update 11/7

I tried to make a speaker this week during output devices week. It was a huge struggle and didn't work. I'm not sure why, and TA Mike also isn't sure why. I'll have to come back to the speaker.

My attempt at the speaker board which failed.

Update 11/21

I attempted to make boards for step response and capacitive touch sensing this week during input devices week. I milled two boards--one for single touch and one for multitouch. I didn't stuff the multitouch board yet, but I

I haven't gotten the first capacitive sensing board to work yet, and I haven't stuffed the second which is for multitouch.

Update 11/24

I think I need to simplify my final project idea. It relies so heavily on sensing where music notes are placed, and I haven't been able to get step response to work yet. It also requires sensing a lot of different locations, because there are 9 possibilities for where a single note can be placed on a staff ignoring above the top and below the bottom line, and I would also want to sense more than one note. I think I have a modified idea which I like better. Instead of having the physical object be the sheet music, I want the sheet music to be the computer interface. The physical object will be a mini piano keyboard. A user can use the application to place notes or preselect a song, and then the piano keys will light up according to which one should be pressed when for someone trying to play the song or sequence of notes in the application. I plan to have 12 keys total, and I can use charlieplexing to control these LEDs in the keys. I am fairly certain I can get the LEDs to light up according to a sequence of notes, so the next extension I would like to add to the project (depending on time) would be sensing and a speaker. Each note, in addition to having an LED, would have a capacitive sensor, and I could use the speaker to play the note as someone touches it.

Update 12/5

I started a Processing sketch for the computer interface part. Right now it's a screen with five horizontal lines.

This week was networking and communications week, and I got charlieplexing to work, which is how I am going to control the LEDs to embed in my piano keys, and I also created a wired serial network that I am going to use in my project. I can use my bridge board in my final project. I will need to modify the node board for my final project so that it can control 12 LEDs instead of just 6, and so that the LEDs are external rather than surface mount.

Charlieplexing and networking success.

Update 12/7

I have designed one of the node boards for my final project. This is the board that will control the LEDs. The board has pin header connectors which will connect to twelve external LEDs which I am going to embed in piano key objects to light them up. I still need to design another board which will handle the capacitive pressure sensing for each key.

Board design for controlling the LEDs with charlieplexing.