Jittery continuous control from dashboard slider

#1

I am using the dashboard slider to control Arduino-servos from node-red. I am noticing that the speed that I move the slider dictates how many values-per-second are output. This causes my servo to jump around significantly. I would like to be able to send continuous and smooth data from the node-red dashboard in real-time, and for the slider not to omit values when I move it faster. Has any one had this problem and found a solution? Are other GUI options, or ways to get continuous mouse data without skipping values when moving quicker. Is there a way to constantly poll the slider value instead of relying on some built-in velocity output function? Any insight into why this is happening would be appreciated.
Thanks,
kristin

0 Likes

#2

investigating node-red-contrib-uibuilder...
looks promising so far...

0 Likes

#3

I think it "jumps around" by deliberate design

If the slide generated all the values from a change in position - then that could end up being a LOT of values which could have quite an impact on performance.

I think if you want your servo to move slowly/smoothly from one position to another, then it would be best to feed the slider output to a set of intermediate nodes to perform the smoothing rather than connect it direct to your Arduino

0 Likes

#4

Thanks for the info.
It's unfortunate because most of my work will having real-time smooth control, and the dashboard is so quick for prototyping and generally works / looks really good.

Waiting until the slider decides it's a good time to output a value so I can do a delayed interpolation won't cut it

My current work-around is to use hardware midi control to input smooth values into node-red. This gets the job done smoothly, even if I'm limited to 128 values.

0 Likes

#5

You can accomplish what you desire by not sending the data directly to the servo controller. Instead, have the slider feed into a function node and that will indicate your desired state and the function will send discrete messages to the servo based on a loop.

Hope this helps! If you have any questions, feel free to ask.

0 Likes

#6

I have pushed a small change to the master version to see if it makes a difference. To try it you will need to install dashboard from git rather than npm

cd ~/.node-red
npm i node-red/node-red-dashboard

Let me know if it's an improvement.

0 Likes