Servo-Controller "SSC-32 Servo Sequencer" mit Arduino MEGA 2560 ansteuern

Hallo Liebe Community,

ich würde gerne einen Servocontroller Board mit einem Arduino MEGA 2560 ansteuern. Ich gehe dabei über die Schnittstelle Serial 1. Nur tut sich nichts. Kann mir jemand dabei helfen?

Danke im Voraus!

Dann wäre es wohl sinnvoll, wenn Du uns Deinen Sketch zeigst. Setze ihn bitte in Codetags (</>-Button oben links im Forumseditor). Links zu den verwendeten Baugruppen uns Libs, sowie die Schaltung wären auch sinnvoll.

Gruß Tommy

Brunhilde_24:

Nur tut sich nichts. Kann mir jemand dabei helfen?

Tut sich nichts, ist genau so eine Tolle Beschreibung wie deine Anschlussbeschreibung.

Wie sollen wir daraus schlau werden ?

Hey Zusammen, sorry das ich erst jetzt zurück schreibe, war über’s lange Wochenende unterwegs.

Und zwar sieht mein Code folgendermaßen aus:

#include <Servo.h>

Servo myservo;
int input;
void setup()
{
myservo.attach(9);
Serial.begin(9600);
myservo.write(75);
}

void loop() {
input = Serial.read();
myservo.write(input);
Serial.println(input);
delay (1000);

}

Bin eine totale Anfängerin darin und wäre für jede Hilfe und Erklärung sehr Dankbar.

Ich Bedanke mich im Voraus bei Euch!

Gruß Bruni

Du schreibst im Eingangspostig Serial1, aber Serial im Code

Tipp:
Doku zu Serial.read() lesen.
Denn das wird bei dir oft -1 liefern.
Und das fängst du nicht ab.

Hallo,

eigentlich wollte ich auf die IDE Bsp. verweisen, jedoch funktionieren einige bei mir nicht.
Zum Bsp. “Dimmer”. Ein anderes mit Serial.parseInt will auch nicht. :o

Also was geschrieben für vierstellige Zahleneingabe.
Wenn das verstanden ist bin ich mir sicher du kannst das auf myservo abändern.
Im seriellen Monitor ganz unten noch “Sowohl NL als auch CR” auswählen. Ist immer gut für die Newline Steuerzeichenübertragung usw.

In Zukunft bitte nach Preview die Code Tags oben links </> verwenden um Code einzufügen. Erleichtert und verstümmelt den Code nicht.

const byte LED = 13;

const byte SERIAL_BUFFER_SIZE = 5;
char serialBuffer[SERIAL_BUFFER_SIZE];

int pos;

void setup() {
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
}

void loop() {
 
  handle_serial();
  analogWrite(LED, pos);
}


bool read_serial()  
{  
  static byte index = 0;
    
  if (Serial.available() > 0)  {    
    char c = Serial.read();
    
      if(c == '\n')  {                  // 'NL' Endeerkennung 
        serialBuffer[index] = '\0';     // Null Terminierung
        index = 0;
        return true;
      }
      else if (c >= 32 && index < SERIAL_BUFFER_SIZE-1)  {  // alles lesen was kein Steuerzeichen ist
        serialBuffer[index++] = c;
      }
    }   

  return false;  
}


void handle_serial ()
{
  if (read_serial() ) {
    int value = atoi(serialBuffer);         // string to int
    Serial.print(F("eingelesener Wert: "));
    Serial.println(value);

    if ( 0 > value || value > 180 ) {
        Serial.println(F("out of range"));
        Serial.println();
    }
    else {
      pos = value;
      Serial.print("pos "); Serial.println(pos);
      Serial.println();
    }
      
    memset(serialBuffer,'\0',sizeof(serialBuffer));  // seriellen Buffer löschen
  }
}

Hallo Zusammen,

ich bin’s nochmal. Auch der geänderte Code hat nicht funktioniert. Daher habe ich ein Basic Code versucht, um über den Serial 1 mit dem SSC-Board zu kommunizieren. Das ist der Code:

#include <Servo.h>

Servo myservo;

void setup()
{
myservo.attach(9);
myservo.write(90); // set servo to mid-point
}

void loop() {}

Doch leider zeigen die Servo’s keine Funktion.

Auch der Code aus dem SSC-Guide funktioniert nicht:

#5 P1600 #17 P750 S500 #2 P2250 T2000

