Doesn't "software programming" cover it all? What do you mean by "another purpose??"
My hobby is animatronics. I have written a BASIC program to interpret a specialized script language I defined, to control my animatronic penguin. The script looks like this: "Playmove,Look ahead,200
Playmove,Open eyes wide,200
Scriptpause,pause,2000
Playmove,Open Eyes Normal,200
Say,merry-xmas.wav,0"
The penguin moves with servo motors controlled by a serial servo controller from a company called Lynxmotion. Depending on the script, my program sends commands to the controller over a serial port. (The program is described in this link "Lynxmotion Tech Support: View topic - FreeBasic SSC-32 Interpreter"). (By the way, this link is NOT a current listing.)
The program also will play an audio file when instructed by the script. Then, the program reads in a DC signal from an ADC, that corresponds to the audio file. With this signal, the program synchronizes the animatronic's mouth movements. The DC signal comes from a circuit I developed with the help of the people on this board: SOLVED: Convert audio to 0-5VDC for ADC by uP. The program multitasks playing of the audio file, moving the mouth and other actions.