Bringing the Arts into STEM: Coding Music with Arduino
An educator in Lake Washington High School in Kirkland, WA uses Arduino to teach coding and robotics to her students. The twist: Students are learning to code music, which helps them relate coding and robotics to their personal interests.
- By Joshua Bolkan
Sarah Marshall is a new teacher working on translating her previous career in architecture to get students excited about career and technical education at Kirkland, WA's Lake Washington High School. Sarah took over her position from a teacher who retired midway through the school year and she now teaches engineering, robotics and material science full time. She recently sat down with STEAM Universe to talk about a lesson in which her students used Arduinos to program tones and, eventually, music.
STEAM Universe: Tell me a little about your background. How'd you get into teaching?
Sarah Marshall: I'm a brand new teacher. I've been working in the field of architecture from 2011 to 2016, so about five years and I had always kind of thought about going into teaching because I like the human contact and the nature of working with people, and then I left architecture in August of last year following the birth of my son and instead of going back into architecture jumped into teaching. I took over for a teacher who left mid-year at a school up here in the Seattle area, and I've been teaching full time since February.
I teach high school, career and technical education, which is sort of a replacement for vocational ed, so you might call me a STEM teacher. My classes are engineering and robotics and material science, so they are based on my industry experience in the architecture and engineering world and it's a separate certification from traditional teachers. It's a teacher certification that also builds off of your industry experience.
STEAM Universe: Please tell me a little about what your students are doing with Arduinos and music.
Marshall: So what my students are doing is they are using Arduino, which is a type of little computer robotics processor that allows students to learn a combination of simple electronics and they also write some code — the language the robots use is C language — and they basically use a little program to write the code that then communicates with the robots. And so Arduino is a really great open source program that allows students to prototype certain configurations so they can try out different types of circuits and it also comes with a lot of proprietary sensors that you can attach to it that allows them to use both digital inputs and outputs.
So the output that they're using is a little speaker that has tones attached to it. And these are all fairly cheap devices that you can order online for $2 a piece or something. The Arduino itself is a little more expensive, but all the sensors and stuff are fairly cheap, so it's not a sophisticated musical tool. But then they can write programs that sort of schedule out the tones so they can leave a certain amount of space between notes and change the notes and eventually make music. What my students like to do is to think of a song that they know and try to figure out how to code it and then they get really excited when the song comes out as the Star Wars theme song or something. But they could potentially, if they were really into music, they could make more sophisticated music.
STEAM Universe: What's the value of bringing in music, even if it's not particularly sophisticated music?
Marshall: I think the value is finding things that the students are interested in and letting them take this lesson in robotics and automation into their personal interests. I have students who are really into video gaming, or some of them are into the music associated with gaming, so it's a way to apply the skills that they're learning to their personal interests.
The beginning of my class is just a series of tutorials where they learn about the different digital and analog inputs and outputs, and so that kind of walks them through the process. And then the second half of the course, which we're just getting into, is where my students propose challenges that they could take on typically in groups of three or four and then I will help them design a challenge that they can take on. Currently, the challenge that we're taking on is we're creating a physical game with an arena that has robot cars that will drive around and respond to a variety of automated sensors.
So that's one way it could have gone. If a student had approached me and said, "Hey, I'm really interested in taking this music further and I want to create a musical instrument," for example, that's one direction that we could have gone in.
STEAM Universe: Did you come across any surprises in this lesson that you didn't anticipate, good or bad?
Marshall: A lot of times the way my students work is they don't write all the code themselves because a lot of code exists online. So what they typically do is they'll search for someone who's done something similar to what they want to do and then they'll modify the different pins and the different sensors to correspond to the material that they have. So they might copy the code from one person and then google and copy something else from another person and then combine all those things, and they're pretty good at it, but sometimes you do everything right and it still doesn't work the way you want it to. I think that's the daily surprise, thinking you did something right and [finding out] it doesn't work.
Like today we were using a color sensor and it was supposed to read only red, but for some reason it was reading a variety of colors as red. So when it would see a white line it would think it was red, and when it would see your hand it would think it was red, so they have to figure out how to fine tune the sensors we're working with and eliminate variables. "What could have gone wrong here?" We have to start narrowing it down, narrowing it down until they figure out what went wrong.
STEAM Universe: I would imagine there's value in that in and of itself, right?
Marshall: That's my goal, to get them to the point where they just have to figure out what happened! I mean, I understand the basics of all this, but I'm not an expert at any particular type of robotics. My design expertise is really just to say, "We're solving a problem. What are the steps to follow to solve this problem?"
STEAM Universe: Did you have coding experience before launching this lesson?
Marshall: No, not really. I had volunteered in some classrooms where we were doing the same robotics programs, the Arduino, so I had some background just from that.
STEAM Universe: Did this lesson change the way you think about integrating arts and STEM education?
Marshall: Well, I know that everyone talks about adding the A to STEM for STEAM. I guess I don't like to think of the A as a separate thing from the others. I think it's present all the time, and I think the arts are really the part that students are interested in, so any time that we can tap into something that they're passionate about and get them to be more participatory is a good thing. And obviously robotics has all sorts of applications in the musical field and the artistic fields, so it's not a discredit to my students to have them use it for these things.
STEAM Universe: I imagine it might be more intimidating for arts teachers to try to incorporate STEM ideas into their lessons, you know to come at it from the other direction....
Marshall: Yeah, maybe. If you want to know my honest opinion, a lot of what we consider the traditional arts, I don't think they're necessarily dead — I think there's still a place for hand drawing and painting and stuff like that, but I just think that in the working world technology has replaced a lot of those arts. So to teach students how they could manufacture things on a larger scale or use graphic design instead of art that's done by hand — it's realistic to teach kids that that's the direction the world is heading and that's where the careers are. I think that's the direction arts are headed, into a digital and engineered world.
STEAM Universe: What kind of advice would you give to a teacher who is maybe a little intimidated by the idea of robots or programming, maybe they don't know what an Arduino is right now, and that scares them a little bit?
Marshall: I would say look it up and Google it and learn a little bit about it. I guess I think the biggest skill a student can have is to teach themselves how to do new things, rather than expecting someone to teach them, and I think that's the idea behind Arduino, is that it's open source; it has a low barrier to entry; and there's lots of information readily available online. And it's perfect for kids because the cost is cheap so they can access the parts themselves, and I think that's kind of the nature of what I want to teach my students — is that they can seek out information themselves and not rely on someone else to do it for them.
Joshua Bolkan is contributing editor for Campus Technology, THE Journal and STEAM Universe. He can be reached at firstname.lastname@example.org.