如何像 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);
}
首先抱歉我的英语不好,我希望你明白我的意思
我想用 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);
}