Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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