Raspberry Pi 是基于ARM体系结构处理器的主板,专为电子工程师和业余爱好者设计。PI是目前最受信任的项目开发平台之一。PI具有更高的处理器速度和1 GB RAM,可用于许多知名项目,例如图像处理和IoT。
对于执行任何重要项目,都需要了解PI的基本功能。 在这些教程中,我们将介绍Raspberry Pi的所有 基本功能。在每个教程中,我们将讨论PI的功能之一。在本“ Raspberry Pi教程系列”结束时,您将可以自己进行知名的项目。请阅读以下教程:
- Raspberry Pi入门
- Raspberry Pi配置
- LED闪烁
- 按钮接口
- PWM产生
- 控制直流电动机
- 步进电机控制
- 接口移位寄存器
- Raspberry Pi ADC教程
- 伺服电机控制
- 电容式触摸板
在本教程中,我们将使用Raspberry Pi控制16x2 LCD显示器。我们将LCD连接到PI的GPIO(通用输入输出)引脚以在其上显示字符。我们将在PYTHON中编写一个程序,以通过GPIO向LCD发送适当的命令,并在其屏幕上显示所需的字符。该屏幕将方便显示传感器值,中断状态以及显示时间。
市场上有不同类型的LCD。图形LCD比16x2 LCD更复杂。因此,这里我们要使用16x2 LCD显示屏,如果需要,您甚至可以使用16x1 LCD。16×2 LCD具有总共32个字符,16 1条第一线和另一条16在2次线。JHD162是16x2 LCD模块字符LCD。我们已经将16x2 LCD与8051,AVR,Arduino等接口了。您可以通过以下链接找到我们所有与16x2 LCD相关的项目。
在继续之前,我们将讨论有关PI GPIO的内容。
Raspberry Pi 2中有 40个GPIO输出引脚。但是在40个引脚中,只能编程26个GPIO引脚(GPIO2至GPIO27)。其中一些引脚执行某些特殊功能。保留特殊的GPIO,我们还有17个GPIO。
板上有+ 5V(引脚2或4)和+ 3.3V(引脚1或17)电源输出引脚,用于连接其他模块和传感器。我们将通过+ 5V电源为16 * 2 LCD供电。我们可以将+ 3.3v的控制信号发送到LCD,但要使LCD工作,我们需要以+ 5V为其供电。LCD无法在+ 3.3V电压下工作。
要了解有关GPIO引脚及其电流输出的更多信息,请执行以下操作:Raspberry Pi的LED闪烁
所需组件:
在这里,我们使用 带有Raspbian Jessie OS的Raspberry Pi 2 ModelB。前面已经讨论了所有基本的硬件和软件要求,您可以在Raspberry Pi简介中查找它,而不需要我们:
- 连接销
- 16 * 2 LCD模块
- 1KΩ电阻器(2个)
- 10K锅
- 1000µF电容器
- 面包板
电路及工作说明:
如电路图所示,通过将PI的10个GPIO引脚连接到16 * 2 LCD的控制和数据传输引脚,我们将Raspberry Pi与LCD显示器连接起来。我们将GPIO引脚21、20、16、12、25、24、23和18用作BYTE,并创建了“ PORT”功能以将数据发送到LCD。此处GPIO 21为LSB(最低有效位),而GPIO18为MSB(最高有效位)。
16x2 LCD模块具有16个引脚,可分为五类:电源引脚,对比引脚,控制引脚,数据引脚和背光引脚。这是有关它们的简要说明:
类别 |
销号 |
引脚名称 |
功能 |
电源引脚 |
1个 |
VSS |
接地引脚,接地 |
2 |
VDD或Vcc |
电压引脚+ 5V |
|
对比针 |
3 |
V0或VEE |
对比度设置,通过可变电阻器连接到Vcc。 |
控制销 |
4 |
RS |
寄存器选择引脚,RS = 0命令模式, RS = 1数据模式 |
5 |
读写器 |
读/写引脚,RW = 0写入模式, RW = 1读取模式 |
|
6 |
Ë |
启用,从高到低脉冲需要启用LCD |
|
数据引脚 |
7-14 |
D0-D7 |
数据引脚,存储要在LCD上显示的数据或命令指令 |
背光针 |
15 |
LED +或A |
为背光+ 5V供电 |
16 |
LED或K |
背光地 |
我们强烈建议您只阅读本文,以了解LCD的Pins和Hex命令。
我们将简要讨论将数据发送到LCD的过程:
1. E设置为高(使能模块),RS设置为低(告诉LCD我们正在给出命令)
2.将值0x01赋予数据端口作为清除屏幕的命令。
3. E设置为高(启用模块),RS设置为高(告诉LCD我们正在提供数据)
4.需要显示字符的ASCII码。
5. E设置为低(告诉LCD我们已经完成发送数据)
6.一旦该E引脚变为低电平,LCD就会处理接收到的数据并显示相应的结果。因此,该引脚在发送数据之前设置为高电平,并在发送数据之后下拉至地。
如前所述,我们将一个接一个地发送字符。在给出字符由ASCII码LCD(美国标准信息交换码)。ASCII码表如下所示。例如,要显示字符“ @”,我们需要发送一个十六进制代码“ 40”。如果我们给LCD赋值0x73,它将显示“ s”。这样,我们将向LCD发送适当的代码以显示字符串“ CIRCUITDIGEST ”。
编程说明:
一旦按照电路图连接了所有组件,我们就可以打开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)
我们将10个GPIO引脚设置为LCD的数据和控制引脚的输出引脚。
IO.setup(6,IO.OUT)IO.setup(22,IO.OUT)IO.setup(21,IO.OUT)IO.setup(20,IO.OUT)IO.setup(16,IO.OUT) IO.setup(12,IO.OUT)IO.setup(25,IO.OUT)IO.setup(24,IO.OUT)IO.setup(23,IO.OUT)IO.setup(18,IO.OUT)
1: 命令用作永久循环,而使用此命令,该循环内的语句将连续执行。
其他所有功能和命令已在“代码”部分的“注释”帮助下进行了说明。
编写并执行程序后,Raspberry Pi会将字符一一发送到LCD,然后LCD在屏幕上显示字符。