Índice:
- Etapa 1: Fluxo de pulso do codificador giratório
- Etapa 2: Pinagem do Codificador Rotativo
- Etapa 3: esquemático
- Etapa 4: Código
- Etapa 5: Explicação
- Etapa 6: Saída
Vídeo: Tutorial do Codificador Rotativo com Arduino: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
O codificador giratório é um componente eletrônico capaz de monitorar o movimento e a posição ao girar. O codificador giratório utiliza sensores óticos que podem gerar pulsos quando o codificador giratório gira. A aplicação do codificador rotativo, geralmente como um monitor de movimento mecânico ou robótico, também pode ser usada para a seleção do menu na tela. O codificador rotativo tem duas saídas para que possa distinguir entre rotação negativa (CW) e positiva (CCW) e também possui um único botão.
Etapa 1: Fluxo de pulso do codificador giratório
O fluxo de pulso gerado pelo codificador rotativo a seguir é como a imagem acima.
Etapa 2: Pinagem do Codificador Rotativo
Explicação:
- GND GND
- + + 5V
- Botão SW do codificador rotativo quando pressionado
- Dados DT
- Dados CLK 2
Um dos pinos DT ou CLK deve ser conectado ao pé de interrupção do Arduino Uno, ou ambos DT e CLK estão conectados ao pino de interrupção.
Etapa 3: esquemático
- GND à GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
Etapa 4: Código
No tutorial a seguir, que será usado como uma interrupção é o PIN 2 do Arduino Uno, enquanto o PIN 3 é usado apenas como uma entrada regular.
# define encoder0PinA 2 # define encoder0PinB 3 # define encoder0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (encoder0PinA, INPUT_PULLUP); pinMode (encoder0PinB, INPUT_PULLUP); pinMode (encoder0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {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 (""); atraso (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } else {encoder0Pos--; } valRotary = encoder0Pos / 2.5; }
Na linha 10 do sketch acima é usado para habilitar a interrupção do pino 2 do Arduino Uno. No "doEncoder" a função é calculada a partir do codificador rotativo. Se o valor de DT e CLK (interrupção de pino do Arduino Uno) for o mesmo, então a variável "encoder0Pos" será incrementada / adicionada, além dessa condição, a variável "encoder0Pos" será diminuída.
Etapa 5: Explicação
O valor ValRotary é o valor do número de etapas que foram executadas. O valor ValRotary é obtido a partir do valor de leitura do codificador do sensor rotativo dividido por 2,5. Um valor de 2,5 é obtido a partir do teste, uma vez que uma etapa do codificador rotativo pode exceder 1, então divida por 2,5 para seu valor de acordo com a etapa e também a adição do retardo de leitura.
Enquanto na linha 19-25 está um programa para determinar se o codificador rotativo rotativo está no sentido horário ou anti-horário. A explicação das linhas 19-25 é quando a leitura do codificador rotativo atual é maior do que os dados rotativos anteriores, então expressos como CW. Ao passo que, se a leitura atual for menor do que a leitura anterior, ela será declarada no sentido anti-horário.
Etapa 6: Saída
1 = o valor do botão inicial do rotativo quando não foi pressionado
Recomendado:
Power Timer com Arduino e codificador rotativo: 7 etapas (com imagens)
Temporizador de energia com Arduino e codificador rotativo: este temporizador de energia é baseado no temporizador apresentado em: https: //www.instructables.com/id/Timer-With-Arduin… um módulo de fonte de alimentação e um SSR (relé de estado sólido ) foram anexados a ele. Cargas de energia de até 1KW podem ser operadas e com alterações mínimas o
Codificador Rotativo - Entenda e use-o (Arduino / outro ΜControlador): 3 etapas
Codificador Rotativo - Entenda e use-o (Arduino / outro ΜControlador): Um codificador rotativo é um dispositivo eletromecânico que converte o movimento rotacional em informações digitais ou analógicas. Ele pode girar no sentido horário ou anti-horário. Existem dois tipos de codificadores rotativos: codificadores absolutos e relativos (incrementais)
Codificador rotativo usando Arduino Nano: 4 etapas
Codificador Rotativo Usando Arduino Nano: Olá a todos, Neste artigo farei um tutorial sobre como usar um codificador rotativo usando Arduino Nano. Para usar este codificador rotativo, você não precisa de uma biblioteca externa. Portanto, podemos criar programas diretamente sem adicionar bibliotecas primeiro. ok vamos começar com
Codificador Rotativo: Como funciona e como usar com o Arduino: 7 etapas
Codificador rotativo: como funciona e como usar com o Arduino: você pode ler este e outros tutoriais incríveis no site oficial da ElectroPeak Visão geral. Neste tutorial, você aprenderá como usar o codificador giratório. Primeiro, você verá algumas informações sobre o codificador rotacional e, em seguida, aprenderá como
Tutorial do kit codificador rotativo: 5 etapas
Tutorial do kit de codificador giratório: Descrição: Este kit de codificador giratório pode ser usado para detectar a posição e a velocidade do motor. É um kit muito simples composto por um sensor de feixe óptico (opto switch, fototransistor) e um pedaço de disco com fenda. Pode ser conectado a qualquer microcontro