树莓派显示信息,详细步骤使用16×2 LCD液晶显示器

在本教程中,我详细记录了怎么用树莓派控制LCD液晶显示器,即使对电路一无所知,按教程走也能完成配置。

Raspberry-Pi-LCD-16x2-1.jpg

16×2 LCD显示器很简单,不同于触摸屏或者普通的液晶显示屏,最适合用来显示短信息。

设备清单

本篇树莓派LCD教程所需的设备如下。

建议

可选

树莓派16×2液晶屏的电路

看上去这个电路的内容挺多的,但只需要把显示器和显示器之间的线正确连接起来就可以了。

电路中的电位器是控制屏幕亮度的关键。如果你没有电位器,可以尝试将其换成电阻。如果使用电阻,可以尝试使用5k和10k欧姆之间的电阻。在得到完美的电阻之前,可能需要尝试几个不同的值。

一个典型的16×2液晶显示器有16个引脚,但并不是所有的引脚都需要使用。在这个电路中,只需要使用4条数据总线线,因为只是在4位模式下使用它。

大多数16连接器的显示器使用HD44780控制器。这个控制器让显示器变得更通用,可以在多种设备上使用。例如,这个显示器我之前在Arduino的LCD教程中使用过。

LCD的引脚布局如下。

lcd-display-datasheet-part-1.png

组装16×2 LCD

您会发现,大多数16×2显示器没有预焊头针。

如果没有排针的化,要用电烙铁把排针焊到LCD上,没有排针的话操作比较麻烦,焊接非常容易。

1. 首先,插好排针。

2. 将针从显示器的孔中放上去。头针的短边应向上伸出。

3. 用热烙铁和一些焊料,慢慢地焊接每个引脚。

4. 这样就成了。

LCD-16x2-Display-Solder.jpg

连接电路

将16×2的液晶显示器连接到树莓派上非常简单,虽然会有不少电线要连接起来,但并没有什么太复杂的地方。

在开始组装电路之前,有一件事是应该注意的。 由于我不想让5v的电压反馈到Pi上(Pi的GPIO引脚的额定电压为3v3),需要让LCD的读/写引脚接地。

在下面的步骤中,引脚的物理/逻辑编号在括号中,否则就是GPIO编号。

1. 将5v(引脚2)的导线放到面包板的正极轨上。

2. 将一根导线从地线(第6针)到面包板上的地线。

3. 将16×2显示屏放到面包板上。

4. 将电位器放到面包板上。

5. 将正极和地极引脚连接到面包板上的相关导轨上。

从液晶显示屏的1号引脚开始做以下工作,或者直接参考下面的电路图。屏幕的1号引脚是最靠近电路板两个边缘的引脚。

1. 引脚1(Ground)去往地轨。

2. 引脚2(VCC/5V)接正极。

3. 第3脚(V0)走到电位器的中间线。

4. 引脚4(RS)进入GPIO25(引脚22)。

5. 引脚5(RW)到地轨。

6. 引脚6(EN)进入GPIO24(引脚18)

7. 引脚11(D4)连接到GPIO23(引脚16)。

8. 引脚12(D5)到GPIO17(引脚11)。

9. 13脚(D6)到GPIO18(12脚)

10. 引脚14(D7)至GPIO22(引脚15)

11. 引脚15(LED +)进入正极。

12. 引脚16(LED-)到地线。

Raspberry-Pi-LCD-16x2-Circuit-Diagram-v1.png

与16×2显示器通信的代码

在最新版本的Raspbian上,所有与GPIO设备通信所需的软件包都已预装。你也应该发现已经安装了python。

如果你的是旧版本的Raspbian,可能值得查看更多关于设置Pi使用GPIO的信息。

对Python有基本的了解会让你的生活轻松很多,话虽如此,本教程在没有任何Python经验的情况下应该是可以的。

所需要的库

在这个例子中,我会安装并使用Adafruit的库。它是为Adafruit LCD板设计的,但也可以与其他品牌的板子一起工作。如果你的显示板使用的是HD44780控制器,那么它作应该没有任何问题。

首先,运行下面的命令将所需的git目录克隆到Raspberry Pi上。

git clone https://github.com/pimylifeup/Adafruit_Python_CharLCD.git

接下来换到刚才克隆的目录中,运行设置文件。

cd ./Adafruit_Python_CharLCD
sudo python setup.py install

一旦安装完成,就可以在Pi上的Python脚本中调用Adafruit库。在Python脚本的顶部添加以下一行,就可以引入该库。然后就可以初始化电路板并对其进行操作。

