Joystick2 Unit
摇杆是一种用于控制的输入单元,采用 I2C 通信接口,支持三轴控制信号(X/Y 轴位移的模拟输入和 Z 轴按键按下的数字输入)。适用于游戏和机器人控制等应用场景。
支持以下产品:
MicroPython 应用示例
import os, sys, io
import M5
from M5 import *
from unit import Joystick2Unit
from hardware import *
i2c = I2C(1, scl=22, sda=21)
joystick = Joystick2Unit(i2c)
joystick.read_adc_value()
joystick.read_button_status()
joystick.set_rgb_led(255, 0, 0)
joystick.get_rgb_led()
joystick.set_deadzone_position(200, 200)
while True:
joystick.read_axis_position()
UiFlow2 应用示例
class Joystick2Unit
Constructors
Methods
- Joystick2Unit.get_adc_value()
读取摇杆的 ADC 值。
- Return (tuple):
返回一个包含 X 轴和 Y 轴 ADC 值的元组,范围为 0 到 65535
UIFLOW2:

- Joystick2Unit.get_button_status()
读取摇杆的按钮状态。
- Return (bool):
返回按钮状态。按下为 True,未按下为 False。
UIFLOW2:

- Joystick2Unit.set_led_brightness(brightness)
设置 RGB LED 的亮度。
- 参数:
brightness (float) – 亮度值(0-100)。
UIFLOW2:

- Joystick2Unit.fill_color(v)
设置摇杆的 RGB LED 颜色。
- 参数:
v – RGB 值(0x000000-0xFFFFFF)。
UIFLOW2:

- Joystick2Unit.fill_color_rgb(r, g, b)
设置摇杆的 RGB LED 颜色。
- Joystick2Unit.set_axis_x_mapping(adc_neg_min, adc_neg_max, adc_pos_min, adc_pos_max)
Set the mapping parameters of the X-axis. ADC Raw 0 65536 |------------------------------------------------------| Mapped -4096 0 0 4096 |---------------------|-dead zone-|--------------------| adc_neg_min adc_neg_max adc_pos_min adc_pos_max
- 参数:
UIFLOW2:

- Joystick2Unit.set_axis_y_mapping(adc_neg_min, adc_neg_max, adc_pos_min, adc_pos_max)
Set the mapping parameters of the Y-axis. ADC Raw 0 65536 |------------------------------------------------------| Mapped -4096 0 0 4096 |---------------------|-dead zone-|--------------------| adc_neg_min adc_neg_max adc_pos_min adc_pos_max
- 参数:
UIFLOW2:

- Joystick2Unit.set_deadzone_adc(x_adc_raw, y_adc_raw)
设置摇杆的死区。
UIFLOW2:

- Joystick2Unit.set_deadzone_position(x_pos, y_pos)
设置摇杆的死区。
UIFLOW2:

- Joystick2Unit.get_axis_position()
读取摇杆的位置。
- Return (tuple):
返回一个包含 X 轴和 Y 轴位置的元组。取值范围为 -4096 到 4096。
UIFLOW2:

- Joystick2Unit.get_firmware_version()
读取 Joystick Unit 的固件版本。
- Return (int):
Returns the firmware version.
UIFLOW2:

- Joystick2Unit.get_x_raw()
读取摇杆的 X 轴原始值。
- Return (int):
返回原始 X 轴数值。
UIFLOW2:

- Joystick2Unit.get_y_raw()
读取摇杆的 Y 轴原始值。
- Return (int):
返回原始 Y 轴值。
UIFLOW2:

- Joystick2Unit.get_x_position()
读取摇杆的 X 轴位置。
- Return (int):
Returns
UIFLOW2:

- Joystick2Unit.get_y_position()
读取摇杆的 Y 轴位置。
- Return (int):
返回 Y 轴位置。
UIFLOW2:






