树莓派数字输入设备使用指南
1. 使用旋转(正交)编码器
1.1 问题描述
想要通过旋转编码器(类似音量旋钮的可旋转控件)来检测旋转情况。
1.2 解决方案
使用连接到两个 GPIO 引脚的旋转(正交)编码器。所需材料如下:
- 面包板和跳线
- 旋转编码器(正交类型)
正交编码器类似一对开关,其旋转轴转动时开关的开合顺序决定旋转方向。旋转编码器的引脚布局可能不同,需查看数据手册确定引脚排列。
示例代码(ch_13_rotary_encoder.py)如下:
from gpiozero import Button
import time
input_A = Button(18)
input_B = Button(23)
old_a = True
old_b = True
def get_encoder_turn():
# return -1 (cce), 0 (no movement), or +1 (cw)
global old_a, old_b
result = 0
new_a = input_A.is_pressed
new_b = input_B.is_pressed
if new_a != old_a or new_b != old_b :
if old_a == 0 and new_a == 1 :
result = (old_b * 2 - 1)
elif old_b == 0 and new_b
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