import Adafruit_CharLCD as LCD

与显示器通信

Adafruit提供的库与Raspberry Pi LCD 16×2显示器的通信非常简单。编写Python脚本来设置和改变显示屏变得非常容易。

在刚刚下载的文件夹中,有一些关于如何使用LCD库的例子。在运行这些例子之前,要更新文件顶部的引脚变量。如果按照我的电路操作,下面的值就是正确的。

lcd_rs        = 25 
lcd_en        = 24
lcd_d4        = 23
lcd_d5        = 17
lcd_d6        = 18
lcd_d7        = 22
lcd_backlight = 4
lcd_columns = 16
lcd_rows = 2

如果你想查看其中一个例子,可以进入examples中,查看这些文件

cd ~/Adafruit_Python_CharLCD/examples/
sudo nano char_lcd.py

在这里更新引脚配置值到上面列出的那些。完成后,按CTRL + X然后按Y键退出即可。

现在运行这段代码。

python char_lcd.py

函数和Python代码

现在了解使用Python与屏幕交互的方法。

要初始化引脚,需要调用以下类。在调用该类之前,请确保所有作为参数传递的变量都被定义。

lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight)

一旦完成了这些工作,就可以将显示效果改成需要的样子。快速介绍一些用Adafruit库的方法。

home() – 这个方法将把光标移回原点,也就是第一行的第一列。

clear() – 这个方法可以清除LCD,使其完全空白。

set_cursor(col, row) – 本方法将光标移动到一个特定的位置。你可以通过传递列号和行号作为参数来指定位置。例如:set_cursor(1,4)

enable_display(enable) – 此项用于启用或禁用显示器。将其设置为 true 即可启用。

show_cursor(show) – 显示或隐藏光标。如果你想显示光标,请将其设置为true。

blink(blink) – 打开或关闭闪烁的光标。如果您想让光标闪烁,请再次将其设置为true。

move_left()或 move_right() – 将光标向左或向右移动一个位置。

set_right_to_left()或set_left_to_right()-设置光标的方向为从左到右或从右到左。

autoscroll(autoscroll) – 如果将autoscroll设置为true,那么文本将从光标处右对齐。如果设置为false,则文本将左对齐。

message(text) – 简单地将文本写到显示屏上。你也可以在信息中加入新的行数(\n)。

还有一些可用的方法,但你不太可能需要使用它们。如果你想找到所有可用的方法,只要打开Adafruit_CharLCD文件夹内的Ardafruit_CharLCD.py文件即可,这个文件可以在Adafruit_Python_CharLCD文件夹内找到。

sudo nano ~/Adafruit_Python_CharLCD/Adafruit_CharLCD/Ardafruit_CharLCD.py

下面是我整理的一个简单的脚本,允许用户输入文字,然后显示在屏幕上。

#!/usr/bin/python
# Example using a character LCD connected to a Raspberry Pi
import time
import Adafruit_CharLCD as LCD

# Raspberry Pi pin setup
lcd_rs = 25
lcd_en = 24
lcd_d4 = 23
lcd_d5 = 17
lcd_d6 = 18
lcd_d7 = 22
lcd_backlight = 2

# Define LCD column and row size for 16x2 LCD.
lcd_columns = 16
lcd_rows = 2

lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight)

lcd.message('Hello\nworld!')
# Wait 5 seconds

time.sleep(5.0)
lcd.clear()
text = raw_input("Type Something to be displayed: ")
lcd.message(text)

# Wait 5 seconds
time.sleep(5.0)
lcd.clear()
lcd.message('Goodbye\nWorld!')

time.sleep(5.0)
lcd.clear()

如果python脚本运行时,显示屏没有显示任何内容,那么很可能是脚本中定义的引脚有问题。仔细检查这些,也仔细检查面包板上的连接。

16x2-display-setup.jpg

进一步的工作

本教程涵盖了用树莓派正确设置16×2液晶显示屏的基本知识,它还能做很多有趣的项目。

例如,可以在启动时启动一个脚本,可以显示特定的值,如IP地址,时间,温度等等。

此外,还有大量酷炫的传感器,可以尝试与显示器结合,像DS18B20温度传感器就可以和显示器配合使用,只需每隔几秒钟更新一次显示屏的新温度即可。

希望本教程对你设置树莓派LCD 16×2显示屏有所帮助。如果你发现了错误,或者遇到问题,请不要犹豫,在下面留言。

平均: 0 / 5. votes: 0

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » 树莓派显示信息,详细步骤使用16×2 LCD液晶显示器

赞 (1)

评论

2+8=