diff --git a/src/main.cpp b/src/main.cpp index 48df919..6273a2f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,25 +1,48 @@ #include "Arduino.h" -// Set LED_BUILTIN if it is not defined by Arduino framework -// #define LED_BUILTIN 13 +#define DIR_PIN 2 +#define STEP_PIN 3 +#define STEPS_PER_REV 200 void setup() { - // initialize LED digital pin as an output. pinMode(LED_BUILTIN, OUTPUT); + pinMode(STEP_PIN, OUTPUT); + pinMode(DIR_PIN, OUTPUT); } +int pinState = LOW; +int speedDelay = 50; +int speedDelayDir = +1; + void loop() { - // turn the LED on (HIGH is the voltage level) - digitalWrite(LED_BUILTIN, HIGH); + digitalWrite(DIR_PIN, LOW); + for (int i = 0; i < STEPS_PER_REV; i++) + { + digitalWrite(STEP_PIN, HIGH); + delayMicroseconds(500); + digitalWrite(STEP_PIN, LOW); + delayMicroseconds(500); - // wait for a second - delay(1000); + delayMicroseconds(speedDelay); - // turn the LED off by making the voltage LOW - digitalWrite(LED_BUILTIN, LOW); + if (speedDelay > 5000){ + speedDelayDir = -1; + } else if (speedDelay < 50){ + speedDelayDir = +1; + } - // wait for a second - delay(1000); + if (speedDelayDir == +1) { + speedDelay += 50; + } else { + speedDelay -= 50; + } + + } + + pinState = !pinState; + digitalWrite(LED_BUILTIN, pinState); + + // delay(500); }