#include <AccelStepper.h>
// Define the stepper motor connections
#define MOTOR1_STEP_PIN 2
#define MOTOR1_DIR_PIN 3
#define MOTOR2_STEP_PIN 4
#define MOTOR2_DIR_PIN 5
#define MOTOR3_STEP_PIN 6
#define MOTOR3_DIR_PIN 7
// Define the push button pins
#define BUTTON1_PIN 8
#define BUTTON2_PIN 9
#define BUTTON3_PIN 10
// Create stepper motor objects
AccelStepper stepper1(AccelStepper::FULL4WIRE, MOTOR1_STEP_PIN, MOTOR1_DIR_PIN);
AccelStepper stepper2(AccelStepper::FULL4WIRE, MOTOR2_STEP_PIN, MOTOR2_DIR_PIN);
AccelStepper stepper3(AccelStepper::FULL4WIRE, MOTOR3_STEP_PIN, MOTOR3_DIR_PIN);
void setup() {
// Set up stepper motor speeds and enable pins
stepper1.setMaxSpeed(1000);
stepper1.setSpeed(500);
stepper1.enableOutputs();
stepper2.setMaxSpeed(1000);
stepper2.setSpeed(500);
stepper2.enableOutputs();
stepper3.setMaxSpeed(1000);
stepper3.setSpeed(500);
stepper3.enableOutputs();
// Set push button pins as inputs
pinMode(BUTTON1_PIN, INPUT_PULLUP);
pinMode(BUTTON2_PIN, INPUT_PULLUP);
pinMode(BUTTON3_PIN, INPUT_PULLUP);
}
void loop() {
// Check if all three buttons are pressed
if (digitalRead(BUTTON1_PIN) == LOW && digitalRead(BUTTON2_PIN) == LOW && digitalRead(BUTTON3_PIN) == LOW) {
// Activate all three stepper motors
stepper1.runSpeed();
stepper2.runSpeed();
stepper3.runSpeed();
} else {
// If any button is not pressed, stop all stepper motors
stepper1.stop();
stepper2.stop();
stepper3.stop();
}
}