micro:bit如何计算范围内的音高-Pi到Pi

时间:2017-10-23 10:08:13

标签: python accelerometer pitch bbc-microbit

如何计算微位加速度计的音高作为全范围,即从-Pi到Pi弧度(相同的-180到180度)?

这是我现有的微python代码:

while True:
    x = accelerometer.get_x()/1024
    y = accelerometer.get_y()/1024
    z = accelerometer.get_z()/1024
    roll = math.pi-(math.atan2(x, z)%(math.pi*2))
    pitch = math.atan2(-y, math.sqrt(x*x + z*z))
    print('{roll:'+str(roll)+',pitch:'+str(pitch)+'}')

我看到的行为是:

  1. (对我来说正确)滚动微位从0到Pi向右(直到上下颠倒),从0向下到-Pi向左滚动(直到上下颠倒)。在倒置时,弧度将在Pi和-Pi之间翻转。
  2. (对我来说不正确)将微位向前倾斜从0到Pi / 2(在90度)然后再回到0 (颠倒),同样向后倾斜微位从0到-Pi / 2(在90度)然后回到0 (当颠倒时)。
  3. 我正在寻找从0到Pi(上下颠倒)以及从0到-Pi(倒置时)后退的音高。

    提前谢谢

    安迪

0 个答案:

没有答案