Die Servo’s sind an den richtigen Pin’s des SSC angeschlossen.

Würde mich freuen, wenn mir jemand helfen kann.

Danke im Voraus. Gruß Bruni

Daher habe ich ein Basic Code versucht, um über den Serial 1 mit dem SSC-Board zu kommunizieren. Das ist der Code:

Was hat der Code mit Serial 1 zu tun?

combie: Was hat der Code mit Serial 1 zu tun?

Ich gehe nur über Serial 1, kannst du mir bitte erklären, was an meinem Code nicht stimmt.

Gruß Bruni

Hallo,

ich komme mir auch etwas verarscht vor. Ganz ehrlich. Dein Code gibt weder über serial was raus noch liest er etwas ein. Deswegen die berechtigte Frage wie du irgendwas eingeben oder ausgeben möchtest.

#include <Servo.h> 

Servo myservo;

void setup() 
{ 
  myservo.attach(9);
  myservo.write(90);  // set servo to mid-point
} 

void loop() {}

Brunhilde_24:
Ich gehe nur über Serial 1, kannst du mir bitte erklären, was an meinem Code nicht stimmt.

Wo genau ist dein Problem.

Warum lieferst du uns nur Müll ?
Zudem was verstehst du unter “Code-Tags” nicht.

Wenn wir dir helfen sollen, musst du endlich mal alle Fragen richtig beantworten und zukünftig deinen Sketch in Code-Tags hier posten. Dann können den auch alle richtig lesen.

Wenn man den Titel des Threads liest, könnte man vielleicht auf das Problem kommen. Dieser 'Sequencer' ist ein intelligenter Servocontroller, der über Kommandos auf einer seriellen Schnittstelle gesteuert wird.

Das Problem ist also, dass die Servo-Lib hier völlig fehl am Platze ist. Wenn der Sequencer über Serial1 verbunden ist, dann müssen entsprechende Kommandos auf dieser Schnittstelle ausgegeben werden. Wobei dann auch erstmal zu klären ist, welche Baudrate vom Sequencer genutzt wird. Da sollte also erstmal ein entsprechendes Datenblatt her.

Die Servo Lib wäre vielleicht auf dem SSC gut aufgehoben. Aber dann sicherlich nicht die original Arduino Servo Lib.

Man kanns nicht wissen ...

Hi

@Microbahner Zugegeben, der Titel ist besser, als Manches, was sonst hier so hereinschwappt. Trotzdem kann ich doch erwarten, daß vorhandene Hardware verlinkt, oder im Post erklärend genannt wird, oder? Klar kann ich jeden genannten Furz ergooglen - aber will ich wissen, was Er benutzt, oder will Er Hilfe von mir? (Dir, combie, wer sonst noch hier rum liest)

Mit bisher 4 Posts ist das 'Code-Tag-Problem' leider normal, wird ggf. ja besser. (erschwerend kommt hinzu, daß man als Newbe nur alle 15 Minuten EIN Post absetzen darf - ein Edit, oder doch auf die Kommentare antworten? Eine Zwickmühle)

Vll. kommt ja noch was Brauchbares zu dem SSC-32 und dem Problem, Welches die beiden Teilnehmer miteinander zu haben scheinen.

MfG

PS: combie wurde genannt, weil ich Dessen Nick gerade noch hier stehen hatte und so 'abschreiben' konnte ;)

postmaster-ino:
Trotzdem kann ich doch erwarten, daß vorhandene Hardware verlinkt, oder im Post erklärend genannt wird, oder?

Nein, wie die Praxis zeigt, kannst Du gar nichts erwarten. Allerdings kannst Du entscheiden, worauf Du antwortest :smiley:
Hier war es durch den aussagekräftigen Titel ausnahmsweise mal recht einfach, zumindest auf einem Desktop-PC: Markieren, Suche starten, 1.Treffer. Dauerte nur unwesentlich länger als direkt auf einen Link klicken.

Hallo,

also wenn ich danach suche habe ich 2 Beschreibungen. In einer ist die serielle Kommunikation beschrieben. Dabei wird auch der Arduino erwähnt. Als Anfänger ist das alles vielleicht erstmal viel zum lernen. Man kann aber auch erstmal mit dem seriellen Monitor oder hterm rumspielen um zu sehen was man serial so raushaut. Bestimmt für den TO der bessere Weg wie gleich von 0 auf 100.