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