With electric scooters becoming increasingly popular modes of transportation for people in urban areas, Cities are struggling to incorporate them safely into the already crowded streetscape. Not all cities have developed bike lane networks for users, leading to the common practice of scooters being operated on crowded sidewalks. Most models sold today have top speeds over 15, or even 25 miles per hour, leading to possible dangerous operation so close to pedestrians.
What it does
Speedk communicates to the user haptically to alert them if they travel at an unsafe speed. Sourcing speed from a GPS sensor, it displays the user's speed on a display that can be mounted to the handlebar. If the user travels above 12mph, a piezo electric motor will be triggered to inform the user of their high speed, even if they aren’t looking down.
How we built it
Speedk relies on an Arduino Genuino Uno platform, using adafruit sensors and code libraries. A Adafruit Breakout v3 GPS sensor was used to wirelessly receive GPS location and speed data from satellites. This data was parsed using the Adafruit GPS library. To inform the user if the GPS had a fix or not, a red and green leds were included and actuated to display if the GPS had a fix or not. The central goal of Speedk is to make safety speak to the end user, helping them operate more sanely in crowded city scapes. This was accomplished by displaying their speed on a 2 by 16 LCD liquid crystal display. The Liquid crystal LCD library was used to easily display the output values from the Adafruit GPS library onto the display. More critically, Speedk must communicate with the user even if they are not looking down at the speedometer. Multiple different actuators were considered, including a speaker. Ultimately, to ensure the user receives the message regardless of how loud their environment is, we elected to actuate a piezo electric motor to haptially inform the user of their high speed. If the user travels above 12mph, the vibrating motor will continuously vibrate to ensure the user is aware of their speed and ideally consider slowing down if they are in an environment not well suited for their speed.
By informing the user of their speed, users will hopefully be cognizant of what speeds are more appropriate for their surroundings. The GPS, display, and piezo motor all had long wiring to allow users to mount them on their scooters.
Challenges we ran into
We faced two main challenges in developing speedk, both related to the GPS sensor. First, getting the GPS sensor to get a fix with satellites proved to be extremely difficult. Walking outside the engineering quad did not result in a fix; we had to walk all the way to starbucks to eventually get a fix on occasion.
The GPS sensor proved to be relatively unreliable as we received a fix only twice from the many times we ventured outside in search of a fix. Secondly, once we achieved a fix, we had to extract the speed from GPS data given from the sensor. Originally we tried directly parsing the double value from the printed string from the serial monitor, but because not every line printed represented a GPS data line, this proved not sustainable. We then turned to the Adafruit GPS library, which included functions for parsing speed and location data from the sensor’s output. Utilizing the library made the project much better.
Accomplishments that we're proud of
What we learned
This project served as a fantastic introduction to and development of skills in Arduino and circuit wiring. We especially appreciated the opportunity to learn soldering skills in the soldering workshop. In our project development, we learned how to use Arduino code libraries, integrate multiple libraries suited for different sensors (GPS and display), and use a wireless sensor. We also developed our teamwork skills through multiple nights of walking outside with a laptop and mess of wires in search of a GPS fix.
What's next for Speedk
We think speedk could benefit from being extremely compact and cheaper to build to allow more users to implement the system; with more users using speedk, city streets will be safer. To decrease the size and cost of speedk, we believe we could eliminate the GPS sensor and display board by strictly making it a wireless haptic feedback system driven by a cell phone application, as nearly every electric scooter user has a cell phone with a better functioning GPS sensor than the breakout v3 sensor. We also would like to power the sensor by tapping into the existing power supply of the scooter, to eliminate the need for the user to charge it. Ultimately, we would like to see scooter manufacturers incorporate haptic feedback to their users to make riders drive slower.
Arduino Genio Uno, Adafruit GPS breakout v3, Liquid Crystal LCD display, piezo electric vibrating motor, LCDs.
Arduino Code with Adafruit GPS and Liquid Crystal display libraries.