#include // --- DEFINIZIONE PIN PER ASSE Y (CNC SHIELD V3) --- #define Y_STEP_PIN 3 #define Y_DIR_PIN 6 #define ENABLE_PIN 8 // Abilita tutti i driver (X, Y, Z) // Configurazione dell'oggetto stepper per l'asse Y AccelStepper stepperY(AccelStepper::DRIVER, Y_STEP_PIN, Y_DIR_PIN); // Variabile per definire la distanza del movimento long targetPosition = 5000; void setup() { // Configurazione del pin Enable pinMode(ENABLE_PIN, OUTPUT); digitalWrite(ENABLE_PIN, LOW); // LOW = Motori attivi // Impostazioni velocità e accelerazione per Y stepperY.setMaxSpeed(1000); stepperY.setAcceleration(500); // Imposta la prima posizione target stepperY.moveTo(targetPosition); } void loop() { // Logica di movimento avanti/indietro if (stepperY.distanceToGo() == 0) { // Inverti la direzione if (stepperY.currentPosition() != 0) { stepperY.moveTo(0); } else { stepperY.moveTo(targetPosition); } delay(500); } // Esegui il movimento stepperY.run(); }