Encoder Unit is an expansion module that adds rotary encoder functionality to your system. It uses an I2C interface for communication and is equipped with a 30-bit pulse encoding knob, which includes a button function. In addition, the module features two SK6812 programmable RGB LEDs for visual feedback.
The built-in STM32F030 microcontroller is pre-flashed with firmware specifically designed for encoder pulse acquisition. This firmware enables users to obtain the encoded value directly through the I2C interface, simplifying the integration process. The two SK6812 programmable RGB LEDs provide visual feedback, allowing for status indication or custom lighting effects. Users can program the LEDs to display specific colors or patterns based on their application requirements.
Encoder Unit is suitable for various control scenarios where precise scale value control or volume adjustment is required. The rotary encoder allows users to input incremental values by rotating the knob, and the button function can be used for additional control or selection purposes.
- 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)