-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Sets up the pins. If the value goes up for the wrong direction of rotation then flip the pins:
//value goes up for CW
Encoder encoder(4, 5);//value goes up for CCW
Encoder encoder(5, 4);-
CLK_pin- CLK pin of the encoder -
DT_pin- DT pin of the encoder
//Set the pins of the encoder
Encoder encoder(4, 5);Initializes the library.
- none
//initialize the library
encoder.begin();Returns an integer that can be changed by the rotary encoder.
- none
//Returns the value
encoder.read();Returns an integer that can be changed by the rotary encoder but can be given a lower and an upper limit.
-
int Minval- lower stop -
int Maxval- upper stop
//Returns the value constrained between 0 and 10
encoder.limitedRead(0, 10);Sets the value of the encoder to the pos parameter and returns HIGH if succesful else it returns LOW.
-
int pos- the position to set the encoder value to
//sets the position of the encoder to zero
encoder.setPosition(0);//if succesful at setting the value to zero it will print "1"
Serial.println(encoder.setPosition(0));Sets the direction of the encoder used for incrementing/decrementing the output.
-
bool direction- can flip the direction of the encoder from the software side. Default value isfalse.
//flips the input direction
encoder.setDirection(true);//flips input direction back
encoder.setDirection(false);Important
This function hasn't been released yet, it's planned for version 2.5.0, which should release until the end of March 2026
returns the current software direction of the encoder instance.
none
//print the current software direction
Serial.println(encoder.getDirection());//flips encoder software direction
encoder.setDirection(!encoder.getDirection());Sets increments of the output
-
int scale- the amount thepositionchanges per click
//sets the scaling to 10
encoder.scale(10);Returns true when the encoder was moved and keeps its value until it gets called, after that it goes back to false
- none
//checks for motion
if(encoder.motion()) { //only print the value of the encoder if it was moved
Serial.println(encoder.read());
}returns true if the encoder has not had any motion for more than the amount of time you set.
-
int noMotionTime- the time of no motion required to return true
//sets the position of the encoder to zero
encoder.setPosition(0);//if succesful at setting the value to zero it will print "1"
Serial.println(encoder.setPosition(0));Sets the time waiting between checking the encoder's pins
- int debounce_time
//sets the debounce time to 2 milliseconds
encoder.setDebounceTime(2)
}