#define PIN_TRIG 3
#define PIN_ECHO 2
#define DIST_DELAY 1000
#define STEP_DELAY 10
#define STEPS_PER_REV 200
#include <Stepper.h>
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(STEPS_PER_REV, 8, 9, 10, 11);
float distSensOldTime = 0;
float stepSensOldTime = 0;
bool runDistance = true;
bool runSteppers = true;
void setup() {
Serial.begin(115200);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
myStepper.setSpeed(60);
}
void loop() {
RunBools();
if(runDistance)
{
runDistance = false;
distSensOldTime = millis();
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
// Read the result:
int duration = pulseIn(PIN_ECHO, HIGH);
Serial.print("Distance in CM: ");
Serial.println(duration / 58);
Serial.print("Distance in inches: ");
Serial.println(duration / 148);
}
if(runSteppers)
{
myStepper.step(STEPS_PER_REV);
}
}
void RunBools()
{
float curTime = millis();
if(curTime - distSensOldTime > DIST_DELAY)
{
runDistance = true;
}
if(curTime - stepSensOldTime > STEP_DELAY)
{
runSteppers = true;
}
}