This week in my CSIS 495 course (Interactive and Generative Art), I had the students complete a workshop that combines their knowledge of Processing and Arduino to create an interactive game using physical controls connected to an Arduino. Essentially, we are using Firmata to allow Processing to remotely control an Arduino in real-time, then use that information to control a sprite on the screen.
The game itself is a simple ‘stay alive’ game wherein you have to control the vertical position of a helicopter and attempt to guide it through a cave, with randomly generated terrain. The position of the helicopter is controlled by the value of a potentiometer connected to the Arduino (some students used SoftPots, which worked very well when used with a pen). Furthermore, three LEDs are connected to the Arduino to indicate important information about the status of the player (direction up/down and out-of-bounds).
I allocated two entire class periods for this workshop, though every student successfully got the project running on Monday! Friday will be spent dissecting the project, particularly the code, so the students will be able to apply their understanding of the topics to create any type of physical interface involving buttons, sliders, knobs or more unusual input methods.