As computing becomes more ubiquitous in our objects, designers need to be more aware of how to design meaningful interactions into electronically enhanced objects. At the University of Washington, a class of junior Interaction Design majors is exploring this question. These pages chronicle their efforts.

Friday, June 13, 2014

Capstone Speaker Shield Madness | Anjelica Harlow + Albert Lui

One super ‘fail’ we had happened when we got our hands on a new shield for our Arduino board. We purchased a MP3 Player Shield from Sparkfun (https://www.sparkfun.com/products/10628) to use for our project’s audio output because we needed a way to get the planter to talk to people who passed by.


At first we simply hooked up a speaker Dominic let us borrow directly to the Arduino. We were able to get it to play a tone, but we knew if we wanted to play multiple recorded phrases, we would need to go for a shield.

When the shield arrived, we were so excited to get it working that we made a crazy oblivious mistake.

First we stuck the headers into the shield and stacked them on top of our Arduino. We hooked everything up and plugged in some earphones into the shield's sound output. We tried running the test code that is provided with the shield, but kept getting error messages. The error messages were not helpful at all in helping us identify what was wrong.

We spent hours trying to figure out why it wasn't working. We were convinced the problem was the SD card. We browsed forums, comments, and help pages but couldn't find out what was going on. Dominic came over and took a look at things and at first, we still couldn't figure out what was going on. I asked Dominic to look at the physical board setup and asked him why the shield was so unstable on the Arduino board. I'm pretty sure at that point, Dominic had a mental facepalm. We didn't solder the headers onto the shield!!!


To our defense, this was our first time ever setting up a shield. In addition, no where in the instructions did it say to solder the headers onto the shield before using. This might be "obvious" for some people, but I still think it would be beneficial to include this (along with some soldering instructions) in the documentation.

This was a great learning experience. I'm used to coding stuff up and over the years I've learned how to debug code quite well. However, when you're doing physical prototyping stuff like this, you have to understand that you must debug the physical stuff as well as the code. You can spend hours staring at your code only to find that the problem was a loose wire.

No comments:

Post a Comment