Ich habe ein Problem - innerhalb der run-Schleife zählen meine Variablen falsch. Sobald ich aber eine zeitliche Verzögerung einfüge dann wir die Variable (TEST) richtig gezählt.
1 | #include "AccelStepper.h" |
2 | |
3 | AccelStepper X_Motor(1, 54, 55); // Nema 17 on RAMPS 1.4 with 4988 |
4 | |
5 | void setup() { |
6 | pinMode(54 , OUTPUT); // STEP_PIN |
7 | pinMode(55 , OUTPUT); // DIR_PIN |
8 | pinMode(38 , OUTPUT); // ENABLE_PIN |
9 | digitalWrite(38 , LOW); // 4988 aktiv |
10 | }
|
11 | |
12 | void loop() { |
13 | |
14 | X_Motor.setMaxSpeed(500); |
15 | X_Motor.setAcceleration(1000); |
16 | |
17 | X_Motor.setCurrentPosition(0); |
18 | |
19 | X_Motor.moveTo(1000); |
20 | |
21 | int TEST = 0; |
22 | |
23 | while (X_Motor.distanceToGo() && TEST < 500) { |
24 | |
25 | if (digitalRead(3)){TEST++;} // oder auch nur TEST++; |
26 | X_Motor.run(); |
27 | |
28 | delay(2); // entferne ich den delay zählt TEST total falsch. |
29 | }
|
30 | |
31 | |
32 | Stop:
|
33 | goto Stop; |
34 | }
|