Transcript PPT
P.I.A.N.O.
Peripheral Interpreter
consisting of Analyzers 'N
Operators
P.I.A.N.O.
Project Team
Team Members
Curtis Hayes
Matthew Huie
Eric Lauber
Wesley Vollmar
Course Instructor
Dr. Serpen
Faculty Advisor
Dr. Molyet
Background (Problem)
•
•
•
•
Player pianos are expensive
Obtrusive internal modifications of piano
Musicians are expensive
Musicians may not know and be ready to
perform all genres of songs
Background (Solution)
• Play the piano autonomously via computer
software
• Do not modify or damage the piano
• Be contained and unobtrusive
• Use modular design to be scalable
• Be cost effective and easy to use
Background (cont.)
• Uses existing technologies
o PWM (Pulse Width Modulation)
o MIDI (Musical Instrument Digital
Interface)
• Use knowledge gained through University
education
o Computer Programming
o Electrical Hardware Design
Driving Circuitry
• Actuators
o Dual Ledex Solenoids
o Together pull up to1.3A @ 28V
• Switched Electronic Control
o PWM to create Dynamic
Variation and Human-Like Playback (Honors)
o Use different PWM duty cycles to reduce heating
losses
• Power Supply (28V)
Pulse Width Modulation
Pulse Width Modulation
Master/Slave Architecture
• Serial Bus
• One Master, Multiple Slaves
Arduino Overview
• ATMEGA328
• On-board
o Microprocessor
o 328K Memory
o I/O
o PWM
o Analog Inputs
• Programmed in C
o void setup()
o void loop()
Hardware Block Diagram
• Serial Communication
• DIP Addressing
• PWM to solenoid drivers
Hardware Slave Schematic
Software - Input Parsing
• Reads in a single track MIDI file
• Pulls out relevant information
o Notes
o Delays
o End of Song
• Throws away meta-data, except tempo changes
• Stores into database
• Must be done very carefully to prevent corruption
of the data.
Software - Output Control Signals
•
•
•
•
•
Read in command signals from database in array
Calculate "tick" time
Run timing delays
Output command signal on serial port
Repeat
• Fast enough to simulate chords
Software - Serial Communication
• Using a Universal Serial Bus (USB) to RS232R (TTL logic
levl) converter
• Software uses the built in .NET Serial Port object
• Can be written to like any file object
Software - Graphical User Interface
• Simple, clean style
• Similar to most other media players
• Custom buttons to customize
our system
• Functions separated on
different windows
• Custom icon to identify the
program
Software - Database
• System.Data.SQLite ADO.NET provider
o http://www.sqlite.org/
o "Most widely deployed SQL database engine in the
world"
o Used in systems such as Mozilla Firefox
• All data stored in one single file
• Simple Transaction SQL commands
• Requires only file path to access
Software - Database Repair
• Two Redundant backups stored
o Created at system close
• Can repair corrupted database at error
• Protects against data loss
Software - Import / Export
•
•
•
•
Wes Vollmar's Honors portion of the project
Ability to export and share database contents
Replace or append to current playlist
Gives system mobility
-
-
-
-
Future
• Scale up to full sized piano
o Invest into more key modules
o Mass produce using printed circuit
boards (PCBs)
• Communicate with other MIDI devices
• Add other music file functionality
Conclusion
•
•
•
•
•
One octave self playing piano
Software controlled
Solenoid key striking modules
Easy maintenance and repair
Self contained
QUESTIONS?
References
• Atmel - ATMega328P
o http://www.atmel.com/dyn/products/product_card.asp?P
N=ATmega328P#dataSheets
• Ledex 191172-001
o http://www.jameco.com/webapp/wcs/stores/servlet/Produ
ctDisplay?langId=1&storeId=10001&catalogId=10001&productId=1919203
• Texas Instruments - DRV102
o http://focus.ti.com/docs/prod/folders/print/drv102.html