gpt4 book ai didi

micropython - micropython中的microbit指南针

转载 作者:行者123 更新时间:2023-12-02 01:00:17 26 4
gpt4 key购买 nike

我有一个 microbit 项目,其中 microbit 垂直插入 kiktronics 机器人。

我想得到机器人的航向,但是

compass.heading()

只有微位是水平的才有效。我尝试使用 get_x()、get_y()、get_z() 读取指南针的 x、y、z 坐标

但我得到的数字范围在 z 轴和 x,y 轴上的缩放比例不同。

有谁知道不同传感器的范围是多少?

最佳答案

我使用了下面的测试代码。如果我先运行 compass_calibrate() 函数,即使磁力计垂直,我也可以获得准确的罗盘读数。

注释掉 compass_calibrate() 行后,当在自由空间中围绕 3 轴移动电路板时,我可以看到 z 值的变化没有 x 和 y 变化那么大。所以我得到了一个小磁铁。在磁力计周围移动它会使 x、y、z 值看起来在大致相同的范围内变化 - 这是一个粗略的眼球实验。

查看 MAG3110 磁力计的数据表,我看不到任何表明 3 个磁力计轴不同的迹象。那么,为什么没有外场时 z 读数会不同呢?我假设 PCB 中有一个地平面。这在 PCB 构造中很常见。这可以作为 z 轴的屏蔽。

from microbit import *

# compass.calibrate()
while True:
sleep(250)
# c = compass.heading()
x = compass.get_x()
y = compass.get_y()
z = compass.get_z()
print('x:{} y:{} z: {}'.format(x,y,z))

关于micropython - micropython中的microbit指南针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51149929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com