Using the accelerometer for easier adjustments #498
Findecanor
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I think the most immediate limitation with the Casio watch's three-button interface is that there is only one Adjust button for incrementing a setting. If you accidentally overshoot then you'd have to press the button again many times.
On four-button Casio watches, the additional button often decrements.
But with the the accelerometer add-on, there can be more options.
I'd like to discuss some ideas I've had, and get people's feedback to refine them. I'll happily do programming later on.
Rotate wrist to change adjustment direction
By default, pressing the A button increments.
Rotate the wrist 90° up or down and then back, and then the A button would change to decrementing.
Rotate the wrist again to make it revert to incrementing.
My first idea was that rotating up would decrement one step, but I think that would be too strenuous to do repeatedly.
I also considered rotating in different directions to change between increment and decrement mode, but I realised then the wrist can't be rotated much in one or the other direction from watching the watch head-on (from either position on the wrist).
I think 90° could be a good value to start testing with, and then refine.
The setting would have to read a baseline orientation from the accelerometer when entering a setting, and then all movements be relative to that. It should also work the same way when upside down.
Edit: Play sound when direction changes. Low followed by high note if ascending, high note followed by low if descending.
Tilt to set LED colour
The idea is to simulate a ball balancing on circular tray which represents a colour wheel with white in the centre and fully saturated colours along the circular edge.
Tilting the watch would make the ball roll in that direction.
If the tilt is above a certain threshold, the ball should fall directly to the edge to achieve full colour saturation.
Have the LED lit all the time during this mode. Pressing the A button (or any other button) selects the colour. Blink the LED once and then off.
I'd suggest a RYGB colour wheel, where the cardinal directions are Left:Red-Up:Yellow-Right:Green-Down:Blue, to make selecting these colours simple.
On a SensorWatch with only a Red-Green LED, this would work the same way with only one axis being turned off.
I think a brightness setting is unnecessary. With the backlight as dim as it is, I don't think anyone would want anything but full brightness.
I think having the ball accelerate would only make it more difficult to use.
You could look at how circle-drawing algorithms work to avoid having to compute trigonometry or square roots.
I think the colour wheel could very well be pre-computed and stored as a lookup-table with PWM duty cycles for R, G and B.
Settings would only need to be stored as { X, Y } into this table, not as {R, G, B }
Tap twice to reset
Tap detection has been shown on Discord, so we now know that this is possible.
When adjusting a setting, tap the watch twice gently to reset the value. But should the value be reset to a default, or reset to the previously stored setting?
Or should tapping only decrement?
I think a "Reset" action could also be done after detecting a long press of the A button.
I think tapping twice in quick succession would be useful to distinguish it from an accidental tap. Also, a too slow double-tap should do nothing.
Beta Was this translation helpful? Give feedback.
All reactions