0

私は Python をハッキングしています。

現在、Python を使用して磁力計を使用してロボットの向きを取得しようとしています。問題は、度ベースの値を自分のセットにマッピングして「北」を設定できるようにしたいということです。Arduino をプログラミングする場合は、map() 関数を使用します。Pythonに似たようなものはありますか?

// how many degrees are we off
int diff = compassValue-direc;

// modify degress 
if(diff > 180)
    diff = -360+diff;
else if(diff < -180)
    diff = 360+diff;

// Make the robot turn to its proper orientation
diff = map(diff, -180, 180, -255, 255);
4

1 に答える 1

2

Mapping a range of values to another で利用可能なソリューション:

def translate(value, leftMin, leftMax, rightMin, rightMax):
    # Figure out how 'wide' each range is
    leftSpan = leftMax - leftMin
    rightSpan = rightMax - rightMin

    # Convert the left range into a 0-1 range (float)
    valueScaled = float(value - leftMin) / float(leftSpan)

    # Convert the 0-1 range into a value in the right range.
    return rightMin + (valueScaled * rightSpan)
于 2013-08-20T10:21:29.267 に答える