Patrick_M:
non voglio il video, ti giuro che ci credo che non ti funzionava!!!il problema è dello sketch che hai scritto e non del muovere ad un passo alla volta il motore
CHE E' LA STESSA COSA CHE FA LA LIBRERIA QUANDO LO FAI MUOVERE PER 68*68 PASSI
il motore si muove SEMPRE ad un passo per volta
te lo ripeto, probabilmente il delay(2) che ti avevo messo è esagerato oppure hai fatto qualche altro errore
#include <Stepper.h>
int pulsante0pin=2;
int pulsante1pin=3;
int pulsante2pin=4;
int microswitch0=5;
int microswitch1=6;
int microswitch2=7;
const int stepsPerRevolution = 32;
Stepper myStepper(stepsPerRevolution, 9, 11, 10, 12);
void setup() {
pinMode(pulsante0pin,INPUT);
pinMode(pulsante1pin,INPUT);
pinMode(pulsante2pin,INPUT);
pinMode(microswitch0,INPUT);
pinMode(microswitch1,INPUT);
pinMode(microswitch2,INPUT);
}
void loop() {
if (digitalRead(microswitch0) == HIGH ) { //STATO SWITCH PIANO 0
if (digitalRead(pulsante1pin) == LOW ) { //CHIAMATA P1
while (!digitalRead(microswitch1)) {
myStepper.step(1);
delay(2);
}
} else if (digitalRead(pulsante2pin) == LOW) { //CHIAMATA P2
while (!digitalRead(microswitch2)) {
myStepper.step(1);
delay(2);
}
}
}
else if (digitalRead(microswitch1) == HIGH) {
if(digitalRead(pulsante0pin) == LOW )
{ //chiamata PT
while(!digitalRead(microswitch0)) {
myStepper.step(-1);
delay(2);
}
}
else if(digitalRead(pulsante2pin) == LOW)
{
while(!digitalRead(microswitch2))
{
myStepper.step(1);
delay(2);
}
}
}
else if(digitalRead(microswitch2) == HIGH)
{
if(digitalRead(pulsante0pin) == LOW)
{
while(!digitalRead(microswitch0)) {
myStepper.step(-1);
delay(2);
}
}
else if (digitalRead(pulsante1pin) == LOW)
{
while(digitalRead(microswitch1))
{
myStepper.step(-1);
delay(2);
}
}
}
}
tralasciando il delay(2)