PPT

tenderlaSoftware and s/w Development

Dec 13, 2013 (3 years and 11 months ago)

114 views

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

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


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)


Driving Circuitry

Pulse Width Modulation

Pulse Width Modulation


Serial Bus


One Master, Multiple Slaves


Master/Slave Architecture

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