Photon-based Computer for Rowing Machine

I’ve got a small project and wanted a piece of quick advice. Basically, I have a rowing machine (Kettler Kadett) with a simple computer that tracks strokes, distance, frequency, heart rate, etc. The rower works great but the computer stopped working, and I want to use a photon to do the same and more (automatically log a workout to a web server). The rower has a really simple reed switch sensor that picks up whenever the seat passes over it (twice per stroke: one forward and one back).

So my question is simple: given the timing of the front and back stroke (easily less than a second), should I use interrupts to capture individual strokes and then occasionally (every 5 secs) aggregate them? Or just use a simple loop with a short delay and do it that way? Or is there some other way? Also, any thoughts on the logic for tracking the strokes and aggregating them into speed, etc?

I am also considering a simple touchscreen interface, so may switch the project to RaspPi!

You could go with polling but I’d still go with interrupts.
One thing you need to address with reed switches is the contact bounce which will trigger multiple events with on “switch” action.
Alternatively you could gove the clickButton library a go, since this does already deal with button bounce.

BTW, the Photon can also drive touch displays.

2 Likes