In one of the later iterations of the VFO project using a DDS module ( See:VK5TM's stuff on the DDS modules), they used the speed of encoder rotation to determine the size of the encoder steps, much like some modern mice do. That adds a new dimension (time). A fast turn may increment by 10's of kHz, while a slow turn may only increment 10 Hz per revolution or so. Your proposed method does much the same thing, but I think users may be more accustomed to the mouse way.
John
Hi John,
Well using the digit select method makes it a precise way to change the frequency digit by digit. The "acceleration" way is a bit strange sometimes, and i dont think it would be too cool for this particular project because there are so many digits. Using a second encoder however would allow switching to digits quickly.
The method of changing the quantity slowly, then faster, is referred to as "acceleration", because it is able to speed up the speed of change. Another typical use is in a Windows programming environment when we included an "Up/Down" type control, which is a little arrow that points up and a little arrow that points down, and when we click on the little arrow the counter goes up, and if we hold the mouse button down the counter goes up faster after a given time period, like 1/2 second. They also allow another setting which we might call the "Jerk" (after the physical unit) which speeds up the speed of the speeding up due to the first time period. To specify this we would call a routine with parameters such as:
{0.5, 2, 5}
which would mean the count would start to change faster after 0.5 seconds, then after 2 seconds the count would change even faster yet, then after 5 seconds still yet faster. It would also have a set of rate specs associated with it like:
{1,5,10,50}
where 1 is the default, 5 is after the 0.5 seconds, 10 is after the 2 seconds, and 50 is after the mouse has been held down for 5 or more seconds.
For setting the frequency i am not sure how well this would work, but hey you could try it and make a short video. The thing i dont like is that what if we turn it for 5 seconds and the second digit starts to change like 0, 1 ,2 and we get to 3 but then go over to 4, how do we get back to 3. We'd have to stop, then turn the other way and wait another 5 seconds. But try it and see what you can come up with, and try to make a video if you can. I'll try to make a video of mine later so you can see how nice it works.
But having a second encoder would be cool too, to allow changing the digit select that way. That way we can 'point' to any digit we want to change in maybe a second.
I guess we can also think about other things too, like sweep. We'd need a sweep start frequency and end frequency, and rate of change, and log or linear sweeping. More settings we'd have to incorporate. Typical audio sweep is from 10Hz to 20kHz, for FM modulation we might want it to sweep up and down repeatedly, or just change between two or more frequencies. Should be fun to try