Tension: 3.3 - 5V

Angle de rotation 360°

20 positions par tour



Sortie du codeur incrémental : A et B

Sortie bouton poussoir : C


Datasheet EC11


Les traits verticaux indiquent les positions fixes.


Circuit RC de filtrage conseillé


Arduino Uno Rotary Encoder SEN0235 EC11 DFROBOT, codeur rotatif, codeur incrémental

Programme qui compte ou décompte le positions

int codeurPinA = 2;
int codeurPinB = 3;
int bpPin = 4;

volatile long codeurValeur = 0;

void setup() {
  Serial.begin (9600);

  pinMode(codeurPinA, INPUT);
  pinMode(codeurPinB, INPUT);
  pinMode(bpPin, INPUT);

  digitalWrite(codeurPinA, HIGH);   // activation résistance de pullup
  digitalWrite(codeurPinB, HIGH);   // activation résistance de pullup

  //appel de la fonction fdA lors d'un front descendant sur pinA
  attachInterrupt(0, fdA, FALLING);   // interruption 0 (pin 2)
  
  //appel de la fonction fdB lors d'un front descendant sur pinB
  attachInterrupt(1, fdB, FALLING);   // interruption 1 (pin 3)
}

void loop(){ 
  if(digitalRead(bpPin)==0){
    Serial.println("Action sur BP !");
    codeurValeur = 0 ;
  }
  Serial.println(codeurValeur);
  delay(1000); 
}

void fdA(){
  if (digitalRead(codeurPinB) == 1) {
     codeurValeur += 1 ;
  }
}

void fdB(){
  if (digitalRead(codeurPinA) == 1) {
      codeurValeur -= 1 ;
  }
}
























Créé avec HelpNDoc Personal Edition: Créer des fichiers d'aide pour la plateforme Qt Help