The purpose of this project is to make instrument learning software available to anyone and for any instrument. We present a hardware implementation of a sound to MIDI converter. A Piezo sensor is used to get better quality sound data from acoustic instruments. By combining a Piezo pickup, a high performance microcontroller, and Fast Fourier Transforms we can determine the notes played on the instrument. The paper will also discuss the techniques used to get more accurate data, such as Harmonic Product Sum from the Fast Fourier data. The use of HAL drivers will be discussed to allow programming in C++ on the STM32F4 ARM chip. Power consumption is another major topic that will be discussed, as well as sending data wirelessly with XBEE.
Category: Projects
Computer Engineering projects
Project RADAR
Student: Kevin Secretan
The goal of Project RADAR is to use radar imaging to possibly detect human survivors in burning or collapsed buildings. The project focuses on using Synthetic Aperture Radar (SAR), as SAR images are a useful tool for picking out possible humans. Recording the information for a SAR image using this radar system requires moving the radar in a straight line over ten feet, in two inch increments, acquiring range data at each point. To move the radar automatically a time lapse dolly was constructed out of PVC pipes, rollerblade wheels attached to a platform, and a DC motor, driven by a MSP430 microcontroller.
Continue reading Project RADAR
Direct Abstraction
Student: Matthew Kaes
Direct Abstraction is a high level scripting language that brings a shared code base to both the PC environment and ARM hardware. In the case of the PC version there is an interpreter that parses the user’s code in a text file and executes it. For the ARM device an embedded virtual machine will look for code on an SD card on boot up to parse and run. In both instances development time is improved by removing the need for long compile times and having to deal with complex tool chains in order to get the code to build. Since the code base is the same for both the PC and the ARM device this means that the developer can write code for the end device without ever running the code on the device. Code can be rapidly developed on a PC environment with instant turnaround time for testing and then the final code can simply be ported to the final device and work.