• Welcome to Circuitbenders Forum.

Rotary data dial instead of buttons

Started by gmeredith, May 21, 2009, 04:22:47 AM

Previous topic - Next topic

gmeredith

Hi all,

I've had an idea for a while - to do a rotary encoder dial mod to my MMT8 sequencer.
On the MMT8, you enter data, like song names/numbers/characters using a 0-9 numeric keypad and a + and- button to scroll through numbers and characters. This can be tedious as there is a time gap between each scroll increment, and so it can take a few minutes of scrolling to name a song.

I thought that maybe I could build a rotary encoder dial for it to enter data instead of having to use the + - buttons  for scrolling letters to name parts and songs. Basically all it needs is a rotary device that throws 2 contact switches whenever it is rotated a notch - one switch (the + button) when rotated clockwise, the other switch (the - button) when rotated anticlockwise. Everytime you turn it a notch in a CW direction, it moves the active screen character up one number/letter. The reverse in CCW direction. It should be a simple process.

What sort of parts/circuts would enable me to do this?

Any help would be appreciated. This could probably also be adapted to any number of uses with old gear that only has buttons.

Cheers, Graham

noystoise

yes, i would also like to know this. i always find these remotes at the thrift store that have a rotary encoder for scrolling through video(i'm assuming). they are pretty simple to adapt to other hardware. the trick is to make them bidirectional.

Gordonjcp

This crops up from time to time - it's probably possible but wouldn't speed things up any.  It's easy enough to turn the quadrature output of a rotary encoder into up and down pulses, and fairly easy to use those to replace button pushes.  The trouble is, the button pushes would still be debounced in software, which is where it gets slow.

You could modify the firmware to speed up the debounce delay.  There may be a spare couple of IO lines you could graft the rotary encoder onto, and write a whole new routine just to read that, too.
If at first you don't succeed, stick it through a fuzzbox.

gmeredith

Maybe this extra bit of info might help too - the "slowness" of the scrolling happens only when you hold the + or - button down continuously. But if you press those buttons repeatedly rapidly, just incrementing the character, rather than let them scroll, you can scan the list of characters very rapidly - as fast as your finger can press. Of course this can also be exhausting too  :D

Which is where the encoder could help. So it seems that all the encoder needs to do is in effect, close a switch, for every notch in its turn. And of course, somehow throw the other switch repeatedly when reversed.

Cheers, Graham

Gordonjcp

Wonder if it's possible to track down the debounce code and speed up the repeat?  It will just be a little delay loop somewhere...
If at first you don't succeed, stick it through a fuzzbox.

gmeredith

Well, the firmware code is readily available - I don't know if that would help - see the attachment. I had to change the extension name from "bin" to"txt" to post it, so revert it back to "bin" if you need to.

Someone on the MMT8 forum sugested this circuit with a rotary encoder:

http://www.simprojects.nl/keyboard_speed_limitations.htm

Does this seem workable in this instance?

Cheers, Graham


noystoise

any new news on this subject? i finally got around to my yamaha pss 480. ive successfully built a circuit that gets the job done(quite perfectly i might add) but the design is pretty circuit-benderish :D just wondering if there is some super discrete circuit out there that doesnt employ 555 timers... i guess i could just spend some more time on it but i probably wont.

noystoise

well my original design didnt work when it came down to putting it in the keyboard for some reason. i started over and came up with a better approach. so here it is if anyone is interested.

its not perfect but its pretty close. the only problem is that when both the up and down buttons are pressed at the same time on the pss 480, the the value returns to its last saved state. this only occurs with the encoder when i abusively jog it up and down three of four positions really fast but its pretty rare. heres a picture of  the encoder i ripped from a pc mouse.

LoFi-Ninja

Noystoise that looks really cool.. Could you please clean up the schematic so it's possible to read ?? I need to build 4 of these for a keyboard that I'm rackmounting..

Circuitbenders

i am not paid to listen to this drivel, you are a terminal fool

noystoise

Quote from: LoFi-Ninja on September 19, 2009, 10:24:52 AM
Noystoise that looks really cool.. Could you please clean up the schematic so it's possible to read ?? I need to build 4 of these for a keyboard that I'm rackmounting..
i didnt clean up the schematic any, but i did upload a bigger picture of this one to my blog. you just have to click on it and it blows up
www.noystoise.com
my pss480 took a nasty fall and the circuit hasnt been working since. should be a simple fix though.