Introduction
The goal of this project is designing microcontroller operated drum set and guitar which are only consist of drums sticks, pedals, and pick. This is done by implementing accelerometers which are connected to the microcontroller. By swinging the sticks and picking the guitar in the air you can play drums and guitar. We also implemented playback feature that you can record the sound and listen to it later. Rock n Roll!
High level design
Swinging drum sticks is essentially applying acceleration to it. This is detected by accelerometer which generates higher voltage relative to the steady state. When this “High” voltage output is detected by MCU it will generate sound using Karplus-Strong algorithm (for guitar) and FM synthesis (for drum), the theory of which will be explained in the following section. This “Raw” sound output then goes through the low-pass filter to suppress some unnecessary high frequency components and we can listen to the filtered sound through the speaker.
-Sound Implementation
A guitar consists of several strings that fluctuate when they are plucked. The fluctuation is what makes the sound, and this is why the Karplus-Strong Algorithm is one of the best ways to implement the guitar sound. Karplus-Strong Algorithm fills a delay line, a circular buffer, with noise, and then lowpass filters filter the shifted outputs of the delay line and adds those to themselves. The noise table will change the pluck transient timber.
Since the Karpls-Strong Algorithm is essentially a physical modeling of string simulation sounds other than string instruments is not so well. Therefore, to simulate the sounds of other instrument, the FM modulation of a sine wave should be introduced. The basic structure is same. The main function will set up the flags for each sound whenever it gets signal, and the sounds are played in ISR. The difference is that in FM Synthesis, only one array of sine wave will be needed, since the sounds will be differed by the base and FM frequency.
Parts List:
Cost
Items | Part Number | Source | Quantity | Unit Price | Total Price |
Wooden stick (drum) | Cornell Store | 1 | 0.62 | 0.62 | |
Straps (pedal) | Pre-owned | 6 | |||
trimpod | Lab | 5 | |||
Accelerometer | MMA1260D | Lab | 5 | ||
Comparator | LM358 | Lab | 3 | ||
Resistor (20kΩ) | Lab | 5 | |||
Resistor (1MΩ) | Lab | 5 | |||
Resistor (330Ω) | Lab | 4 | |||
Resistor (1kΩ) | Lab | 1 | |||
Capacitor (45F) | Lab | 1 | |||
NAND gates | SN7400N | Lab | 1 | ||
3.5mm audio cable | Lab | 7 | 1.25 | 8.75 | |
3.5mm audio jack | Lab | 15 | 0.50 | 7.50 | |
Protoboard | Lab | 1 | |||
Push Button | Lab | 4 | 4 | 4 | |
Solder Board | Lab | 1 | 4 | 4 | |
Speaker | Lab | 1 | |||
STK500 | Lab | 1 | 15 | 15 | |
Jumper cable | Lab | 1 | 9 | 9 | |
TOTAL COST | 48.87 |
For more detail: Invisible band Using atmega644