May 18, 2010 9:45 PM
Final project: pinball machine themed on an unfinished opera by Dylan Thomas and Stravinsky
by Shawn Wallace
Stravinsky's first opera was The Rake's Progress, and for years after he always intended to compose another. In 1953 he met with Dylan Thomas in New York to hash out the details of a libretto for an ambitious opera to be commissioned by Boston University. Several possible scenarios were tossed out, including a postapocalyptic love story and a libretto written by a large number of monkeys on typewriters. As fortune would have it, the poet died before the opera could be realized. This machine tells the story of the unfinished opera using the vernacular designs and mechanisms of pinball.
The game components will tell the story of the opera by combining the following elements:
4 possible scripts
12 characters
12 props
12 locales
26 typewriter keys
Each of the elements is keyed to a target on the playfield and has corresponding LED feedback.
General color guidelines for the design are:
Black and white cross-hatch
Spot complementary colors: orange/blue, purple/yellow
Collaged b&w paper images
The various components fall into these categories:
Manual Input
Flipper
Plunger
Coin op
Automatic mechanisms
Ball return
Tilt and bump sensing
Tracked Input
Targets
Bumpers
Holes
Switches
Output
Lights
Sound and music
Score
Backglass display
In the triage process of the final week I have focused on getting two output systems working; the LED array drivers and the sound and music generator.
The two working playfield ornaments are based on the Fabian Arduino-compatible board.
The Fluxamafet: sixteen N channel MOSFETs on an Atmega168. Controls banks of LED arrays.
The Fluxamamidi: An Atmega168 that generates MIDI sequences for all the sound effects and music in the game. Can read MIDI patches from an SD card and play back according to script and input.
The Fluxamabox (UNFINISHED): A MIDI to audio sound generator based on the ATSAM2195.
I started by milling a bunch of breakout boards grouping six LEDs into different configurations:

Coupled with the controller, they formed a dreaded floating octopus of wires:
Although they look nice from the front:
For the next group I decided to use the vinyl cutter, which works well for this kind of application:
A Processing interface for visualizing the array. Because Processing is syntactically similar to Arduino, you can cut and paste the model and upload as working firmware.
Here's the Processing code.
For now, the flippers are activated by (120V AC) sewing machine solenoids that I happen to have a lot of. I also have a bunch of 5V electromechanical relays that can switch them. Eventually I will swap these out for two-coil flipper solenoids comparable to those at pinballmedic.net.
Just got my pinball balls in the mail:

Puppet Master Final Project Page Updated
Shopbot Project - Modular Shelving
Diploma Completion Checklist Update - 08.14.2010
Unsuccessful Modela Troubleshooting - Partially Successful Switch to Roland Vinyl Cutter
Very Basic Beginner Assembly Tutorial III: How to Use Avrdude
Very Basic Beginner Assembly Tutorial II: How to Use Gavrasm to compile an .asm flie
Very Basic Assembly Tutorial I: Where to Get Gavrasm for the Mac OS
Complete and Working --> Modified Hello Echo + Button + FTDI v.2
Modified Hello Echo + Button + FTDI v.2 ---> In Progress
Modified Hello Echo + Button + FTDI v.1
Mantis Hardware / Software Trial Run
First 3D Scans - Modela Scan of Laughing Die and Shell
Interlocking Rings - 3D Printing
MakerBot Cupcake CNC- Assembling the Plastruder mk4 Spindle
Capacitive Sensing - PuppetMaster v.1-v.2
[Revised] Fab Academy Final Project Proposal: PuppetMaster
FabISB Round 2: Stuffing and Programming the Board
Making Programming, Connector and Serial Cables
Final Project Licencing and Distribution
Internet 0 / Zero - Milling, Stuffing & Setting Up the Boards
Spindle Assembly - Mantis Milling Machine
PuppetMaster Final Project Page
Encoded Building Materials with Computer Numerical Control Assembly
Final Project Plan: PuppetMaster Universal Remote
Final project: pinball machine themed on an unfinished opera by Dylan Thomas and Stravinsky
Electronics design and production
The Fabian: an Arduino-compatible, student-friendly board for Fab Labs
Super simple bootstrap 3-axis controller
Breadboard-friendly Attiny45 board
Using a GUI to Control Processing Output with ControlIP5, Firmata via Serial
My favorite python/GTK reference
Fab ISB - Round 1: Milling Out The Board
Completed TARDIS Cast | Working Light