Module encodeur rotatif
Ce module intègre un encodeur rotatif avec bouton-poussoir intégré. Ce dernier pourra être facilement raccordé à un module Arduino ou compatible (non inclus) via 3 entrées digitales.
Ajoutez facilement un encodeur rotatif avec fonction poussoir à votre module Arduino ou compatible (non livrés). Grâce à ce module, vous pourrez déterminer le nombre de tour et/ou la position exacte avec précision (20 impulsions par rotation) mais également connaître le sens de rotation.
L'encodeur intègre un bouton poussoir. L'ensemble sera idéal comme bouton de réglage et de sélection par exemple (réglage de vitesse, de volume, sélection d'une valeur, validation et réglages divers, etc...).
Caractéristiques:
- Tension d'utilisation: 5 Vcc
- Impulsion par tour: 20
- 5 broches (CLK / DT / SW / + / GND) au pas de 2,54 mm
- Trous de fixation: Ø 2 mm
- Dimensions: 32 x 20 x 30 mm
- Poids: 20 g
Exemple:
Ce capteur pourra être facilement raccordé sur 2 entrées digitales (pour l'utilisation de l'encodeur broches CLK / DT) et sur une 3 ème entrée digitale (pour l'utilisation de la fonction poussoir broche SW) d'un module Arduino ou compatible (seule l'utilisation de la fonction encodeur est représentée ci-dessus).
*** DEBUT ***
// Déclaration des variables
int CLK = 3; // Broche CLK de l'encodeur sur la pin 3 de l'Arduino
int DT = 4; // Broche DT de l'encodeur sur la pin 4 de l'Arduino
int encoderPosCount = 0; // valeur de départ de l'encodeur à zéro
int CLKLast;
int aVal;
boolean bCW;
void setup() {
pinMode (CLK,INPUT); // Pin CLK déclarée en entrée
pinMode (DT,INPUT); // Pin DT déclarée en entrée
CLKLast = digitalRead(CLK); // Renvoi la dernière valeur de l'encodeur
Serial.begin (9600);
}
void loop() {
aVal = digitalRead(CLK);
if (aVal != CLKLast) { // Indique que l'encodeur tourne
// Si le bouton tourne, on déterminera son sens
// avec la broche DT
if (digitalRead(DT) != aVal) { // si CLK change en premier - rotation dans le sens des aiguilles d'une montre
encoderPosCount ++;
bCW = true;
}
else { // sinon c'est DT qui change en premier et la rotation va donc dans le sens inverse
bCW = false;
encoderPosCount--;
}
Serial.print ("Rotated: "); // Affichera le sens de rotation
if (bCW)
{
Serial.println ("clockwise"); // sens des aiguilles d'une montre
}else
{
Serial.println("counterclockwise"); // sens inverse
}
Serial.print("Encoder Position: ");
Serial.println(encoderPosCount); // Affiche la position de l'encodeur - comptage des impulsions
}
CLKLast = aVal;
}
*** FIN ***
Caractéristiques:
- Tension d'utilisation: 5 Vcc
- Impulsion par tour: 20
- 5 broches (CLK / DT / SW / + / GND) au pas de 2,54 mm
- Dimensions: 32 x 20 x 30 mm
- Poids: 20 g
Produits associés