Hallo
Ich habe einen neuen Problem.
Ich habe einen Steppmotor Nema23 mit TB6600 Steuerung und einen Metall Näherung Sensor.
Alles läuft nur mir ist es nicht gelungen der Anzahl der Schritte unterbrechen mit dem Sensor, um den Motor zu aufhalten, jetzt macht es sozusagen die 200schritte kontrolliert der wert und läuft oder bleibt stehen, das ist vom Sensor abhängig. Wäre super, wenn der Motor flüssig laufen würde und den ganzen Zeit den Sensor überwachen und stehen, wenn der wert aktiv ist.
Vielleicht kann mir jemand helfen.
Danke
#include "AccelStepper.h"
#define dirPin 2
#define stepPin 3
#define stepsPerRevolution 200
#define motorInterfaceType 1
AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);
float metalDetected;
int monitoring;
int metalDetection = A0;
void setup() {
Serial.begin(9600);
// Declare pins as output:
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop() {
monitoring = analogRead(metalDetection);
Serial.println(monitoring);
delay(100);
if (monitoring > 250 ){
digitalWrite(dirPin, LOW);
for (int i=0; i < stepsPerRevolution; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
delay(1000);
if (monitoring < 250 ) {
stepper.stop();
delay(1000);
}
}
}