Problema para controlar un motor de paso con arduino

Antes de formular mi pregunta le envió un saludo a todas las personas que conforman este foro, estoy desarrollando un control de giro para un motor paso a paso que sera acoplado a una mano articulada, el programa lo estoy desarrollando con arduino, el programa consiste en activar el motor (sentido horario ) con un pulsador y cuando se deje de pulsar el motor deberá invertir los giros realizado (anti horario ), el pulsador esta conectado al pin 10, a continuación les presento el programa que estoy realizando pero no funciona como es debido.
Código:
int i;
int x;
void setup(){
pinMode(0,OUTPUT);
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);

}
void loop(){
  i=0;
  x=0;
  if (digitalRead(10)==HIGH){
    i++;
  digitalWrite(0,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  delay(100);
   digitalWrite(0,LOW);
  digitalWrite(1,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  delay(100);
  digitalWrite(0,LOW);
  digitalWrite(1,LOW);
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  delay(100);
  digitalWrite(0,LOW);
  digitalWrite(1,LOW);
  digitalWrite(2,LOW);
  digitalWrite(3,HIGH);
  delay(100);
  
  }
  
   else if (digitalRead(10)==LOW && i>0){
     for( i=i; i==0; i--){
  digitalWrite(0,LOW);
  digitalWrite(1,LOW);
  digitalWrite(2,LOW);
  digitalWrite(3,HIGH);
  delay(100);
   digitalWrite(0,LOW);
  digitalWrite(1,LOW);
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  delay(100);
  digitalWrite(0,LOW);
  digitalWrite(1,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  delay(100);
  digitalWrite(0,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  delay(100);
   }
  }
  else
{
  digitalWrite(0,LOW );
  digitalWrite(1,LOW);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);   
 }
  
} ...
 
Última edición por un moderador:
Hay librerías de motores pap ya hechos.
Por otra parte puede ser problema del hard. Sin un esquema...
 
Sin información sobre el circuito de como alimentas el motor de paso, como esta conectado al arduino y finalmente que tipo de motor de paso estás utilizando es imposible ayudarte!
 

Arriba