Hi guys. So sorry I was away with family and a brief hospital stay polishing off my Covid (I was tested, positive, and after two weeks gave the hospital a try. 4 days, the controversial protocol, and it worked!).
Back to this favorite (for some reason) project :-).
Regarding the extension of linear motion, there is a 4-lever device called a pantograph that expands or decreases linear motion in 2 dimensions, used by artist for copy/tracing artwork.
Because you really need only one dimension of motion expansion, I think it can be even simpler, for example a simple single “see-saw” lever with the fulcrum in the middle or shifted to multiple the linear motion. If the pivot point is 3/7 of the way from one end to the other, a linear motion of 27mm will exactly translate to a (reverse) linear motion of 36mm.
You can put the pivot fulcrum 1/3 of the way between the ends. Then the ratio of motion is 1:2. The 27mm of motion will translate to 54mm. Then in software, you have a first sprocket and a last sprocket trim values, easily adjusted with either +/- button pushes, or a pot in adjust mode so that you put into adjust mode, turn your pot so it is at one extreme and press a save button, and then turn the pot so it is at the other extreme and hit the save button. (Perhaps 2 buttons - a SavePos1 button and a SavePos7 button). Then because its all linear motion, the 5 in between positions are all interpolated. (After calculating the Pos7 minus Pos1 amount, call it delta, the 7 gear positions become:
Pos1,
Pos1 + delta/6,
Pos1 + 2delta/6,
Pos1 + 3delta/6,
Pos1 + 4delta/6,
Pos1 + 5delta/6,
Pos2 (same as Pos1 + 6*delta/6)
Regarding the display, when I switched to a small graphic display (128x64 OLED), it used up all my Arduino Nano Ram memory. I switched to the much larger “Teensy 4.0” and it all fit but, alas, Teensy is not yet supported in XOD.
Therefore imho, I say stay with the very efficient, low overhead, 16 char 4 line LCD display and use gweimer’s lcd-i2c-init-v library and set it to 4 lines. Then always write a whole line at a time (with only the initial power-up lcd clearing) and the display will always look like live changing numbers. Who cares if the text/labels before the numbers get invisibly rewritten?
The watch nodes are only for debugging and you would replace the 4-line LCD node with 4 watch nodes since there is no lcd simulation.
Glad you got the upload working, and are going with linear actuators. It could winningly outperform the overpriced digital Shimono stuff!
Mitch