int step = 3;
int dir = 2;
int pinpuls = 5;
int pinpuls1 = 6;
int statopulav = 0;
int statopulind = 0;
int largimpul= 20;//larghezza dell impulso in micros
int distimpul = 10;// distanza tra gli impulsi in millis piu si aumenta questo par e minore è la velocita
int numstep1 = 200;//numero di passi che facciamo fare al motore
int numstep2 = 50;
void setup() {
pinMode(step, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(pinpuls, INPUT);
pinMode(pinpuls1, INPUT);
Serial.begin(9600);
}
void loop() {
statopulav=digitalRead(pinpuls);
if(statopulav){
Serial.print("Lo stato del pulsante avanti è ");
Serial.println(statopulav);
digitalWrite(dir, HIGH);
for(int i = 0; i < numstep1; i++){
digitalWrite(step,HIGH);
delayMicroseconds(largimpul);
digitalWrite(step,LOW);
delay(distimpul);
}
}
delay(100);
statopulind=digitalRead(pinpuls1);
if(statopulind){
Serial.print("Lo stato del pulsante indietro è ");
Serial.println(statopulind);
digitalWrite(dir, LOW);
for(int j = 0; j < numstep2; j++){
digitalWrite(step,HIGH);
delayMicroseconds(largimpul);
digitalWrite(step,LOW);
delay(distimpul);
}
}
delay(100);
}