/*---------------------------------------*\
| Simple direct drive of Bipolar Stepper |
\*---------------------------------------*/
// pins connected
#define Ap 10 // A+ line
#define Am 11 // A- line
#define Bp 9 // B+ line
#define Bm 8 // B- line
int i;
int Switch_1;
int Switch_2;
void setup() {
// set output
pinMode(Ap,OUTPUT); pinMode(Am,OUTPUT);
pinMode(Bp,OUTPUT); pinMode(Bm,OUTPUT);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
Serial.begin(9600);
}
void loop() {
// This is Wave Fullstep motion - only one coil energized at a time
Switch_1 = digitalRead(4);
Switch_2 = digitalRead(3);
Serial.println(Switch_1);
for(i = 0; i<50; i++)
roda_horario();
delay(1000);
for(i = 0; i<50; i++)
roda_antihorario();
}
void roda_horario()
{
delay(50);
digitalWrite(Bm,LOW) ; digitalWrite(Ap,HIGH);
delay(50);
digitalWrite(Ap,LOW) ; digitalWrite(Bp,HIGH);
delay(50);
digitalWrite(Bp,LOW) ; digitalWrite(Am,HIGH);
delay(50);
digitalWrite(Am,LOW) ; digitalWrite(Bm,HIGH);
}
void roda_antihorario()
{
delay(50);
digitalWrite(Am,LOW) ; digitalWrite(Bm,HIGH);
delay(50);
digitalWrite(Bp,LOW) ; digitalWrite(Am,HIGH);
delay(50);
digitalWrite(Ap,LOW) ; digitalWrite(Bp,HIGH);
delay(50);
digitalWrite(Bm,LOW) ; digitalWrite(Ap,HIGH);
}