python - 如何将 USB 操纵杆游戏手柄数据输出转换为角度
问题描述
我目前正在使用 raspberry pi 3 和 Python 进行家庭自动化项目。我的目标是从 Thrustmaster T16000M USB 操纵杆控制电机伺服系统,但我坚持将操纵杆值“转换”为以度为单位的角度。
例如,X 轴从 0 到 16383。但我想将其转换为从 0° 到 180°。我的问题是以度为单位的角度值与操纵杆值之间的映射。我的印象是我必须使用带有“光标”的列表,例如:0° = 0 用于操纵杆,90° = 8192 用于操纵杆,180° = 16383。
我可以理解其中的逻辑,但实现起来更复杂,因为我不知道这是否是正确的方法,尤其是是否可行。
我还研究了向量、矩阵等,但经过一天的研究,我能够理解逻辑,但实现更复杂,因为我不知道它是否是正确的方法,尤其是是否可能。我对如何做到这一点有点困惑。
解决方案
如果我没有误解你的问题,这应该很容易。
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 范围的映射。
推荐阅读
- applescript - AppleScript - 在特定标签 ID 后从网站中提取文本
- linux - C/C++ 格式字符串中的填充如何存储在 Linux 的虚拟内存中?
- c - 在后台运行超时功能
- java - 在 ArrayList 中索引原始数组 - Java
- r - 合并列值相似但列值不同的行
- assembly - 将 argv 中的第一个参数与 char 进行比较
- python - 指数曲线拟合自定义数据集 - 输出是平线
- php - 我如何在php的邮件功能中发送HTML
- minizinc - 从 cpp 程序调用 minizinc
- node.js - NodeJS google-translate-api BAD_REQUEST