1 / 10

Team 3 Piano Glove

Team 3 Piano Glove. Software Design Considerations Carolyn McMican Daniel Stein Jonathan Kuntzman Mihir Shah. Project Specific Success Criteria. An ability to quantify the position of the glove relative to the processing unit.

rhea
Download Presentation

Team 3 Piano Glove

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Team 3Piano Glove Software Design Considerations Carolyn McMican Daniel Stein Jonathan Kuntzman Mihir Shah

  2. Project Specific Success Criteria • An ability to quantify the position of the glove relative to the processing unit. • An ability to combine finger press data and glove position to determine which virtual key has been pressed. • An ability to utilize SpeakJet from GPIOs to produce various sounds. • An ability to collect analog data from force and stretch sensors, digitize it, and correctly format packets for wireless transmission. • An ability to detect different pressure levels to control volume.

  3. Software Design Considerations

  4. Design Constraints • Memory Constraints • Data storage is limited to one package on either glove or base and a few miscellaneous variables • Time Constraints • Software should run fast enough to provide illusion of instantaneous sound from finger press

  5. Utilization of Integrated Peripherals • Analog to Digital • Will be used for sampling the sensors on the glove • Serial Peripheral Interface • Will be used for printing messages to the lcd screen • Timer • Will be used to generate interrupts for time based actions • Will be used to time ping duration

  6. Glove Software • Check for finger presses on a set time interval • If finger pressed check stretch sensor • Format data package for easy decoding • Transmit the data package • Software will be interrupt driven

  7. Glove Pseudo-Code Main(){ initializeReg(); while(true){ /*Wait for timer interrupts*/ } } TimerServiceRoutine(){ data[]=sampleATD(); formatData(data); transmitData(data); }

  8. Base Software • Ping the glove on a set time interval • Time duration of ping • Convert time to distance to glove • If a data package is received • Check if the data package is valid • Calculate notes pressed based on data package and distance • Use Speakjet to produce appropriate sounds • Software will be formatted as a polling loop

  9. Base Pseudo-Code Main(){ intializeReg(); while(true){ /*Timer interrupts for generating pings.*/ if(haveData()){ data[]=recieveData(); mapToKeys(data); produceNotes(data); } } } TimerSeriveRoutine(){ time=pingGlove(); Distance=convert(time); Return(distance); }

  10. Questions?

More Related