电子说
步骤1:您需要做什么
-已安装Raspbian的 RaspberryPi 。您还需要能够使用监视器,鼠标和键盘或通过远程桌面访问树莓派。您可以使用任何型号的Raspberry Pi。如果您使用的是Pi Zero模型之一,则可能需要将一些接头引脚焊接到GPIO端口。
-红色LED
-3 x触动按钮开关
-无焊原型电路板
-4 x 330欧姆电阻器
-3 x 1 Kohm电阻器
-某些公对母跳线
第2步:构建电路
在面包板上构建上述电路,确保没有
如果仔细观察一下LED,就会发现在彩色外壳内有两小块金属。这些被称为阳极和阴极。阴极是两者中最大的阴极,也连接到LED的负极引线。
确保正确连接交换机。如果仔细看一下交换机,您会发现交换机的任一侧都安装了两个支脚。当开关处于打开位置(即未按下)时,两侧之间的电路将断开。当开关处于关闭位置(即按下)时,两侧之间的电路将完成。
检查完电路后,请按照上图连接Raspberry Pi的GPIO引脚的跨接电缆。
第3步:创建一个Python脚本来响应按钮的按下
打开 IDLE 您的Raspberry Pi(菜单》编程》 Python 2(IDLE))。
现在打开一个新项目(文件》新建文件)并键入以下内容:
import RPi.GPIO as GPIO
import time
SwitchA=17
SwitchB=18
SwitchC=27
LED=22
GPIO.setmode(GPIO.BCM)
GPIO.setup(SwitchA, GPIO.IN)
GPIO.setup(SwitchB, GPIO.IN)
GPIO.setup(SwitchC, GPIO.IN)
GPIO.setup(LED, GPIO.OUT)
while True:
if GPIO.input(SwitchA)==True:
print(“You are pressing button A”)
if GPIO.input(SwitchB)==True:
print(“You are pressing button B”)
GPIO.output(LED, True)
if GPIO.input(SwitchC)==True:
print(“You are pressing button C”)
GPIO.output(LED, False)
在Raspberry Pi的“文档”文件夹中将项目另存为 buttons.py (文件》另存为)。
在Raspberry Pi上,打开“终端”(菜单》附件》终端),然后导航至通过键入以下内容来打开“文档”文件夹:
cd /home/pi/Documents
现在,您可以通过键入以下内容来运行新脚本:
python buttons.py
当您按下第一个按钮,消息“您正在按按钮A”将在屏幕上重复显示,直到您停止按按钮为止。
当您按下第二个按钮时,类似的消息也会出现在屏幕上,并且LED也会亮起。
当您按下第三个按钮时,将出现类似的消息,并且LED会熄灭。
您可以通过按CTRL + Z停止运行该程序。
脚本的工作方式
第11-13行使用 GPIO.setup 将GPIO引脚设置为输入引脚。命令:
GPIO.setup(SwitchA, GPIO.IN)
然后脚本使用 GPIO.input 命令来检测引脚为True(即,连接+ 3.3v电源时)还是False。 (即,当引脚接地时):
if GPIO.input(SwitchA)==True:
为确保Raspberry Pi不断检查引脚的状态,脚本还使用了 While循环重复运行脚本的同一部分:
while True:
while 命令通常后跟一个条件(例如x == 1)和一个冒号( “”)。该命令之后的任何缩进代码都将重复执行,直到不再满足该条件为止。但是,在上面的脚本中,我们只写了 True 而不是条件。这将确保脚本可以连续运行,直到按下CTRL + Z或Raspberry Pi掉电为止。
通过将第17行更改为包含以下条件语句,该脚本将在按下第三个按钮时停止循环:
while GPIO.input(SwitchC)==False:
全部0条评论
快来发表一下你的评论吧 !