In this periodic series of "Letters," Shawn Wallace, member of AS220, the Providence, RI community arts and technology space, shares his experiences with the Fab Academy, a distributed learning collaborative, built on the infrastructure of the Fab Lab network. -- Gareth
Interfacing microcontrollers and applications
By
Shawn Wallace
The Fluxamaphonic, a physical interface to a computer-based FM synthesizer.
It is week 24 of the Fab Academy, and we're finally getting into integrating the various machining, electronics, and programming skills we've been practicing. The final two months of the program will focus more on design and engineering, and will culminate in a semester project, due in June. For now, the students are focused on their projects for the current two week cycle, focusing on interface and application programming. The assignment is to write a user interface for an input or output device using whatever combination of controllers, languages, and toolkits you wish.
The image above is the Fluxamaphonic input device; some knobs and buttons for playing and modulating two computer-generated sine or saw waves. It was made by Elliot Clapp, who had participated in Shawn Greenlee's excellent crash course in Pure Data at AS220 Labs. Elliot decided to create a physical interface to a Pure Data (Pd) patch using Arduino as the microcontroller platform. Pd is an open source visual programming language for integrating sound, video, and physical interfaces, created by Miller Puckette. You can think of it as an open and free alternative to Max/MSP.
The design of the Fluxamaphonic, as with all of our interface projects, followed these essential steps:
1. Capture data and map the numbers to a transport protocol. In the case of the Fluxamaphonic, the six potentiometers are hooked up to 10-bit A-to-D converters (i.e, the analog inputs on an Arduino board). These numbers are sent as two bytes over a serial connection, so nothing needs to be done to the data. The Arduino is flashed with the Pduino firmware, which allows the Pd patch to request data from the Arduino over a serial connection.
Elliot milled a custom Arduino shield to handle all the potentiometer and switch connections.
Read more |
Permalink |
Comments |
Read more articles in 3D printing |
Digg this!