Neues Projekt: 2x Servo + Terminal -> semi automatik BLDC neu wikeln

Hey mein nächstes projekt soll einen brushless motor neu wickeln können kann mir jemand dabei helfen? im coden bin ich noch nicht so fitt, mir fällt es im Moment noch leichter codes umzuschreiben wie auch hier

das mit der anzahl der windungen habe ich hinbekommen bzw. mir aus mehreren teile zusammengebaut

was mir jetzt noch fehlt ist die abfrage ob im uhrzeigersinn oder dagegen

dies sollte wenn möglich nach der abfrage der anzahl der windungen geschehen

diese rechts links abfrage sollte mit "R" und "L" beantwortbar sein

also:

  1. Wieviele windung? = 200
  2. Muss diese Wicklung Rechts oder Links herum gewickelt werden? = R / L
#include <Servo.h>
Servo servo1;
Servo servo2;


void setup()
{
  servo1.attach(9); //Drehung
  servo2.attach(10); //Vorschub

  servo1.write(90);    // Drehung - nullstellung
  servo2.write(20);    // Vorschub - nullstellung
  
  Serial.begin(9600);
  Serial.println("Wie viele Windungen?");
  
  Serial.setTimeout(200); // timeout for parseInt
}

void loop()
{
  if( Serial.available() > 0)        // something available ?
  {
    if( !isdigit(Serial.peek()))     // is it a digit ?
    { 
      Serial.read();                 // throw away CR LF and other things
    }
    else                             // going to read a number
    {    
      int n = Serial.parseInt();     // read integer with timeout
  
      Serial.print("n = ");
      Serial.println(n);
  
      for(int i=0; i<n; i++)
      {
        servo2.write(150);    //vorschub:vor 
        delay(500);

        servo1.write(20);    //drehung:runter 
        delay(500);

        servo2.write(20);    //vorschub:zurück 
        delay(500);

        servo1.write(90);    //drehung:rauf
        delay(500);
      }
    }
  }
}

windungen_terminal.ino (1.07 KB)

Quick&Dirty: Warte nach Eingabe der Wicklungszahl noch auf ein 'L' oder 'R', und setze die Richtung entsprechend vor der for Wickel-Schleife.

Für eine ausführlichere Lösung mit Abfrage im Dialog wird das ein Automat (state machine),