Skip to content

示例37:旋转编码器 ​

旋转编码器 ​

A、B两相接GPIO26/27,公共端接GND;按实际编码器及3.3V上拉要求接线。当前驱动两脚均配置上拉并使用A相中断,不能将不具备内部上拉的classic GPIO34/35直接当成相同接法。

json
{
  "peripherals": [
    {
      "id": "encoder_01",
      "name": "encoder_01",
      "type": 43,
      "enabled": false,
      "pins": [
        26,
        27
      ],
      "params": {
        "resolution": 20,
        "useInterrupt": true
      }
    }
  ]
}

resolution是每转脉冲参数,按驱动计数方式与实际转动校验。开启开发模式后保存禁用配置,接线确认再启用。

读取计数 ​

使用“传感器读取”(19),类别pulse读取count/delta/direction;类别frequency读取frequency或rpm字段。按选定字段分别配置动作,轮询/定时单位是秒。累计值与增量意义不同,消费增量的频率会影响观测,不能把每次读取当作编码器恰好旋转一次。

当前没有getVar/setVar/encoderRead的JavaScript规则接口。方向、每格计数和快速转动的漏计需实测,不承诺绝不丢步。复位通过外设写入的action=reset显式执行,不因普通读取自动清零累计值。

蜂信物联 | fastbee.cn