Poti+Servo linear anlaog steuern in Open Roberta

Hallo,
gibt es in Nepo eine Möglichkeit mit einem Poti direkt einen Servo zu steuern ohne es über einzeln tausende ausgelesene Werte über wenn-mache zu machen.
Was ist mit den Funktionen und den Listen, können sie verwendet werden.
Über Hilfe freue ich mich
Grüße Carsten Simon

Wie per Mail geschrieben, weiß ich nicht, ob es bei Open-Roberta direkt eine Mapping-Funktion wie in MakeCode gibt. Deshalb würde ich es ansonsten so probieren:
ServoPosition = PotentiometerWert/1023×180
Das bedeutet, wenn der PotentiometerWert 0 ist, wird die ServoPosition 0 Grad sein, und wenn der PotentiometerWert bei 1023 ist, wird die ServoPosition 180 Grad.
Mit der Mapping-Funktion ist es einfacher, weil man dann nur die gewünschten Parameter eintragen muss, so sollte es aber auch gehen.
Gib doch mal Bescheid, ob es klappt.

Die Mapping-Funktion steht in math.ts und kann bestimmt mit Blöcken nachgebaut werden:

Damit habe ich auch korrigiert, dass der Servo in die falsche Richtung lenkt.

/**
     * Re-maps a number from one range to another. That is, a value of ``from low`` would get mapped to ``to low``, a value of ``from high`` to ``to high``, values in-between to values in-between, etc.
     * @param value value to map in ranges
     * @param fromLow the lower bound of the value's current range
     * @param fromHigh the upper bound of the value's current range, eg: 1023
     * @param toLow the lower bound of the value's target range
     * @param toHigh the upper bound of the value's target range, eg: 4
     */
    //% help=math/map weight=10 blockGap=8
    //% blockId=math_map block="map %value|from low %fromLow|high %fromHigh|to low %toLow|high %toHigh"
    //% inlineInputMode=inline
    export function map(value: number, fromLow: number, fromHigh: number, toLow: number, toHigh: number): number {
        return ((value - fromLow) * (toHigh - toLow)) / (fromHigh - fromLow) + toLow;
    }    

1 „Gefällt mir“

Hallo zusammen,
danke für die Hilfe.
Den Vorschlag von Joern muss ich mal in Ruhe am WE ausprobieren.

Der Vorschlag von asp.net ist mir zu hoch! Tut mir Leid.
Vielleicht kannst du mir das auch anders erklären !?
Grüße Carsten

Super Joern!
es klappt und eigentlich gar nicht so kompliziert!


bei einem 1k Poti reagiert der 180° Servo schön synchron!
Danke !
Grüße Carsten

1 „Gefällt mir“