prosím jak by ste ošetřili případný výpadek proudu u arduina které ovládá servomotor?
"ovladaní dvířek"
Pokud vypadne proud a před vypadkem byl stepper.moveTo(600); tedy nahoře tak po výpadku bude stepper.moveTo(0); a pojede opět nahoru a přetrhne provázek.
stepper.moveTo - nejde vnutit hodnota po výpadku
knihovna <AccelStepper.h> - nemá možnost vnutit hodnotu kroku jen nulovaní
#include <AccelStepper.h>
#define dirPin 2
#define stepPin 3
#define motorInterfaceType 1
AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);
void setup() {
stepper.setMaxSpeed(200);
stepper.setAcceleration(30);
pinMode(10, INPUT);
pinMode(9, OUTPUT);
}
Díky za radu
void loop() {
delay(3000);
if (digitalRead(10)) {
digitalWrite(9, HIGH);
stepper.moveTo(600);
stepper.runToPosition();
}
digitalWrite(9, LOW);
if (!digitalRead(10)) {
digitalWrite(9, HIGH);
stepper.moveTo(0);
stepper.runToPosition();
}
digitalWrite(9, LOW);
}