Blocco rotazioni

Ciao a tutti.
Sto comandado uno stepper con arduino e Adafruit Motor,
riesco a fare i movimenti che desidero ma non riesco a inserire un ritardo tra andata e ritorno di una rotazione, ne lo stop alla fine delle rotazioni che gli ho impostato.
vorrei anche diversificare la velocità tra andata e ritorno.
Qualcuno mi può dare qualche indicazione.
Grazie C. :slight_smile:

// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!

#include <AFMotor.h>

AF_Stepper motor(48, 2);

void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println(“Stepper test!”);

motor.setSpeed(10); // 10 rpm
}

void loop() {
Serial.println(“Single coil steps”);
motor.step(100, FORWARD, SINGLE);
motor.step(100, BACKWARD, SINGLE);

Serial.println(“Double coil steps”);
motor.step(100, FORWARD, DOUBLE);
motor.step(100, BACKWARD, DOUBLE);

Serial.println(“Interleave coil steps”);
motor.step(100, FORWARD, INTERLEAVE);
motor.step(100, BACKWARD, INTERLEAVE);

#ifdef MICROSTEPPING
Serial.println(“Micrsostep steps”);
motor.step(100, FORWARD, MICROSTEP);
motor.step(100, BACKWARD, MICROSTEP);
#endif
}

void loop() { Serial.println("Single coil steps"); motor.step(100, FORWARD, SINGLE); // Qui il motore avanza singolo passo

Delay(1000); // Arduino si ferma per 1 secondo

motor.setSpeed(5); // 5 rpm Rallentiamo

motor.step(100, BACKWARD, SINGLE); // Qui il motore indietreggia

Delay(1000); // Come sopra

Ho inserito le modifiche che tinman66 mi ha detto di fare, ma il ritardo (Delay(5000); // Arduino si ferma per 5 secondo) il software da errore.
Devo apportare altre modifiche???
E’ possibile fermare il moto dopo le due rotazioni (o quando il motore ritorna a 0)???
Grazie C.

// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!

#include <AFMotor.h>

AF_Stepper motor(400, 1);

void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println(“Cristian”);

motor.setSpeed(1); // 1 rpm
}

void loop() {
Serial.println(“Single coil steps”);

motor.step(800, FORWARD, MICROSTEP); // Qui il motore avanza

Delay(5000); // Arduino si ferma per 5 secondo

motor.setSpeed(10); // 10 rpm Cambia velocità

motor.step(400, BACKWARD, SINGLE); // Qui il motore indietreggia

}

ciao

delay si scrive in minuscolo :)

m

Grazie dei vostri preziosi consigli,
ora + o - i comandi funzionano.
Avrei bisogno di far iniziare le rotazioni con un tasto da tastiera e che si blocasse alla fine delle due rotazioni.
Grazie C.

// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!

#include <AFMotor.h>

AF_Stepper motor(400, 1);

void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println(“Cristian”);

}

void loop() {
Serial.println(“Single coil steps”);

motor.setSpeed(1); // 1 rpm

motor.step(100, FORWARD, MICROSTEP); // Qui il motore avanza

delay(5000); // Arduino si ferma per 5 secondo

motor.setSpeed(50); // 50 rpm Cambia velocità

motor.step(100, BACKWARD, SINGLE); // Qui il motore indietreggia

delay(5000); // Arduino si ferma per 30 secondo

}