Rotary encoders

Pull-down rotary encoder

This sketch demonstrates the implementation of a rotary encoder in pull-down configuration.


The code

#include <CtrlEnc.h>

// Define an onTurnleft handler.
void onTurnleft() {
  Serial.println("Pull-down rotary encoder turn left");
}

// Define an onTurnRight handler.
void onTurnRight() {
  Serial.println("Pull-down rotary encoder turn right");
}

/*
  Create an encoder with:
  - clk signal pin.
  - dt signal pin.
  - onTurnleft handler.
  - onTurnRight handler.
 */
CtrlEnc encoder(1, 2, onTurnleft, onTurnRight);

void setup() {
  Serial.begin(9600);
  // For this example we use a board with internal pull-down resistors:
  encoder.setPinMode(INPUT_PULLDOWN);
  // If your board does not support that, you can use external 
  // pull-down resistors. In that case you call the following method:
  // encoder.setPinMode(INPUT, PULL_DOWN);
}

void loop() {
  // Handle all rotary encoder functionality.
  encoder.process();
}
Previous
Pull-up rotary encoder