旋转编码器
Rotary 用于控制主机内部集成的旋转编码器。以下是主机的 Rotary 支持详细:
Controller |
旋转编码器 |
|---|---|
拨号 |
✔ |
DinMeter |
✔ |
MicroPython 应用示例:
1# SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD 2# 3# SPDX-License-Identifier: MIT 4 5import os, sys, io 6import M5 7from M5 import * 8from hardware import * 9 10 11label0 = None 12rotary = None 13 14 15def btnA_wasClicked_event(state): # noqa: N802 16 global label0, rotary 17 rotary.reset_rotary_value() 18 label0.setText(str(rotary.get_rotary_value())) 19 20 21def setup(): 22 global label0, rotary 23 24 M5.begin() 25 Widgets.fillScreen(0x222222) 26 label0 = Widgets.Label("0", 96, 80, 1.0, 0xFFA000, 0x222222, Widgets.FONTS.DejaVu72) 27 28 BtnA.setCallback(type=BtnA.CB_TYPE.WAS_CLICKED, cb=btnA_wasClicked_event) 29 30 rotary = Rotary() 31 32 33def loop(): 34 global label0, rotary 35 M5.update() 36 if rotary.get_rotary_status(): 37 label0.setText(str(rotary.get_rotary_value())) 38 39 40if __name__ == "__main__": 41 try: 42 setup() 43 while True: 44 loop() 45 except (Exception, KeyboardInterrupt) as e: 46 try: 47 from utility import print_error_msg 48 49 print_error_msg(e) 50 except ImportError: 51 print("please update to latest firmware")
UiFlow2 应用示例:
class Rotary
构造函数
- class Rotary
创建一个 Rotary 对象。
UIFLOW2:

Methods
- Rotary.get_rotary_value() int
备注
不能和
Rotary.get_rotary_increments()同时使用获取 Rotary 对象的旋转值。
UIFLOW2:

- Rotary.get_rotary_increments() int
备注
不能和
Rotary.get_rotary_increments()同时使用获取 Rotary 对象的旋转增量。可用于判断旋转方向。
UIFLOW2:




