Skip to content

Instantly share code, notes, and snippets.

@ndevenish
Created March 25, 2017 20:34
Show Gist options
  • Save ndevenish/7fd3162b10c5e35e076f6a56e3421084 to your computer and use it in GitHub Desktop.
Save ndevenish/7fd3162b10c5e35e076f6a56e3421084 to your computer and use it in GitHub Desktop.
#include <Servo.h>
#define PIN_X_STEP 4
#define PIN_X_DIR 7
#define PIN_Y_STEP 6
#define PIN_Y_DIR 5
#define PIN_Z 2
#define PIN_ENABLE 3
Servo zServo;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
pinMode(PIN_X_STEP, OUTPUT);
pinMode(PIN_Y_STEP, OUTPUT);
pinMode(PIN_X_DIR, OUTPUT);
pinMode(PIN_Y_DIR, OUTPUT);
pinMode(PIN_Z, OUTPUT);
pinMode(PIN_ENABLE, OUTPUT);
// Enable steppers
digitalWrite(PIN_ENABLE, LOW);
zServo.attach(PIN_Z);
}
int step = 0;
// the loop function runs over and over again forever
void loop() {
step += 2;
digitalWrite(PIN_X_STEP, HIGH); // turn the LED off by making the voltage LOW
digitalWrite(PIN_Y_STEP, HIGH); // turn the LED off by making the voltage LOW
delay(1); // wait for a second
digitalWrite(PIN_X_STEP, LOW); // turn the LED off by making the voltage LOW
digitalWrite(PIN_Y_STEP, LOW); // turn the LED off by making the voltage LOW
delay(1); // wait for a second
if (step < 1000) {
zServo.write(0);
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(PIN_X_DIR, LOW);
digitalWrite(PIN_Y_DIR, LOW);
} else {
zServo.write(180);
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(PIN_X_DIR, HIGH);
digitalWrite(PIN_Y_DIR, HIGH);
}
if (step > 2000) {
step = 0;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment