Funk guitars are usually played with a percussive mindset so the use of a metronome for practices is kind a must. After several years with a classic Wittner Taktell piccolino metronome - and inspired by Arduino Day #2021 - I’ve decided to make Betty, my own Arduino based metronome, with the following features:
- Hand gestures or even better: guitar neck gestures
- Easily increase and decrease tempo by 5 BPM
- Record and display practicing time for each session
I don’t usually put names to devices but this time I just wanted to make a small tribute to Betty Davis, the funk queen – and former Miles Davis wife (not that this matters at all, but just a reference)
- Heltec WiFi Kit 8 (ESP8266 with integrated Oled 128x32 screen) - I’ve used WiFi Kit 8 since I did not have an Oled screen available but you can use any other Arduino with an external Oled screen.
- 5V Buzzer
- DF Robot Gravity Gesture Sensor PAJ7620U2
- Custom made 3d printed case - optional
- DC In female connector - optional, you can also power it up with anyUSB cable
- Buzzer: D7 and GND
- Gesture: VCC, GND, SDA D2, SCL D1
- VIN: 5V and GND
- DC female: to GND and 5V
PAJ7620U2 is an interesting little device made by DFRobot. It is able to recognize Right, Left, Up, Down, Forward, Backward, Clockwise, Anti-Clockwise, Wave, WaveSlowlyDisorder, WaveSlowlyLeftRight, WaveSlowlyUpDown and WaveSlowlyForwardBackward, so it can be used for menu navigation instead of soldering several buttons
The DFRobot_PAJ7620U2.h library simplifies the entire procedure. You just place this code in the loop and that’s it.
DFRobot_PAJ7620U2::eGesture_t gesture = paj.getGesture();
if(gesture != paj.eGestureNone ){
String description = paj.gestureDescription(gesture);
if (description=="Right"){
// right detected here
}
}
Delay calculationThe main part of this project is to calculate the delay between sounds and that is done with this function.
unsigned long myDelay=(1000)/(bpm/60);
OperationTo increase the metronome tempo just make an Up gesture with the guitar. To decrease make a Down gesture. Right to start and Left to stop.
Demo videoWhere to go from hereYou can add a mini plug output for console or headphones and generate the sounds from Mozzi library. You can also add new gestures to reset practice time or increase tempo by 10, etc
Comments