WIP - hardware and software for motorizing a (very specific) manually controlled standing desk. I doubt it's useful to anyone but me, but it may contain some interesting bits of code.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
1.1 KiB

3 buttons, 2 presets
Screen turns off after 30 seconds
1) Menu
2) Preset 1
3) Preset 2
Pressing the preset buttons while the screen is off turns it on and immediately performs the action.
Pressing the menu button will only turn on the screen if it is off.
1) Enter
2) Previous / up
3) Next / down
- Exit: return to main screen showing the presets
- Change preset: shows a screen with the current height. left and right buttons change the height, middle button stores the new setting.
- Calibrate: shows a wizard with the following screens:
- Manual control to go to minimum. Same controls as the change preset, middle button goes to the next "page".
- Specify current height in meters.
- Go to maximum.
- Specify current height in meters.
All presets are checked to be within bounds.
Settings are stored in EEPROM, as is the current height as soon as it's done moving to the height.
Height is internally stored as number of pulses from the motor's encoder, counting from the minimum setting.
While it is moving, any button press will cancel movement and no preset is highlighted as being active.