Per Funk Motoren & Servo steuern

Hallo,

ich habe zwei Calliope, die per Funk miteinander reden sollen. Ich möchte den einen Calliope als Fernsteuerung für den anderen nutzen, der auf einem Callibot sitzt und dort die Motoren und einen Servo steuert.

Ich möchte gerne folgendes Verhalten: Solange Taste A gedrückt wird, soll der Callibot vorwärts fahren. Gleichzeitig soll aber auch der Servo nach links oder rechts bewegt werden, je nach dem ob P1 oder P2 berührt wird.

Dabei ergeben sich für mich zwei Probleme:
1.) Den Servo kann ich mit der Funktion aus der Calliboterweiterung von Knotech nur auf einen Winkel von X° stellen. Ich brauche also eine Funktion, die immer wieder aufgerufen wird und den Servo permanent verstellt (+1° oder mehr). Ich bin mir nicht sicher, wie sich sowas im Programmtiming bemerkbar macht.

2.) Das „Protokoll“ meiner Fernsteuerung: Ich könnte nun für den Motor ein V und ein R für die Fahrtrichtung übertragen und ein L und ein R für den Servo. Jeweils davon abhängig, ob eine Taste oder P1/P2 gedrückt ist. Das ganze kann man ja nun Eventgesteuert machen (Wenn Pin P1 gedrückt) oder in einer Endlosschleife permanent abfragen (Pin P1 ist gedrückt). Vorteil bei den Events, es wird nur ausgelöst, wenn der Taster/Pin auch gedrückt wird, Nachteil ich bekomme nicht mit, wenn er losgelassen wird. Ich neige zur Abfrage in der Endlosschleife, und nur dann etwas zu senden, wenn sich der Status eines Tasters/Pins geändert hat - um nicht permanent zu senden. Im Ziel müsste man dann diese Änderungen auswerten. Nachteil: Wird das Signal V für vorwärts fahren gesendet und der Fernsteuer Calliope dann ausgestellt, dann fährt der Callibot immer weiter - es kommt ja kein Stopp Signal mehr.

Außerdem könnte der Servo und der Fahrmotor auch gleichzeitig bewegt werden - also Taster A und Pin1/2 gedrückt werden.

Wie würdet Ihr ein solches Funkprotokoll aufbauen?

VG
Martin

Hey ich besitze leider kein Calibot aber vielleicht so? …Falls ich das richtig verstanden habe https://makecode.calliope.cc/_0Ep0RMXAiM4Y