如何像 Arduino Uno 的按钮一样使用旋转编码器

How to use rotary encoder like a button for Arduino Uno

首先抱歉我的英语不好,我希望你明白我的意思

我想用 arduino Uno 制作一些东西,在引脚 13 上产生占空比为 50% 且频率在 10 hz 和 2Khz 之间的可变 pwm 信号

我想用旋转编码器设置频率,当我将编码器向左旋转一步时,它喜欢按下向上按钮,当我向右旋转一步时它喜欢按下按钮

我不想有计数器,当我向左旋转计数器+1,当我向右旋转计数器-1

我不希望编码器的位置在 -infinite 到 0 到 +infinite 之间

我希望它像两个按钮一样

我希望你明白我想要什么

使用库管理器中可用的 Paul Stoffregen 编码器库,您可以使用 encoder.write(0) 重置计数。

  int direction = encoder.read();
  if (abs(direction) >= ENCODER_PULSES_PER_STEP) {
    if (direction > 0) {
      // do something for step up
    } else {
      // do something for step down
    }
    encoder.write(0);
  }