I'm trying to create the simplest/easyest/cheapest possible way to measure the speed at which a wheel is turning (like a bicycle speedometer) with a smartphone. On the phone the information will be further processed and used as the display of an open-rower-erg project.
This is an open-source project. Although I can program a bit, I need opinions/answers from electrical engineers on the following options I'm considering for this measurement:
1) The simplest I could think of was attaching a small magnet to the wheel and placing the phone close enough to the wheel that the phone's magnetometer could record the magnet passing. Then the phone would process the signal to extract angular velocity. Is this idea feasible (the fact that no other tread mentions this makes me a little skeptical)? Could that magnet, systematically moving on the same direction, damage the phone or drain the battery? How precise can I be with the magnetometer? how fast could I sample it?
2) Another alternative would be to use Reed Switch, probably scraped from a cheap bicycle speedometer, and try to send the signal though the phone directly, either through the micro-usb or the headphone jack. Other treads(tread2, tread3, tread4) suggest using the headphone jack would be better then the micro-usb slot. Is this really an alternative? How could I do that?
3) Others at the open-erg-tread1 suggested an Arduino, with the USB output. What would be the cost of that? This other tread5 suggests a similar idea to my point 1, above, sending information from Arduino to Android via magnetic field and the phones magnetometer.
Any suggestions are welcome, I'm having a difficult time finding good references on google. Thanks in advance
I don't have enough rep to put more than two links. The others are: tread3 https://stackoverflow.com/questions/20148791/android-app-monitor-reed-switch-usb-connected tread4 https://stackoverflow.com/questions/7806596/android-usb-bit-counter tread5 http://jdesbonnet.blogspot.com.br/2011/05/arduino-to-android-io-on-cheap-aka-poor.html
EDIT: adding estimates for the max rotation speed (very rough, coming from imagining an erg, not actually measuring, please correct my numbers if you know better):
x) dive lenght: 1.90m (~6"3')
y) cog circunference: 91mm (= 29mm cog diameter * PI)
z) turns per drive: x/y = 20.8
t) drive time: 0.6s - 0.9s (when rowing fast)
w) max RPS during drive: from 33.3rps (20.8/0.6) to 25rps (20.8/0.8)