Paso 2: El código
Ahora que tienes el circuito construido copie el código abajo y delante de ella en el ide de ARDUINO
#include < Stepper.h >
const int encoderPinA = 2; derecho
const int encoderPinB = 3; izquierda
const int encButton = 4; botón codificador
int encoderPos = 0; contador
unsigned int lastReportedPos = 1; cambio
estática rotación boolean = false; Debounce
Boolean A_set = false;
Boolean B_set = false;
const int stepsPerRevolution = 200;
Paso a paso myStepper (stepsPerRevolution, 8, 9, 10, 11); pins de puente h
void setup() {}
myStepper.setSpeed(60);
pinMode (encoderPinA, INPUT_PULLUP); que permite finalizar
pinMode (encoderPinB, INPUT_PULLUP);
pinMode (encButton, INPUT_PULLUP);
attachInterrupt (0, doEncoderA, cambio); Pin 2
attachInterrupt (1, doEncoderB, cambio); PIN 3
Serial.Begin(9600);
}
void loop() {}
rotación = true; restablecer la debouncer
Si (lastReportedPos! = encoderPos) {}
Serial.println(encoderPos);
lastReportedPos = encoderPos;
Si (digitalRead(encButton) == LOW)
{
encoderPos = (encoderPos * 100); cambiar el 100 a cuántos pasos
} //you want el paso a paso para mover cuando
myStepper.step(encoderPos); se pulsa el botón hacia abajo
encoderPos = 0;
}
}
void doEncoderA() {}
Debounce
Si demora (giratorio) (1); Espere un poco hasta que el rebote se realiza
Transición de la prueba
Si (digitalRead(encoderPinA)! = A_set) {/ / debounce una vez más
A_set =! A_set;
ajustar el contador + si A conduce a B
Si (A_set & &! B_set)
encoderPos += 1; cambiar el 1 a pasos a seguir cuando codificador
rotación = false; no más contra rebotes hasta loop() golpea otra vez
}
}
Interrumpir en B que cambia de estado
void doEncoderB() {}
Si demora (giratorio) (1);
Si (digitalRead(encoderPinB)! = B_set) {}
B_set =! B_set;
ajuste de contador - 1 si B conllevan una
Si (B_set & &! A_set)
encoderPos-= 1; cambiar el 1 a pasos a seguir cuando codificador
rotación = false;
}
}
Ahora que tienes cada cosa corriente gire el codificador rotatorio, pero si el paso a paso la manera opuesta de lo que quieres solo cambiar 2 cables a un lado del motor paso a paso (sólo un lado no tanto).
A continuación presione el botón y gire el codificador, está debe girar a 100 pasos en la dirección dio vuelta el codificador. Si desea cambiar cuántos pasos el paso a paso se mueve al girar el codificador sólo miran el código, su comentada en los 3 lugares necesitará cambiarlo. Cuando cambia el valor del pulsador Recuerde se multiplicará por el valor normal de pasos.
Espero que este tutorial fue de ayuda, si tienes dudas o comentarios por favor dejan y mal volver en cuanto antes...