Raspberry Pi 是基于ARM体系结构处理器的主板,专为电子工程师和业余爱好者设计。PI是目前最受信任的项目开发平台之一。PI具有更高的处理器速度和1 GB RAM,可用于许多高端项目,例如图像处理和物联网。
对于执行任何重要项目,都需要了解PI的基本功能。这就是我们在这里的原因,我们将在这些教程中介绍Raspberry Pi的所有基本功能。在每个教程系列中,我们将讨论PI的功能之一。到本系列教程结束时,您将可以自己进行高端项目。检查这些内容以了解Raspberry Pi入门和Raspberry Pi配置。
在PI和用户之间建立通信对于在PI上设计项目非常重要。为了进行通信,PI必须从用户那里获取输入。在PI系列的第二篇教程中,我们将为Raspberry Pi界面连接一个按钮,以从用户那里获取输入。
在这里,我们将一个按钮连接到Raspberry Pi的一个GPIO引脚,将一个LED连接到另一个GPIO引脚。我们将在PYTHON中编写一个程序,在用户按下按钮时使LED连续闪烁。通过打开和关闭GPIO,LED将闪烁。
在进行编程之前,让我们先谈谈LINUX和PYHTON。
LINUX:
LINUX是Windows之类的操作系统。它执行Windows OS可以执行的所有基本功能。它们之间的主要区别是,Linux是开源软件,而Windows不是。它的基本含义是,Linux是免费的,而Windows不是。可以免费下载和操作Linux OS,但是要下载正版Windows OS,则需要付费。
它们之间的另一个主要区别是可以通过对代码进行“修改”来“修改” Linux OS,但是无法修改Windows OS,这样做会导致法律上的麻烦。因此,任何人都可以使用Linux操作系统,并可以对其进行修改以创建自己的操作系统。但是我们无法在Windows中执行此操作,因为Windows OS具有限制,阻止您编辑OS。
在这里我们谈论Linux是因为JESSIE LITE(Raspberry Pi OS)是基于LINUX的OS,我们已经在Raspberry Pi简介部分中安装了它。PI OS是基于LINUX生成的,因此我们必须对LINUX操作命令有所了解。我们将在以下教程中讨论这些Linux命令。
蟒蛇:
与LINUX不同,PYTHON是一种编程语言,例如C,C ++和JAVA等。这些语言用于开发应用程序。请记住,编程语言在操作系统上运行。没有操作系统,您将无法运行编程语言。因此,OS是独立的,而编程语言是依赖的。您可以在Linux和Windows上运行PYTHON,C,C ++和JAVA。
这些编程语言开发的应用程序可以是游戏,浏览器,应用程序等。我们将在PI上使用编程语言PYTHON来设计项目和操纵GPIO。
在继续之前,我们将讨论一些关于PI GPIO的问题,
GPIO引脚:
如上图所示,PI有40个输出引脚。但是,当您查看第二个图时,您会发现并非所有40引脚输出都可以编程为我们所用。这些只有26个GPIO引脚可以编程。这些引脚从 GPIO2到GPIO27。
这 26个GPIO引脚可被编程 为每个需要。这些引脚中的一些还执行某些特殊功能,我们将在后面讨论。保留特殊的GPIO,我们剩下17个GPIO(浅绿色Cirl)。
这17个GPIO引脚中的每个引脚均可提供最大 15mA的电流。所有GPIO的电流总和不能超过50mA。因此,我们从这些GPIO引脚中的每个引脚平均平均可吸收的最大电流为3mA。因此,除非您知道自己在做什么,否则不要篡改这些事情。
所需组件:
在这里,我们使用 带有Raspbian Jessie OS的Raspberry Pi 2 ModelB。前面已经讨论了所有基本的硬件和软件要求,您可以在Raspberry Pi简介中查找它,而不需要我们:
- 连接销
- 220Ω或1KΩ电阻
- LED
- 纽扣
- 面包板
电路说明:
如电路图所示,我们将连接一个LED到PIN35(GPIO19)和一个按钮到PIN37(GPIO26)。如前所述,我们从这些引脚中的任何一个引脚汲取的电流不能超过15mA,因此为了限制电流,我们在LED上串联了一个220Ω或1KΩ的电阻器。
工作说明:
连接完所有组件后,我们可以打开Raspberry Pi,以用PYHTON编写程序并执行它。(要了解如何使用PYTHON,请转到PI BLINKY)。
我们将讨论将在PYHTON程序中使用的一些命令。
我们将从库中导入GPIO文件,以下功能使我们能够对PI的GPIO引脚进行编程。我们还将“ GPIO”重命名为“ IO”,因此在程序中,每当要引用GPIO引脚时,我们都将使用“ IO”一词。
导入RPi.GPIO作为IO
有时,当我们尝试使用的GPIO引脚可能正在执行其他一些功能时。在这种情况下,我们将在执行程序时收到警告。下面的命令告诉PI忽略警告并继续执行程序。
IO.setwarnings(False)
我们可以通过板上的引脚编号或功能编号来引用PI的GPIO引脚。在引脚图中,您可以看到板上的“ PIN 37”是“ GPIO26”。因此,在这里告诉我们我们将在此处用“ 37”或“ 26”表示图钉。
IO.setmode(IO.BCM)
我们将GPIO26(或PIN37)设置为输入引脚。我们将检测到此引脚按下按钮。
IO.setup(26,IO.IN)
而1: 用于无限循环。使用此命令,该循环内的语句将连续执行。
一旦执行了程序,只要按下该按钮,连接到GPIO19(PIN35)的LED就会闪烁。释放LED后,它将再次进入OFF状态。