#define DIR_PIN 2#define STEP_PIN 3const int buttonLinks = 6; const int buttonRechts = 7;int statusRechts = 0;int statusLinks = 0;void setup() { pinMode(DIR_PIN, OUTPUT); pinMode(STEP_PIN, OUTPUT); pinmode(buttonLinks, INPUT); pinmode(buttonRechts, INPUT);} void loop(){ // status van de knoppen statusRechts = digitalRead(buttonRechts); statusLinks = digitalRead(buttonLinks); //rotate a specific number of microsteps (8 microsteps per step) //a 200 step stepper would take 1600 micro steps for one full revolution if (statusLinks == HIGH && statusRechts == LOW) // Beide knoppen bekijken op waarde, bij per ongeluk 2 knoppen indrukken mag er niets gebeuren!! { rotate(1600, .5); delay(1000); } if (statusLinks == LOW && statusRechts == HIGH) // Beide knoppen bekijken op waarde, bij per ongeluk 2 knoppen indrukken mag er niets gebeuren!! { rotate(-1600, .5); //reverse delay(1000); }}void rotate(int steps, float speed){ //rotate a specific number of microsteps (8 microsteps per step) - (negitive for reverse movement) //speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger int dir = (steps > 0)? HIGH:LOW; steps = abs(steps); digitalWrite(DIR_PIN,dir); float usDelay = (1/speed) * 70; for(int i=0; i < steps; i++){ digitalWrite(STEP_PIN, HIGH); delayMicroseconds(usDelay); digitalWrite(STEP_PIN, LOW); delayMicroseconds(usDelay); } }