Making Arduino Speak

About a month ago I wrote a post about how my Interactive Exhibit Design course had me learning how to code an Arduino microcontroller to turn lights on at the push of a button. We have had some studio lessons since then. Just a few weeks ago we started playing with sound. Our kits come with a rudimentary speaker that, while attached to the Arduino breadboard, can be programmed to make noises.

We began with a basic configuration, with the speaker connected to a simple circuit on the breadboard. We then programmed the Arduino to tell the speaker to make a rather unsettling noise. We also included a photoresistor in the circuit. We programmed this to change the noise from the speaker depending on how much light the photoresistor received. This was a good way to get a basic understanding of how the speaker worked, but we were not yet at the point where we could get much application out of it. Perhaps the basic idea could be applied by an exhibit designer who wanted to trigger a sound based on a change in lighting. For example, say a passerby inadvertently covers a light source, and the sound of gunfire erupts as he or she enters the trench section of a First World War exhibit (sort of like a tripwire without the tripping part). Obviously, that would require some different coding and a speaker that could handle the audio file.   

Next, we built a keyboard instrument. We removed the photoresistor from the circuit and instead attached four buttons. We then coded each of these four buttons to prompt the speaker to emit a different tone when pressed. I had a little bit of trouble with my breadboard on this one. In a previous studio class, I’d learned that one of the lines on my breadboard (the one marked in pen) was broken. It seemed that a second line was also broken, meaning I had to move things around on the breadboard to ensure all four buttons were part of a complete circuit. This is a constraint I’ll have to be aware of as I move forward with Arduino projects.

As you can see in the attached videos, the buttons worked like keys on a keyboard, each with a different sound. If I had any musical talent, maybe I would be able to compose a short song using this new instrument. Instead, it’s given me some other ideas. You’ll recall that in my last post I wrote about using buttons to turn on lights to highlight parts of a small display, such as a map of Sicily. Adding buttons with sounds would allow me to add some sound effects to the display. Perhaps I could upload the sound of an aircraft taking off, of fighter pilots or bomber gunners firing machine guns, or the sounds of air raid sirens, flak, or crashing aircraft. Pushing a different button might highlight a different part of an aircrew’s operational sortie over Palermo, Messina, or one of the Axis aerodromes on the island.

I could also program the speaker to narrate parts of the Battle of Sicily depending upon which button is depressed. This would add another layer to the light display rather than relying on the user to read the button’s accompanying text. I believe this would require a superior speaker and different programming software. I also would need some help programming the lights and audio files to work in sync. It would be great for the light to turn on at the same time as the narration begins. The light would turn off when the narration ends, and both would end when the user pressed another button, starting that lighting and narration sequence.

Another interesting application for a setup like this could be an audio listening display. Museums use these sorts of displays all the time. I remember one at the Canadian War Museum in their Cold War gallery. The visitor can put on a set of headphones and listen to various Cold War-era tracks from recognizable artists. I keenly remember falling in love with Tears for Fears’ ‘Everybody Wants to Rule the World’ when I was there as a teenager. It was a memorable experience that I won’t soon forget – the very thing that the best museums nail.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s