Homing Sequence Code
Homing Sequence Code
void setup() {
//Defining what pins are being used
pinMode(Am,OUTPUT); //Coil A
pinMode(A,OUTPUT);
pinMode(Bm,OUTPUT); //COIL B
pinMode(B,OUTPUT);
//Variable Definition
int smax=1; //Defines fastest motor can run
int slow=3; //Defines slowest motor can run
int ct=1;
int T0=0; //zero time variable
void loop() {
//Part 4: Plate moves 30 mm away from button at slow speed and half-stepping
for (int ct=1; ct<=187; ct++){
fullCW(slow);
}
}
//Full, Half-Step, Shutdown Functions (Both directions)
//Half-Step Functions
void halfCW(int d){
ta(S);
tb(OFF);
delay(d);
ta(S);
tb(N);
delay(d);
ta(OFF);
tb(N);
delay(d);
ta(N);
tb(N);
delay(d);
ta(N);
tb(OFF);
delay(d);
ta(S);
tb(S);
delay(d);
ta(OFF);
tb(S);
delay(d);
ta(N);
tb(S);
delay(d);
}
void halfCCW(int d){
ta(S);
tb(OFF);
delay(d);
ta(S);
tb(S);
delay(d);
ta(OFF);
tb(S);
delay(d);
ta(N);
tb(S);
delay(d);
ta(N);
tb(OFF);
delay(d);
ta(S);
tb(N);
delay(d);
ta(OFF);
tb(N);
delay(d);
ta(N);
tb(N);
delay(d);
}