Unit Encoder is a
rotary encoder expansion unit with I2C interface, integrated with 30-bit pulse encoding knob (with button function) + 2 x SK6812 programmable RGB LEDs. The built-in STM32F030 flashed with the encoder pulse acquisition firmware, allowing users to obtain the encoded value directly via I2C. Suitable for scale value control/volume adjustment and other control scenarios.
- 30-bit pulse encoding knob (30 pulses per rotation)
- 2x SK6812 programmable RGB LEDs
- 1x Button input
- 1x Unit Encoder
- 1x HY2.0-4P cable (20cm)
- Human Machine Interaction (HMI)
- Volume knob
|Pulse encoder knob||30-bit pulse encoder knob (with key input)|
|Programmable RGB LED||2x SK6812|
|Working current||Encoder working (DC-5V@17mA)|
|Product size||32 * 24 * 22mm|
|Packing size||93 * 138mm|
LEARN AND DOCUMENTS
I never thought about what the encoder might output other than -1, 0, or +1. It outputs a TOTAL count of clicks. So reading this unit will accumulate a number according to how much you turn it CW and CCW. You can get back to zero if you carefully slowly change it while watching the I2C bus.
Ok -- so it is strange. I can work with it. Now, I find that there is no method to reset the device back to zero or set it to a starting value. I'm building a radio tuner where the frequency has to go up to 30,000,000. when you power cycle the unit the encoder returns to zero, but everything else is confusing. When i change bands from 30mhz to say 10mhz, i need to sync up the encoder value with the new tuner value. I'll say this -- it is hard to work with this unit.
I've also found that the counts change by 2 each time, maybe because of the manual detents? it was very difficult to get small counts, even with fast poling.
The 2 RGB LEDs are a "fun" feature. The pushbutton works good.
The unit works. Just different. I'm not sure how it is supposed to work with I2C as there are no interrupts to listen to. Might have to revert to the two pin format and code it for interrupts (and better software control)