With a heavy load for senior design and mechatronics in March, I’ve fallen behind on my posts. Here are the top 5 constraints for my MIDI drum pad.
- Sensor Overlap
My MIDI drum pad uses a number of piezoelectric sensors to detect when the drum pads are struck. These sensors are moderately sensitive – enough that a sensor could be triggered unintentionally from a force intended for a different sensor. This is an issue since this means that drum sounds would be going off when the user doesn’t want them to. In order to prevent this, the sensors need to be insulated from unintentional forces. A soft foam underneath the body of each drum pad may be able to prevent this, but I don’t want to have to sacrifice the feel of the drum pads. Some sort of design compromise may have to be made here.
- Reaction Time
While I do have some Arduino/mBed programming experience, I still have a lot to learn. In most of my past projects, I’ve used “if” statements to determine the state of a sensor. I’m worried that if I’m running 7 different sensors into a single microcontroller, and using separate “if” statements to determine the states of each sensor my code will run slow. If my code is too slow, then the time from when a user strikes a drum pad to when it produces sound could be to great. This would prevent the unit from being used for live performances/jam sessions/etc. I may be able to use interrupts to get around this issue.
- Current Limits
I plan on using a Teensy 3.2 as the brains of my project. While the main component of the project is the piezoelectric sensors, I’d also like to incorporate some leds into the design. If I do this, I want to make sure that the leds really add to the aesthetic (they need to be nice and bright). To ensure this, I need to make sure that I can draw enough current out of the Teensy. Luckily, the piezoelectric sensors don’t really draw current (I don’t fully understand how they work quite yet, but I’m looking into it) so I should be able to use most of the available current for lights. If this doesn’t work, I may need to look into installing some sort of battery pack, or ditching the lights altogether.
With the semester coming to an end, there isn’t a ton of time left! Besides this, I have a robot to finish for my mechatronics class, and a senior design project to finish up. In order to ensure a quality product, I need to make sure that I’m spening a good amoung of time each week on the project, and that I have all of the resources i need at all times, in order to prevent hook-ups.
Since I’m not working this semester, I’m a little low on cash. This isn’t necessarily a bad thing, since having an economical project is always a plus – however I’ll need to be smart with my resource allocation. I need to make sure I don’t fry my microcontroller (I fried an mBed a few weeks ago working on out mechatronics robot :/ ) as this is the greatest cost single item. I also need to make sure I have my wooden body design down after an iteration or two, since wood costs add up pretty quickly. In order to do this, I’ll be constructing a number of prototypes out of cardboard and acrylic.
I am with you buddy on the time constraint, senior design has left everyone in our major scrambling to find time to complete other class material. Its sounds like you really know what you are doing, I am not good enough with electronics to make suggestions. You could look at aurdino forums to see if there are faster ways to run code, rather than using a million “if” statements.