树莓派电子电路与游戏开发入门
1. 开关的基本原理与使用
开关在电路中起着重要作用,它可以根据位置来断开或连接电路的两部分。常见的有推压式按钮开关,按下按钮时,开关内部的导体相连,从而完成电路导通,就像门铃开关,按下时门铃电路导通发声;未按下时,开关内部触点分离,电路断开。
推荐使用如图 3 - 8 所示的微型按钮开关,它有四个引脚,每侧的引脚相互连接,封装内只有一个开关。部分开关配有可夹式按钮帽,不过这并非必需。
在将开关作为数字输入使用时,GPIO 端口需要接收数字信号,高电平为 +3.3V,低电平为 0V。不能简单地将开关连接到正电源,因为断开电源时输入会处于浮动状态,状态不可预测。正确的做法是将输入连接到正电压,未按下开关时电源为高电平;按下开关时,将引脚连接到 0V 电源使电平变低。同时,需要一个高阻值电阻(通常为几十 kΩ)连接到正电源轨以防止短路。树莓派内部有上拉电阻,可通过树莓派扩展的输入模块以“上拉”状态启用,也支持“下拉”,但更常见的是树莓派引脚先上拉,再用开关下拉。
2. 开关接入电路及代码实现
将开关接入之前的 LED 电路,开关连接到树莓派的 GPIO 端口 10(物理引脚 19)和 0V 接地引脚。接入开关后,需要在 Sprite1 的现有脚本中添加代码来检测开关按下情况,配置 GPIO 端口并检测按钮何时被按下。
新增代码在开头设置 GPIO 端口 10 为带有上拉电阻的输入。在无限循环中,使用 GPIO 模块检查开关状态。未按下开关时,内部上拉电阻使值为高电平;按下开关时,输入被拉低,传感器值为低电平。运行程序后,LED 初始状态为熄灭,按下开关时点亮,松开时熄灭。
超级会员免费看
订阅专栏 解锁全文
57

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



