25
Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O.

Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Embed Size (px)

Citation preview

Page 1: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Peripheral Interpreter consisting of Analyzers 'N

Operators

P.I.A.N.O.

Page 2: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Team Members            Course Instructor   Curtis Hayes                 Dr. Serpen Matthew Huie         Eric Lauber                   Faculty Advisor Wesley Vollmar             Dr. Molyet

P.I.A.N.O.Project Team

Page 3: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

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

Page 4: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

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

Page 5: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Background (cont.)• Uses existing technologies

oPWM (Pulse Width Modulation)oMIDI (Musical Instrument Digital

Interface)• Use knowledge gained through University

educationoComputer ProgrammingoElectrical Hardware Design

Page 6: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

• Actuatorso Dual Ledex Solenoidso Together pull up to1.3A @ 28V

• Switched Electronic Controlo PWM to create Dynamic

Variation and Human-Like Playback (Honors)o Use different PWM duty cycles to reduce heating

losses • Power Supply (28V)

Driving Circuitry

Page 7: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Pulse Width Modulation

Page 8: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Pulse Width Modulation

Page 9: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

• Serial Bus• One Master, Multiple Slaves

Master/Slave Architecture

Page 10: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Arduino Overview

• ATMEGA328• On-board

o Microprocessoro 328K Memoryo I/Oo PWMo Analog Inputs

•  Programmed in Co void setup()o void loop()

Page 11: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Hardware Block Diagram• Serial Communication• DIP Addressing• PWM to solenoid drivers

Page 12: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Hardware Slave Schematic

Page 13: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Software - Input Parsing

• Reads in a single track MIDI file• Pulls out relevant information

o Noteso Delayso End of Song

• Throws away meta-data, except tempo changes • Stores into database

 • Must be done very carefully to prevent corruption

of the data.

Page 14: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

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

Page 15: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

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

Page 17: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

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

Page 18: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

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

Page 19: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Software - Database Repair

• Two Redundant backups storedo Created at system close

• Can repair corrupted database at error• Protects against data loss

Page 20: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

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

                                        

                                        -    -    -    -    

Page 22: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Future• Scale up to full sized piano

o Invest into more key modulesoMass produce using printed circuit

boards (PCBs)• Communicate with other MIDI devices• Add other music file functionality

Page 23: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

Conclusion• One octave self playing piano• Software controlled• Solenoid key striking modules• Easy maintenance and repair• Self contained 

Page 24: Peripheral Interpreter consisting of Analyzers 'N Operators P.I.A.N.O

QUESTIONS?