Problema para controlar un motor de paso con arduino

#1
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:
#2
Hay librerías de motores pap ya hechos.
Por otra parte puede ser problema del hard. Sin un esquema...
 
#3
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