There are many different tools on the market similar to one we chose to make. As sports fans, we wanted our final project to relate to health in way that dealt with athletics. We came up with the idea that some sort of hand-held, distance calculator would be something that would be useful and also be a sufficient project according to the requirements. We chose to focus on golf and decided to create something that would measure the distance of a golf shot. We researched commercial GPS products that are used for this type of information. We also researched other homemade/maker movement type projects to get an idea of what materials were needed, cost, expected time, and other pertinent information. After this research, we decided to move forward with the idea and order the parts necessary.
Our device consisted of 4 main parts. The controller, GPS module, and LCD screen all fit together on top of one another. This made the device very compact and simple which is what we were looking for. On the other hand, we were forced to solder many header pins. This was a tedious job and the solder sucker was used a few times to fix mistakes. The LCD screen took many inputs. It took some time to figure out which inputs we needed to use in the code and where to assign them. We read a lot of blogs and forums online about which GPS libraries to use in order to receive and send the correct information to the LCD display. This was a long process but we finally ended up with an easy-to-use library for the GPS module. The code was manipulated to send certain information to the LCD display. We also looked at and manipulated several menu libraries for the LCD screen. Some had characters that were too large, some had weird fonts, and some just were too difficult to work with. We eventually found one that gave us a simple font and a font size that fit our screen well. The other main component to the device was a battery pack to power the unit. We decided to buy an enclosure online. The Arduino was screwed into the bottom of this transparent, plastic box. This box came in pieces, which we were unaware of, and these pieces were very poorly made. The enclosure partially broke as soon as it was assembled the first time. It does the job but is not what we expected and was overpriced.
Some of the issues that we faced included issues with the GPS shield sending signals to places it shouldn’t, soldering, and learning how to use previously existing libraries. The first thing we realized is that it is fairly difficult to solder headers onto a shield, but we all saw this as still a much better alternative to working with conductive thread for this project. After that, we got to experience a lot of reading through example code provided by libraries like Tiny GPS, Tiny GPS++, Liquid Crystal, and a couple of others. We then pent time manipulating the files and making them work closer to the way we wanted them to. After getting all of these things working, we tried to combine our devices, and this is where we faced our biggest challenge on this project. Because our GPS was sending data to multiple places, our device would not give us useful information, and it caused us to question everything we had done to that point many times over. Eventually we deducted that the GPS was the problem, and we decided to cut the leads in the shield connecting the TX and RX pins of the GPS to the 7 and 8 pins of the Arduino that we thought we had previously bypassed. After we did it our device began running smoothly, and it was not long before we had a working GPS distance calculator.
This device could be of much better quality if we had unlimited resources. Having a large budget for this project would allow us to make a much more aesthetically pleasing device. It would also allow us to have the most up-to-date LCD screen, GPS module, and microcontroller. These changes would allow this tool to display, save, and manipulate much more data to make a much more powerful tool. Having unlimited time would afford us to build a very nice, custom enclosure for the system. The battery pack would be included in the enclosure, making the entire system in one piece. We would have large font labels to show the user what each button on the LCD screen does. Having more time would afford us to customize the display menu and make it more user friendly. Knowledge about shields that work with the Arduino controller would tremendously help make this project easier and overall better. Having knowledge about the hardware would have saved us time soldering and also time trying to figure out the correct inputs and outputs. Information about building custom enclosures and similar craftwork would be very useful for creating a commercial looking product.