This is a project for my ENGI 301 course: Introduction to Practical Electrical Engineering
Motivation:This semester, I joined the Mariachi Luna Llena. I had auditioned on guitar and had been accepted into the group. I have owned a guitar for a couple of years but had not spent a lot of time mastering a majority of the chords and fundamentals required for playing the instrument in a group setting. I mostly struggled with playing chords I have never played before, along with quickly switching back and forth between chords. To solve this problem, I decided I wanted to make my ENGI 301 project guitar related to address this problem. I wanted to make a device that would be able to record all guitar chords, including chords that are commonly played in many genres of music, and be able to display the tabular form of the guitar chord on an SPI screen as the program would display pictures of the tabular form at random at a set tempo. With the tabular form at display at all times, I would be able to learn my music and guitar chords quicker, and be able to challenge myself by increasing the speed of switching between chords.
Hardware:A PocketBeagle was used as the microcontroller for this project. A picture of the pin diagram is attached below
SPI Screen (2.8" TFT LCD with Touchscreen Breakout Board w/MicroSD Socket - ILI9341):
The SPI screen is used to display the tabular form of each guitar chord. The tabular form would be displayed by carefully programming the corresponding image to display on the screen at the same speed as the tempo. Each chord would be shown for four beats before another chords is shown at random.
The LED Diode is used to display the tempo of the song being played through its flashing. The component would be programmed to flash the BPM chose through the potentiometer. The flashing would only occur when the program would run and when the chords are being continuously displayed on the SPI screen.
Wired to P2_4
The potentiometer is used to select the list of chords from the guitar chords list and also used to set the tempo of the program.
Wired to P1_19
Ground: P1_17
Power: P1_18
The button is used to confirm the selection of the list of chords you wish to practice on as well as confirm the selection of the tempo of the program.
Wired to P2_2
Pull up resistor (1K) connected to GND
Throughout this project, I ran into many problems figuring out how to display the tabular forms of guitar chords. I first started with an LED array and then moved to an SPI screen as I believed it fit better for my project. In the end, I was not able to successfully program the SPI screen to display the screens I would have liked it to. I also had difficulty programming the button and LED to function as the main program ran so it would improve the efficiency of the project. These are areas of improvement that would require an in-depth look and development of the code associated with the project. Overall, I had difficulty with the programming portion, but enjoyed learning what components would work best for this project.
Areas of Improvement:Currently, the project only works with lists of images of the tabular form of guitar chords. These lists need to be extensively downloaded and filled with the tabs of all possible chords. Once these lists are completed, the device will be most efficient. Next, the SPI screen's programming can be improved to display the correct tabs at the correct time. It needs to be programmed so that it can display all parts of the project such as the selection of chords, the tempo, and the run function of the project. Finally, there can be an addition of another button that will focus on beginning, pausing, restarting, and ending the play along feature of the project. This will help by ensuring the user can complete all parts of the play along, making the device a more effective tool for learning guitar chords.
Acknowledgement:
I would like to thank my ENGI 301 professor Erik Welsh for all his help and guidance throughout this project
Comments
Please log in or sign up to comment.