Table des matières:
- Étape 1: flux d'impulsions de l'encodeur rotatif
- Étape 2: Brochage de l'encodeur rotatif
- Étape 3: Schéma
- Étape 4: Coder
- Étape 5: Explication
- Étape 6: sortie
Vidéo: Tutoriel de l'encodeur rotatif avec Arduino : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
L'encodeur rotatif est un composant électronique capable de surveiller le mouvement et la position lors de la rotation. L'encodeur rotatif utilise des capteurs optiques qui peuvent générer des impulsions lorsque l'encodeur rotatif tourne. L'application de l'encodeur rotatif généralement en tant que moniteur de mouvement mécanique ou robotique peut également être utilisée pour la sélection de menu sur l'écran. L'encodeur rotatif a deux sorties afin qu'il puisse faire la distinction entre la rotation négative (CW) et positive (CCW) et dispose également d'un seul bouton.
Étape 1: flux d'impulsions de l'encodeur rotatif
Le flux d'impulsions généré par l'encodeur rotatif suivant est comme l'image ci-dessus.
Étape 2: Brochage de l'encodeur rotatif
Explication:
- TERRE TERRE
- + +5V
- Bouton SW de l'encodeur rotatif lorsqu'il est enfoncé
- Données DT
- Données CLK 2
L'une des broches DT ou CLK doit être connectée au pied d'interruption d'Arduino Uno, ou les deux DT et CLK sont connectés à la broche d'interruption.
Étape 3: Schéma
- GND à GND Arduino Uno
- + à +5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
Étape 4: Coder
Dans le didacticiel suivant, qui sera utilisé comme interruption, le PIN 2 d'Arduino Uno, tandis que le PIN 3 n'est utilisé que comme entrée normale.
#define encoder0PinA 2#define encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; void setup() { Serial.begin(9600); pinMode(encodeur0PinA, INPUT_PULLUP); pinMode(encodeur0PinB, INPUT_PULLUP); pinMode(encodeur0Btn, INPUT_PULLUP); attachInterrupt(0, doEncoder, CHANGE); } int valRotary, lastValRotary; boucle vide() { int btn = digitalRead(encoder0Btn); Serial.print(btn); Serial.print(" "); Serial.print(valRotary); if(valRotary>lastValRotary) { Serial.print(" CW"); } if(valRotary {
Serial.print(" CCW");
} lastValRotary = valRotary; Serial.println(" "); retard (250); } void doEncoder() { if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB)) { encoder0Pos++; } else { encoder0Pos--; } valRotary = encoder0Pos/2.5; }
La ligne 10 du croquis ci-dessus est utilisée pour activer l'interruption de la broche 2 Arduino Uno. Dans la fonction "doEncoder" est calculé à partir de l'encodeur rotatif. Si la valeur de DT et CLK (interruption de broche d'Arduino Uno) est la même, alors la variable "encoder0Pos" sera incrémentée/ajoutée, en plus de cette condition, la variable "encoder0Pos" est décrémentée.
Étape 5: Explication
La valeur ValRotary est la valeur du nombre d'étapes en cours d'exécution. La valeur ValRotary est obtenue à partir de la valeur de lecture de l'encodeur du capteur rotatif divisée par 2,5. Une valeur de 2,5 est obtenue à partir du test, puisqu'un pas de l'encodeur rotatif peut dépasser 1, donc diviser par 2,5 pour sa valeur en fonction du pas et aussi de l'ajout du délai de lecture.
Alors que sur la ligne 19 - 25 est un programme pour déterminer si l'encodeur rotatif rotatif CW ou CCW. L'explication des lignes 19 à 25 est lorsque la lecture actuelle du codeur rotatif est supérieure aux données rotatives précédentes alors exprimées en CW. Alors que si la lecture actuelle est plus petite que la lecture précédente, elle est indiquée comme CCW.
Étape 6: sortie
1 = la valeur du bouton de démarrage du rotatif lorsqu'il n'a pas été enfoncé
Conseillé:
Minuterie avec Arduino et encodeur rotatif : 5 étapes
Minuterie avec Arduino et encodeur rotatif : La minuterie est un outil souvent utilisé aussi bien dans les activités industrielles que domestiques. Cet ensemble est bon marché et facile à réaliser. Il est également très polyvalent, pouvant charger un programme choisi en fonction des besoins. Il y a plusieurs programmes écrits par moi, pour Ardui
Minuterie d'alimentation avec Arduino et encodeur rotatif : 7 étapes (avec images)
Minuterie d'alimentation avec Arduino et encodeur rotatif : cette minuterie d'alimentation est basée sur la minuterie présentée sur : https://www.instructables.com/id/Timer-With-Arduin… Un module d'alimentation et un SSR (relais à semi-conducteurs ) y étaient attachés.Des charges de puissance jusqu'à 1KW peuvent être exploitées et avec des changements minimes le l
Encodeur rotatif : comment ça marche et comment l'utiliser avec Arduino : 7 étapes
Encodeur rotatif : comment ça marche et comment l'utiliser avec Arduino : vous pouvez lire ceci et d'autres tutoriels incroyables sur le site officiel d'ElectroPeak. PrésentationDans ce tutoriel, vous apprendrez à utiliser l'encodeur rotatif. Tout d'abord, vous verrez des informations sur l'encodeur rotatif, puis vous apprendrez comment
Tutoriel du kit d'encodeur rotatif : 5 étapes
Tutoriel du kit d'encodeur rotatif : Description : Ce kit d'encodeur rotatif peut être utilisé pour détecter la position et la vitesse du moteur. Il s'agit d'un kit très simple composé d'un capteur optique de faisceau (commutateur opto, phototransistor) et d'un morceau de disque fendu. Il peut être connecté à n'importe quel microcontrôleur
Menu Arduino sur un Nokia 5110 Lcd à l'aide d'un encodeur rotatif : 6 étapes (avec photos)
Menu Arduino sur un Nokia 5110 Lcd à l'aide d'un encodeur rotatif : Chers amis, bienvenue dans un autre tutoriel ! Dans cette vidéo, nous allons apprendre à créer notre propre menu pour le populaire écran LCD Nokia 5110, afin de rendre nos projets plus conviviaux et plus performants. C'est parti ! C'est le projet