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: