I have worked on this guitar project for a month at this point. Considering I have never done something like this before, I had to buy everything and learn everything all in the span of a couple months. First time I bought an Arduino, too. Most of the materials I am using are:
- Arduino Uno
- x6 SG90 Servo Motors
- PCA9685 16-Channel Servo Driver
- 6 Guitar Picks
- Wood Mount
- Breadboard Kit (only used the wires)
- Guitar Slide
All of these materials cost around $97.
I wanted to design it in a way that a person could put any guitar through the wood mount and the picks will hit the strings and will work. I bought small servo motors just to lower my budget while also experimenting with them, as I have never used these before. I realized that connecting 6 servo motors to my Arduino Uno and my breadboard would use around 24 wires, and I didn’t want to do that, so I bought a servo motor driver, so I could plug in my servos instead of using multiple wires. It’s easier to assemble and disassemble.
In the first stage of this project I wanted to work on brainstorming ideas to lay the groundwork. My vision became too strong to work in the time constraints that I had, as I was both going to work on the fingerpicking portion, the fret portion, and converting guitar tablatures to code able to be read by Arduino. Obviously it would take a lot of time to work on both of these, so I minimized my grand ideas to one single goal; create a robot that plays guitar strings automatically.
Initially, I was planning to use stepper motors to control the frets, however controlling the frets in itself is a daunting task, and given the cost and complexity of stepper motors, I ultimately decided not to. Instead, I have tuned my guitar to an open D tuning so as to simplify the process by using my index finger with a guitar slide. It’s easier to do that than fretting a flat guitar, which would mess up my fingers. In a way, it turns into a zither-type instrument. I was very stressed out in making the wood mount, but fortunately my stepmother is guiding me to build the mount. I have already started on coding a sequence for the servos, and it was very simple. Servo motors move by angles, so it was easy to code it to mimic fingers hitting a string. Once learning that, I created a small loop to control 6 servo motors sequentially by the pin number it was attached to on the Arduino. I am now coding a repeated sequence that can play a small little melody to show off in the showcase. After the showcase, I will continue to work on controlling the frets, possibly continuing this project another year.
One thing I learned from this project is that engineering is expensive!!!!! Almost 100 dollars going into a small project that I could have easy saved to get a guitar, or like McDonalds. If I would have bought the stepper motors, conveyor belts, the attachments to the motors, stepper drivers, etc. I would have doubled or maybe even tripled the amount that I spent on the fingerpicking assembly. This would have taken a lot more time than I assumed, but I am still proud of what I accomplished now.