The project were built with arduino/genuino 101.
This board contains a device, called Intel Curie that contains a processor, bluetooth low energy, accelerometer and gyroscope.
The project was built for hackster.io contest on arduino/genuino 101 for the category healthcare.
It's all started as a way to develop a wearable for parkour capable of track and improve parkour movement.. than it become a wearable for improving handstand.
Handstand for preventive HealthcareThe device has been created to engage people on training every day with handstand!
It is a complicated and intense movement and a good exercise to get fit and be healthy: http://healthyliving.azcentral.com/many-benefits-handstands-health-8911.html
It is another fun way to stay fit.
The simple application I built, can track on each session:
- number of handstands
- how long the last handstand was
- how long was the best handstand
- how long was the medium of the hanstands
- handstand total time position
The application running on the 101, reads the position of the accelerometers and it creates a bluetooth LE device, with a specific characteristic code and type of value notify. The code on the 101 continually checks the accelerometer data: if something is changed between the previous reading and if the algorithm finds a new position: it sends an update through the bluetooth characteristic.
On the computer side, the application, connects to the arduino. Once connected if something is sent from the 101, an event is raised from the bluetooth stack and a callback in javascript called.
The callback reads the new information and with a simple algorithm establishes if the position received rappresent:
- the start of the handstand: it save the start time of the movement and emits a sound
- the end of the handstand: it updates the statistics and emits a different sound
- something to ignore
Thanks to the "notify" configuration, there is no need from the html5 side, continually polls the device in order to receive updates: the bluetooth stacks do everything by themselves!
Build your own- Download the last Arduino ide.
- Open the application , go on board manager and install the support for arduino/genuino 101.
- Download the arduino code attached to this page and open it with arduino ide: compile and run!
Once deployed on the device...
- unzip the archive attached
- open the file main.html on Chrome (drag&drop inside the window the file)
- in the page click on "connect", it should show a device called "handstan", it is the arduino
- once connected click start notification
- rotate the arduino you should see the data on the page updating and the message on the bottom change.
See the following images to understand how the html5 page interact with the device
I'm interested in this kind of tracking device. I do parkour and an help to improve my handstands is interesting.
The code on the arduino side is ok, the problem are in the dimensions of the device and the battery pack.
The device should stay in a strap around the ankle or put inside a pair of shoes, something like these:
The client app right now runs inside the browser of my mac, but with very few effort I can build a native android/ios app with same functionalities and add new functions like:
- remember you to do handstands
- challenge other players
- make results online
- etc
At the beginning, before put all the efforts on the handstands, I was searching a way to track the quality of my parkour's jumps and so I've also created code to read accelerometer data in order to find jumps patterns..
The code is not working right now (maybe next months) but I did some video that sincronize the movement with accelerometer data:
Comments