Hey Leute,
beim letzen mal wurde mir hier super geholfen. Deswegen hoffe ich, dass mir jetzt auch jemand helfen kann.
Also ich benutze einen Arduino Nano und den Stellmotor HYX-SG90 mit Stellarm. Der Stellarm soll sich auf Knopfdruck (Taster ist schon programmiert) von seiner Ausgangslage (90°) in einer bestimmten Geschwindigkeit zu 0° bewegen und dort für ein paar Sekunden stehen bleiben. Dann soll er von 0° auf 180 ° fahren in einer bestimmten Geschwindigkeit und auch dort kurz stehen bleiben. Zuletzt soll er wieder auf 90° zurückfahren und den Vorgang wiederholen.
Mein Problem ist, dass ich entweder den Stellarm auf 0°/180°/90° gefahren bekomme und er stehen bleibt, wo ich auch die Zeit mit delay einstellen kann, er aber unfassbar schnell diesen Vorgang ausführt und ich es nicht steuern kann, ODER ich kann die Intervallzeit bis zu den einzelnen Position über einen ,,for" Befehl einstellen aber er bleibt dann nicht bei den Gradzahlen stehen. Muss ich die beiden Befehle kombinieren bzw. beide in die If schleife schreiben?
So wäre meine Idee aber das funktioniert leider nicht. Würde mich über Unterstützung sehr freuen
Link zum Motor: http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf
#include <Servo.h>
Servo myservo;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
int pos = 0;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
int tasterPin = 6;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
int tasterStatus;
void setup() {
 myservo.attach(9);               Â
 pinMode(tasterPin, INPUT);
 Serial.begin(9600);
}
void loop() {
 tasterStatus = digitalRead(tasterPin);
 Serial.println(tasterStatus);
 if (tasterStatus == HIGH) {             Â
Â
 Â
 }
 myservo.write(0);
 delay(4000);
 for (pos = 90; pos <= 0 += 1) {
  myservo.write(pos)
  delay(100);
  }
 myservo.write(180);
 delay(4000);
 for (pos = 0; pos >= 180; pos -= 1){
  myservo.write(pos);
  delay(200);}
Â
 }
 else                        Â
 myservo.write(90);               Â
 delay(3000);
 }
Beste Grüße