Um einen bipolaren Schrittmotor mit einem Arduino und einem DRV8825 Motortreiber durch einen Taster um 180° drehen zu lassen, kannst du folgende Schritte befolgen: 1. **Hardware-Verkabelung:** - Verbinde den Schrittmotor mit dem DRV8825 Motortreiber gemäß dem Schaltplan des Motortreibers. - Verbinde die STEP- und DIR-Pins des DRV8825 mit den entsprechenden digitalen Pins des Arduino. - Schließe den Taster an einen digitalen Pin des Arduino an und verbinde ihn mit einem Pull-Down-Widerstand. - Verbinde die Stromversorgung des DRV8825 und des Arduino gemäß den Spezifikationen. 2. **Arduino-Code:** - Lade die folgende Beispielskizze auf deinen Arduino hoch: ```cpp #define STEP_PIN 2 #define DIR_PIN 3 #define BUTTON_PIN 4 const int stepsPerRevolution = 200; // Anzahl der Schritte pro Umdrehung (abhängig vom Motor) bool buttonPressed = false; void setup() { pinMode(STEP_PIN, OUTPUT); pinMode(DIR_PIN, OUTPUT); pinMode(BUTTON_PIN, INPUT_PULLUP); // Verwende INPUT_PULLUP für den Taster attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), buttonPress, FALLING); } void loop() { if (buttonPressed) { buttonPressed = false; rotateMotor(stepsPerRevolution / 2); // 180° Drehung } } void buttonPress() { buttonPressed = true; } void rotateMotor(int steps) { digitalWrite(DIR_PIN, HIGH); // Richtung festlegen for (int i = 0; i < steps; i++) { digitalWrite(STEP_PIN, HIGH); delayMicroseconds(1000); // Schrittimpulsdauer anpassen digitalWrite(STEP_PIN, LOW); delayMicroseconds(1000); // Schrittimpulsdauer anpassen } } ``` 3. **Erklärung des Codes:** - `STEP_PIN` und `DIR_PIN` sind die Pins, die mit den STEP- und DIR-Pins des DRV8825 verbunden sind. - `BUTTON_PIN` ist der Pin, der mit dem Taster verbunden ist. - `stepsPerRevolution` gibt die Anzahl der Schritte pro Umdrehung des Schrittmotors an (dieser Wert kann je nach Motor variieren). - Die `buttonPress`-Funktion wird durch einen Interrupt ausgelöst, wenn der Taster gedrückt wird. - Die `rotateMotor`-Funktion dreht den Motor um die angegebene Anzahl von Schritten. Stelle sicher, dass die Verkabelung korrekt ist und die Stromversorgung den Anforderungen des Schrittmotors und des DRV8825 entspricht.