Zitat von soldier555 im Beitrag #510
Hallo Harold,
bis Punkt 17 in Deiner Anleitung bin ich gekommen. Bis dahin läuft es einwandfrei.
Jetzt in Servo2, reagiert der Servo auf den Schieberegler nicht, bzw. sehr spät, läuft eine paarmal hin und her, jetzt reagiert er nicht mehr.
Die Heartbeat Led aller 6 Kanäle leuchten dauert, die LED auf der umgebauten 510 Blinkt langsam.
Gruß
Peter
Hallo Peter,
dann bist Du jetzt schon recht weit gekommen.
Das Problem ist, dass Dir einige Grundlagen noch nicht klar sind und diese aber leider auch noch nirgendwo sauber beschrieben sind.
Das Verhalten der Heartbeat LED in der LED auf dem umgebauten 510 Platine ist vokkommen richtig.
Die Servo2 Seite benutzt steuert den ESP32 im DictMode an. Das heisst, das jetzt der PC direkt jede einzelne LED anspricht und eine Farbe einstellen kann. Dieses Verhalten wurde für die Farbtestseite implementiert. Hast Du diese Seite schon mal benutzt? Du kannst mit Ihr jede beliebige LED eine beliebige Farbe anzeigen lassen.
Genau dieselbe Funktion wird für den Servo auf der Servo2 Seite verwendet. Wenn dieser Direct Mode eingeschaltet wird stoppt der ARDUINO das normale Programm und alle LEDs behalten die zuletzt eingestellte Farbe. Deshalb frieren die Heartbeat LEDs ein. Unten Links wird in Grün angezeigt: "Direct Mode".
Jetzt kann das Programm den Servo direkt ansteuern und ihm Stellbefehle senden, in dem es an die Servo Adresse Farbbefehle sendet. (genau wie der Farbtest, Du könntest den Servo auch mit der Farbtestseite bewegen, dazu müßtest Du allerdings im Kopf einen CRC berechnen könmnen.
Daß der Servo bei Dir jetzt so verzögert reagiert kann, wie bei Gerd, daran liegen, daß das Senden der Daten an den ESP32 zu langsam erfolgt.
Kannst Du mir die log-Datei hier hochladen. Die Datei öffnen, nachdem Du in der Servo2 Seite den servo ein paar mal bewegt hast.
Vielleicht finden wir dann den Grund.
Viele Grüße
Harold
Nachtrag: Zum Hochladen eines Programms DARF die pyMLL gar keine Verbindung zum ESP32 haben, da das Hochladen durch die ARDUINO-IDE erfolgt. Die Verbindung wird deshalb vor dem Hochladen immer getrennt.
Deshalb ist es egal, ob die pyMLL eine Verbidnug aufbauen kann oder nicht. Erst beim Hochladen ist es wichtig, daß der richtige USB-Port und der richtige Boardtyp eingestellt ist.