Raspberry Pi 是基于ARM体系结构处理器的主板,专为电子工程师和业余爱好者设计。PI是目前最受信任的项目开发平台之一。PI具有更高的处理器速度和1 GB RAM,可用于许多知名项目,例如图像处理和IoT。
对于执行任何重要项目,都需要了解PI的基本功能。 在这些教程中,我们将介绍Raspberry Pi的所有 基本功能。在每个教程中,我们将讨论PI的功能之一。在本Raspberry Pi教程系列结束时,您将能够学习Raspberry Pi并自己编写出色的项目。请阅读以下教程:
- Raspberry Pi入门
- Raspberry Pi配置
- LED闪烁
- 按钮接口
- Raspberry Pi PWM生成
- 与Raspberry Pi的LCD接口
- 控制直流电动机
- 步进电机控制
- 接口移位寄存器
- Raspberry Pi ADC教程
- 伺服电机控制
- 电容式触摸板
在本教程中,我们将进行Raspberry Pi 7段显示接口。七段显示器是人机界面上最便宜的。可以将这些分段中的几个分段堆叠在一起以显示温度,计数器值等。我们将把7个分段显示单元连接到PI的GPIO,并控制它们相应地显示数字。之后,我们将在PYTHON中编写一个程序,以七段显示的形式从0-9计数并重置为零。
七段显示:
7段显示器有不同的类型和大小。我们在这里详细介绍了七个细分市场。基本上有7段的两种类型,共阳极类型(共正极或共VCC)和共阴极类型(共负极或共地)。
公共阳极(CA): 在此,所有8个LED的所有负端子(阴极)都连接在一起(请参见下图),称为COM。并且所有正极端子均不使用。
共阴极(CC): 在这种情况下,所有8个LED的所有正极(阳极)都连接在一起,称为COM。并且所有负热效应都被忽略了。
这些CC和CA七段显示非常方便,同时将多个单元格复用在一起。在我们的教程中,我们将使用CC或Common Cathode七段式显示器。
我们已经将7段与8051,Arduino和AVR接口了。我们在许多项目中也使用了7段显示。
在继续之前,我们将讨论有关Raspberry Pi GPIO的内容,
Raspberry Pi 2中有 40个GPIO输出引脚。但是在40个引脚中,只能编程26个GPIO引脚(GPIO2至GPIO27),请参见下图。其中一些引脚执行某些特殊功能。保留特殊的GPIO,我们还有17个GPIO。
GPIO(引脚1或17)+ 3.3V信号足以驱动7段显示器。为了提供电流限制,我们将在每个段中使用1KΩ电阻,如电路图所示。
要了解有关GPIO引脚及其电流输出的更多信息,请执行以下操作:Raspberry Pi的LED闪烁
所需组件:
在这里,我们使用 带有Raspbian Jessie OS的Raspberry Pi 2 ModelB。前面已经讨论了所有基本的硬件和软件要求,您可以在Raspberry Pi简介中查找它,而不需要我们:
- 连接销
- 共阴极7段显示器(LT543)
- 1KΩ电阻器(8个)
- 面包板
电路及工作说明:
下面给出了将7段显示器连接到Raspberry Pi的连接。我们在这里使用了共阴极7段:
PIN1或e ------------------ GPIO21
PIN2或d ------------------ GPIO20
PIN4或c ------------------ GPIO16
PIN5或h或DP ---------- GPIO 12 //由于我们不使用小数点,因此不是必填项
PIN6或b ------------------ GPIO6
PIN7或------------------ GPIO13
PIN9或f ------------------ GPIO19
PIN10或g ---------------- GPIO26
PIN3或PIN8 -------------接地
因此,我们将使用PI的8个GPIO引脚作为8位PORT。此处,GPIO13为LSB(最低有效位),而GPIO 12为MSB(最高有效位)。
现在,如果要显示数字“ 1”,则需要为B和C段加电。要为B和C段供电,我们需要为GPIO6和GPIO16供电。因此,“ PORT”功能的字节为0b00000110,而“ PORT”的十六进制值为0x06。当两个引脚都为高电平时,显示为“ 1”。
我们已经编写了要显示的每个数字的值,并将这些值存储在名为“ DISPLAY”的字符串中(请检查下面的代码部分)。然后,我们使用“ PORT”功能将这些值一一调用,以在显示屏上显示相应的数字。
编程说明:
一旦按照电路图连接了所有组件,我们就可以打开PI并将程序写入PYHTON中。
我们将讨论将在PYHTON程序中使用的一些命令,
我们将从库中导入GPIO文件,以下功能使我们能够对PI的GPIO引脚进行编程。我们还将“ GPIO”重命名为“ IO”,因此在程序中,每当要引用GPIO引脚时,我们都将使用“ IO”一词。
导入RPi.GPIO作为IO
有时,当我们尝试使用的GPIO引脚可能正在执行其他一些功能时。在这种情况下,我们将在执行程序时收到警告。下面的命令告诉PI忽略警告并继续执行程序。
IO.setwarnings(False)
我们可以通过板上的引脚编号或功能编号来引用PI的GPIO引脚。像板上的“ PIN 29”一样,是“ GPIO5”。因此,我们在这里告诉我们将在此处用“ 29”或“ 5”表示图钉。
IO.setmode(IO.BCM)
我们将8个GPIO引脚设置为LCD的数据和控制引脚的输出引脚。
IO.setup(13,IO.OUT)IO.setup(6,IO.OUT)IO.setup(16,IO.OUT)IO.setup(20,IO.OUT)IO.setup(21,IO.OUT) IO.setup(19,IO.OUT)IO.setup(26,IO.OUT)IO.setup(12,IO.OUT)
如果大括号中的条件为true,则循环内的语句将执行一次。因此,如果8位“引脚”的bit0为true,则PIN13将为高电平,否则PIN13将为低电平。对于bit0到bit7,我们有8个“否则”条件,因此可以将7段显示内的相应LED设为高电平或低电平,以显示相应的数字。
if(pin&0x01 == 0x01):IO.output(13,1)否则:IO.output(13,0)
该命令执行循环10次,x从0递增到9。
对于x范围(10):
下面的命令用作永远循环,使用此命令,该循环内的语句将连续执行。
虽然1:
其他所有功能和命令已在“代码”部分的“注释”帮助下进行了说明。
编写程序并执行之后,Raspberry Pi触发相应的GPIO在7 Segment Display上显示数字。编写程序以使显示从0-9连续计数。