Encodeur rotatif

Pas besoin de le sortir de la boucle suffit de diviser par 4 avant le prélèvement.

J'ai testé une petite modif qui me renvoie -1 ou 1 suivant le sens de rotation ce qui permet de se servir de l'encodeur pour gérer un menu par exemple:

/* Encoder Library - Basic Example
 * http://www.pjrc.com/teensy/td_libs_Encoder.html
 *
 * This example code is in the public domain.
 */

#include <Encoder.h>

// Change these two numbers to the pins connected to your encoder.
//   Best Performance: both pins have interrupt capability
//   Good Performance: only the first pin has interrupt capability
//   Low Performance:  neither pin has interrupt capability
Encoder myEnc(5, 6);
//   avoid using pins with LEDs attached

void setup() {
  Serial.begin(9600);
  Serial.println("Basic Encoder Test:");
}

long oldPosition  = -999;

void loop() {
  long newPosition = myEnc.read()/4;
  if (newPosition != oldPosition) {
    Serial.println(newPosition);
    Serial.print("pos=");
    Serial.println(oldPosition-newPosition);
    oldPosition = newPosition;
  }
}
Basic Encoder Test:
0
pos=-999
-1
pos=1
-2
pos=1
-3
pos=1
-4
pos=1
-5
pos=1
-4
pos=-1
-3
pos=-1
-2
pos=-1
-1
pos=-1
0
pos=-1
-1
pos=1

Je pense que ça va venir remplacer ma lib actuellement utilisée car c'est crai qu'elle est plus performante.

Merci Artouste :wink: