All Projects → soligen2010 → encoder

soligen2010 / encoder

Licence: other
Atmel AVR C++ RotaryEncoder Implementation

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to encoder

Acebutton
An adjustable, compact, event-driven button library for Arduino that debounces and dispatches events to a user-defined event handler.
Stars: ✭ 180 (+361.54%)
Mutual labels:  button, arduino-library
Jc button
Arduino library to debounce button switches, detect presses, releases, and long presses
Stars: ✭ 289 (+641.03%)
Mutual labels:  button, arduino-library
Easybutton
Arduino library for debouncing momentary contact switches, detect press, release, long press and sequences with event definitions and callbacks.
Stars: ✭ 187 (+379.49%)
Mutual labels:  button, arduino-library
Onebutton
An Arduino library for using a single button for multiple purpose input.
Stars: ✭ 418 (+971.79%)
Mutual labels:  button, arduino-library
RotaryEncoder
This is small and fast Arduino library for Rotary Encoder with interrupts.
Stars: ✭ 60 (+53.85%)
Mutual labels:  arduino-library, rotary-encoder
SomeSerial
An Arduino library to wrap multiple kind of serials.
Stars: ✭ 14 (-64.1%)
Mutual labels:  arduino-library
RF24Ethernet
OSI Layers 4&5 Wireless (not WiFi) TCP/IP networking on Arduino devices using nrf24l01+ radios
Stars: ✭ 97 (+148.72%)
Mutual labels:  arduino-library
LiquidCrystal I2C Hangul
아두이노 16x2 LCD 한글 출력 라이브러리
Stars: ✭ 16 (-58.97%)
Mutual labels:  arduino-library
AMChoice
Radio Button and check box for iOS
Stars: ✭ 45 (+15.38%)
Mutual labels:  button
Adafruit FT6206 Library
Arduino library for FT6206-based Capacitive touch screen
Stars: ✭ 28 (-28.21%)
Mutual labels:  arduino-library
Sim800L-Arduino-Library-revised
HIGH SCHOOL PROJECT - The purpose of this Arduino library is to allow the use of the SIM800L module in a simple and transparent way.
Stars: ✭ 81 (+107.69%)
Mutual labels:  arduino-library
AHT10
This is an Arduino library for Aosong ASAIR AHT10, AHT15 Digital Humidity & Temperature Sensor
Stars: ✭ 32 (-17.95%)
Mutual labels:  arduino-library
mpu6050
MPU6050 Arduino Library
Stars: ✭ 141 (+261.54%)
Mutual labels:  arduino-library
HampelFilter
Arduino library for identifying outliers with a Hampel filter
Stars: ✭ 26 (-33.33%)
Mutual labels:  arduino-library
esp8266ndn
NDN Arduino library for ESP8266 and more
Stars: ✭ 18 (-53.85%)
Mutual labels:  arduino-library
SI4844
Silicon Labs SI4844 (BROADCAST ANALOG TUNING DIGITAL DISPLAY AM/FM/SW RADIO RECEIVER) Library
Stars: ✭ 16 (-58.97%)
Mutual labels:  arduino-library
OS-X-buttons
Implementation macOS buttons for Elementary OS.
Stars: ✭ 24 (-38.46%)
Mutual labels:  button
hologram-SIMCOM
Easily use any SIMCOM cellular module with Hologram's cloud.
Stars: ✭ 42 (+7.69%)
Mutual labels:  arduino-library
TM1637TinyDisplay
Arduino library to display numbers and text on a 4 and 6 digit 7-segment TM1637 display modules.
Stars: ✭ 23 (-41.03%)
Mutual labels:  arduino-library
ShiftRegisterLEDMatrixLib
A library for Arduino that can control LED matrices which use shift registers to manage rows and columns.
Stars: ✭ 32 (-17.95%)
Mutual labels:  arduino-library

ClickEncoder

Arduino library to handle rotary encoders with buttons as a user input device. Arduino RotaryEncoder with Button Implementation.

  • Timer-Based: Works on any IO-Pin.
  • Supports rotary acceleration, so when the encoder is rotated faster, the encoders value will increment faster
  • Button reports multiple states: Clicked, DoubleClicked, Held and Released

Encoder and button can be connected to any input pin, as this library requires it's timer interrupt service routine ClickEncoder:service() to be called every millisecond. The example uses TimerOne for that.

See the example application ClickEncoderTest for details, or see it in action at my modified reflow oven controller

Encoder

The library supports acceleration, so when the encoder is rotated faster, the encoders value will increment faster.

Acceleration can be enabled or disabled at runtime using setAccelerationEnabled(bool).

For instance, it makes sense to disable acceleration when entering a configuration menu that will be navigated using the encoder.

Please note that the acceleration parameters have been tuned for 1ms timer intervals, and need to be changed if you decide to call the service method in another interval. (You'd need to increase ENC_ACCEL_INC and ENC_ACCEL_INC).

Depending on the type of your encoder, you can define use the constructors parameter stepsPerNotch an set it to either 1, 2 or 4 steps per notch, with 1 being the default.

If you have trouble with certain encoders, try

#define ENC_DECODER (1 << 2)

to use a table-based decoder, which can then be tuned using

#define ENC_HALFSTEP

The default is ENC_HALFSTEP 1.

Button

The Button reports multiple states: Clicked, DoubleClicked, Held and Released. You can fine-tune the timings in the library's header file.

If your encoder does not have a button, and you need to save program memory, use #define WITHOUT_BUTTON 1 prior including ClickEncoder.h, and ignore the third parameter BTN of the constructor.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].