首页 > 解决方案 > 如何将 USB 操纵杆游戏手柄数据输出转换为角度

问题描述

我目前正在使用 raspberry pi 3 和 Python 进行家庭自动化项目。我的目标是从 Thrustmaster T16000M USB 操纵杆控制电机伺服系统,但我坚持将操纵杆值“转换”为以度为单位的角度。

例如,X 轴从 0 到 16383。但我想将其转换为从 0° 到 180°。我的问题是以度为单位的角度值与操纵杆值之间的映射。我的印象是我必须使用带有“光标”的列表,例如:0° = 0 用于操纵杆,90° = 8192 用于操纵杆,180° = 16383。

我可以理解其中的逻辑,但实现起来更复杂,因为我不知道这是否是正确的方法,尤其是是否可行。

我还研究了向量、矩阵等,但经过一天的研究,我能够理解逻辑,但实现更复杂,因为我不知道它是否是正确的方法,尤其是是否可能。我对如何做到这一点有点困惑。

标签: pythonraspberry-pijoystick

解决方案


如果我没有误解你的问题,这应该很容易。

x_max = 16383
output_max = 180

# Assume x is an arbitrary value between 0 and x_max
output = x / x_max * output_max

就是这样。输出将是 0 到 16383 之间的 x 值到 0 到 180 范围的映射。


推荐阅读