#include const int StepsPerRevolution = 200; const int dirA = 12; const int dirB = 13; const int pulso = 7; //este es el pin que lee arduino y le ordena una vuelta (morado) const int adelante = 6; //pin que recibe orden de avance (blanco) const int atras= 5; //pin que recibe orden de retroceso (gris) Stepper myStepper(StepsPerRevolution,dirA,dirB); const int pwmA = 3; const int pwmB = 11; const int brakeA = 9; const int brakeB = 8; //******PARAMETROS**************************************** //POTENCIA int power=90; //valor depotencia min y max entre 0 y 255 //VELOCIDAD int rpm=60; //velocidad en rpm //******************************************************** void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(dirA, OUTPUT); pinMode(dirB, OUTPUT); pinMode(pwmA, OUTPUT); pinMode(pwmB, OUTPUT); pinMode(brakeA, OUTPUT); pinMode(brakeB, OUTPUT); pinMode(pulso, INPUT); pinMode(adelante, INPUT); // pinMode(atras, INPUT); //digitalWrite(pwmA, HIGH); // analogWrite(pwmA, 63); //digitalWrite(pwmB, HIGH); // analogWrite(pwmB, 63); digitalWrite(brakeA, LOW); digitalWrite(brakeB, LOW); Serial.begin(9600); myStepper.setSpeed(rpm); // aqui se controla la velocidad en rpm } void loop() { // put your main code here, to run repeatedly: if(digitalRead(adelante)==LOW) { if(digitalRead(pulso)==LOW) { analogWrite(pwmA, power); //potencia del motor: el valor se puede mover entre 0-255, para min y max analogWrite(pwmB, power); //potencia del motor: el valor se puede mover entre 0-255, para min y max myStepper.step(-200); delay(250); } } else { if(digitalRead(atras)==LOW) { if(digitalRead(pulso)==LOW) { analogWrite(pwmA, power); //potencia del motor: se puede mover entre 0-255, para min y max analogWrite(pwmB, power); //potencia del motor: se puede mover entre 0-255, para min y max myStepper.step(200); delay(250); } } // myStepper.step(0); //esta orden no produce movimiento, pero mantiene corriente alimentada a las bobinas digitalWrite(dirA, LOW); digitalWrite(dirB, LOW); analogWrite(pwmA, 0); analogWrite(pwmB, 0); delay(250); } }