Rotary Encoder - issues
The Adafruit Rotary Encoders just came in and I was quite disappointed. https://www.adafruit.com/products/377
With an encoder you’d expect a precise feeling just like a safe dial.
This one doesn’t feel that way because it has 24 clicks per rotation - way too much for a precise selection of light effect settings.
The only use for this thing could be a brightness or rainbow dial - but why go through the pain with interrupts - use a plain pot instead.
Exactly what @Kenneth_J_Carey reported.
Looking quickly through ‘standard’ sources for parts I found this one with 12 clicks per rotation (detents): https://www.sparkfun.com/products/9117
That should be a much better choice. I will get one and keep you updated.
Have you considered to only react on every 2nd (3rd, 4th, …) click? A big knob (like on good old radios) also helps to come closer to a precise haptic feedback. To me the actual feeling of the click itself matters way more than the number of clicks per rotation.
I’ve been using the Adafruit encoders on a project I’m making multiple copies of…each requiring 3 encoders…we programmed them to ignore the 1st input, with that just changing the display we have to show the option selected…then turning makes the adjustment…patterns/speed/brigtness/strip/section
Thank you for the report @Juergen_Bruegl – I’m glad it’s not just me having issues. I still use it for the button push but am actively seeking a better alternative. Much appreciate all your help.
I’ve used several of these in a recent project (http://jwhendy.blogspot.com/2015/07/an-arduinoaccelerometer-controlled-led.html) and found them to be great. I just tailored my increment to what made sense. I have an LED impulse, determined by an accelerometer axis being above a particular value (0 - 1024, so I used something like 20 for my increment), but also an exponential fade where I used a float and 0.01 increments from something like new_brightness = pow(old_brightness, inc) where inc was from 0.8 -> 0.99. I could have gone even smaller.
Anyway, I’m thinking you considered tweaking how much each “click” moves your target variable, but if now just wanted to offer how I used them. For my case, some values are interesting low and interesting high, with little interest in middle values so I considered something like an array instead so I could quickly skip through values I didn’t really care to spin through. I think I get the gist of your issue in that too small of an increment and 24 clicks per rotation can make for a helluva lot of spinning to get where you want!
@KJC11@Garrett_Durland Rotary encoder issues are solved on my side. Built a hardware debounce circuit with a Schmitt-Trigger. As soon as I have some time I will make a new post with the solution