Go Down

Topic: ayuda porfavor arduino motor paso a paso ULN2803A (Read 1 time) previous topic - next topic

lunemesis

Nov 13, 2012, 12:04 am Last Edit: Nov 13, 2012, 12:15 am by lunemesis Reason: 1
tengo que hacer mover un motor paso a paso izquierda, derecha y stop presionando las teclas I.D y S, junto con Arduino uno y un puente Darlington ULN2803A pero no funciona, las salidas 8,9,10 y 11 están conectadas en las entradas 1,2,3 y 4.
y las salen en 18(1),17(2),16(3),15(4) tomando en cuenta esta imagen http://tinyurl.com/a7l33hg
hacia el motor de 5 hilos el cual 1 es la tierra
así se ve como esta conectado
http://tinyurl.com/awpwzdb
http://tinyurl.com/b224n5u
http://tinyurl.com/abq7f53
http://tinyurl.com/agtxxj3
http://tinyurl.com/bau4q6m

int motorPin1 = 8;
int motorPin2 = 9;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 20;    
int contador = 25;


void setup() {

 pinMode(motorPin1, OUTPUT);
 pinMode(motorPin2, OUTPUT);
 pinMode(motorPin3, OUTPUT);
 pinMode(motorPin4, OUTPUT);

 Serial.begin(9600);
 Serial.println("Arduino Motor Control");
 Serial.println("Girar Izquierda");
 Serial.println("Girar Derecha");
 Serial.println();

}
void izq(){

 if(Serial.read() == 105)
 
 {
 digitalWrite(motorPin1, HIGH);                
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, HIGH);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, HIGH);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, HIGH);
 delay(delayTime);
}
}
void derecha() {
 
 if(Serial.read() == 100)
 {

 digitalWrite(motorPin1, LOW);                
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, HIGH);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, HIGH);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, HIGH);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, HIGH);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 }
}
void loop()
{
 derecha();
  delay(1000);
  izq();
  delay(1000);
 
}

nicko_esx

hola solo por preguntar. por que no usas la libreria de paso a paso? no es mas facil eso?
yo me hice un tacometro con un motor pap usando la libreria. recuerdo que probando tambien movi el pap con el serial....

nicko_esx

como la verdad soy medio novato aqui y no se que tanto sabes... te paso el link del ejemplo clasico de paso a paso. http://arduino.cc/es/Tutorial/MotorKnob

Go Up