/*A4988 Arduino Bipolar Stepper Motor Controller*/
#define STEP 6
#define DIR 5
#define TSCCW 11
#define TSACW 12
void pulseStep(void);
void setup() {
pinMode(STEP, OUTPUT);
pinMode(DIR, OUTPUT);
pinMode(TSCCW, INPUT_PULLUP);
pinMode(TSACW, INPUT_PULLUP);
}
void loop() {
if(digitalRead(TSCCW) == LOW) { //va a leggere se il PIN TSCCW ha il valore basso (0)
while( digitalRead(TSCCW) == LOW ); //mentre il pin TSCCW ha il valore basso
digitalWrite(DIR, HIGH); //deve "scrivere" il pin DIR con valore alto (1)
pulseStep();
}
if(digitalRead(TSACW) == LOW) { //stessa cosa del codice sopra ma cambia solamente il pin associato al comando
while( digitalRead(TSACW) == LOW ); //quuando il pin TSACW ha il valore "0"...
digitalWrite(DIR, LOW); //quando il valore di TSACW è "0" deve inviare il segnale "0" al pin DIR
pulseStep();
}
}
void pulseStep(void) {
digitalWrite(STEP, HIGH); //manda un segnale "1" al pin STEP
delay(50); //ritarda il prossimo comando di 50 millisecondi
digitalWrite(STEP, LOW); //manda un segnale "0" al pin STEP
delay(50); //ritarda il prossimo comando di 50 millisecondi
}