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);
}