![](lib/NouvelElement136.png)
|
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
|
![](lib/NouvelElement135.png)
|
![](lib/NouvelElement139.png)
Les traits verticaux indiquent les positions fixes.
|
|
Circuit RC de filtrage conseillé
|
![](lib/NouvelElement140.png)
|
|
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