Paso 5: código
http://Electronics-DIY.com/Electronics/stepper_motors.php
http://Arduino.CC/en/Tutorial/StepperUnipolar
Una vez que tengas eso, aplicar el siguiente código para el arduino y prueba. Me he dado //notes para darle una idea de lo que estaba pensando cuando lo escribí.
int buttonPin = 3; pins de etiquetas para facilitar la posterior
motorPin1 int = 8;
motorPin2 int = 11;
int motorPin3 = 10;
int motorPin4 = 9;
int ledPin = 13;
int delayTime = 20; un retraso base, mi motor de pasos tembló
Si he usado menos 20ms entonces
void setup() {}
pinMode (motorPin1, salida); avisa cómo tratar a cada pin del arduino
pinMode (motorPin2, salida);
pinMode (motorPin3, salida);
pinMode (motorPin4, salida);
pinMode (ledPin, salida);
beginSerial(9600);
pinMode (buttonPin, entrada); su gatillo
}
void loop() {//sets un lazo
Si (digitalRead(buttonPin) == HIGH) //will sólo bajar araña si se cumple condición
{
para (int i = 0; i < = 120; i ++) //will repetición siguiente código 120 veces
{
digitalWrite (motorPin1, HIGH); código proporciona un paso
digitalWrite (motorPin2, LOW); repetirlo 120 veces baja
digitalWrite (motorPin3, bajo); araña de aprox. 2 pies
digitalWrite (motorPin4, HIGH);
Delay(delayTime);
digitalWrite (motorPin1, LOW);
digitalWrite (motorPin2, LOW);
digitalWrite (motorPin3, HIGH);
digitalWrite (motorPin4, HIGH);
Delay(delayTime);
digitalWrite (motorPin1, LOW);
digitalWrite (motorPin2, HIGH);
digitalWrite (motorPin3, HIGH);
digitalWrite (motorPin4, bajo);
Delay(delayTime);
digitalWrite (motorPin1, HIGH);
digitalWrite (motorPin2, HIGH);
digitalWrite (motorPin3, bajo);
digitalWrite (motorPin4, bajo);
Delay(delayTime);
}
Delay(480); 480 + 20 = 500ms o 1/2 segundo de retraso
digitalWrite (ledPin, HIGH); antes de que la luz active
Delay(2000); queda encendido por dos segundos
digitalWrite (ledPin, LOW); se apaga
Delay(500); espera otro medio segundo
para (int i = 0; i < = 120; i ++) //repeats sobre el código al revés
{
digitalWrite (motorPin1, HIGH); cría araña hacia arriba
digitalWrite (motorPin2, HIGH);
digitalWrite (motorPin3, bajo);
digitalWrite (motorPin4, bajo);
Delay(delayTime);
digitalWrite (motorPin1, LOW);
digitalWrite (motorPin2, HIGH);
digitalWrite (motorPin3, HIGH);
digitalWrite (motorPin4, bajo);
Delay(delayTime);
digitalWrite (motorPin1, LOW);
digitalWrite (motorPin2, LOW);
digitalWrite (motorPin3, HIGH);
digitalWrite (motorPin4, HIGH);
Delay(delayTime);
digitalWrite (motorPin1, HIGH);
digitalWrite (motorPin2, LOW);
digitalWrite (motorPin3, bajo);
digitalWrite (motorPin4, HIGH);
Delay(delayTime);
}
}
else //if no son condiciones (no alta)
{
}
Delay(1000); Espere un segundo y vuelva a intentarlo