如何使用树莓派的GPIO引脚创建开关电路

电子说

1.3w人已加入

描述

步骤1:您需要做什么

-已安装Raspbian的 RaspberryPi 。您还需要能够使用监视器,鼠标和键盘或通过远程桌面访问树莓派。您可以使用任何型号的Raspberry Pi。如果您使用的是Pi Zero模型之一,则可能需要将一些接头引脚焊接到GPIO端口。

-红色LED

-3 x触动按钮开关

-无焊原型电路板

-4 x 330欧姆电阻器

-3 x 1 Kohm电阻器

-某些公对母跳线

第2步:构建电路

gpio引脚

gpio引脚

在面包板上构建上述电路,确保没有

如果仔细观察一下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:

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分