25、树莓派数字输入设备使用指南

树莓派数字输入设备使用指南

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值