The mid-term project, as documented earlier, was to code a NES controller to play tunes. Upon receiving feedback and wanting to ensure I can complete the prototype in time, I decided to build a speaker for the controller... Taking Benedetta's advice of not building a box if I can buy one, I found a wooden box online that would fit the speaker that I have. This will be the beginning of a necessary lesson in fabrication: it is NEVER as easy as it seems.
Though it is probably my own fault for thinking fabrication with a pre-bought object will be easy. The first thing I realized is that I needed to figure out a way to mount the speaker onto the box, which means I need to figure out a way to cut a hole big enough to mount it. It was much more difficult than I thought it was going to be, especially for someone such as myslef who has never even done any woodwork before.
After seeking help from Ben, a resident,he gave the most practical suggestion: make a hole that is messy, and laser cut a panel to mount the speaker on. With that, I can glue it over the messy hole, hiding it and making look much more presentable.
But when the box is so big, even cutting a messy hole isn't that easy:
A valuable lesson learned is 1 - even something as simple as "cut a hole in a box" is actually a lot harder than it seems, and might require more specific tools than you realize. It wasn't until I got a drill bit that allowed me to drill a hole then slice sideways, did I finally manage to cut a hole. Something I thought would only take me a couple of hours ended up taking 2 days!
But, thankfully, I now have a hole in a box:
Ben suggested a simple way to cut 2 small holes through the panel I can pull up for power and wires to come through, so I used the saw and cut this:
It did allow this to happen inside the box, where users cannot see:
So, the prototype looks like this after all the fabrication:
As for the coding: I couldn't quite hack it to be more flexible, so I coded the tunes into the controller. It is probably not the smartest way to go about it, but it sounded ok. So I dug up 4 theme songs: Super Mario Bros, The Legend of Zelda, Tetris and Final Fantasy. The Start / Select buttons are bass notes, and A / B buttons are chords.
Here's Seiya playing with it:
So, it looks finished and I am happy that it looks presentable, but I wished it wasn't so limited in its functionality. I still couldn't make it play 2 keys at the same time (I was told "Interrupt" might solve that problem, but that's a battle for another day). Once I coded the tunes in, I wished I had a way to manipulate it in some ways, maybe adding analogue sensors to play with the output more...
So, I feel what I got out of this exercise is never to under-estimate the time to fabricate the prototype. I should probably buy extra boxes in case I break it while fabricating...I also could plan more functionality in advance. I also feel I need to spend an extra 3 months learning how to code the arduino better.
But, for now, I am happy that I made something that looks completed.