在本教程中,我详细记录了怎么用树莓派控制LCD液晶显示器,即使对电路一无所知,按教程走也能完成配置。
16×2 LCD显示器很简单,不同于触摸屏或者普通的液晶显示屏,最适合用来显示短信息。
设备清单
本篇树莓派LCD教程所需的设备如下。
建议
可选
树莓派16×2液晶屏的电路
看上去这个电路的内容挺多的,但只需要把显示器和显示器之间的线正确连接起来就可以了。
电路中的电位器是控制屏幕亮度的关键。如果你没有电位器,可以尝试将其换成电阻。如果使用电阻,可以尝试使用5k和10k欧姆之间的电阻。在得到完美的电阻之前,可能需要尝试几个不同的值。
一个典型的16×2液晶显示器有16个引脚,但并不是所有的引脚都需要使用。在这个电路中,只需要使用4条数据总线线,因为只是在4位模式下使用它。
大多数16连接器的显示器使用HD44780控制器。这个控制器让显示器变得更通用,可以在多种设备上使用。例如,这个显示器我之前在Arduino的LCD教程中使用过。
LCD的引脚布局如下。
组装16×2 LCD
您会发现,大多数16×2显示器没有预焊头针。
如果没有排针的化,要用电烙铁把排针焊到LCD上,没有排针的话操作比较麻烦,焊接非常容易。
1. 首先,插好排针。
2. 将针从显示器的孔中放上去。头针的短边应向上伸出。
3. 用热烙铁和一些焊料,慢慢地焊接每个引脚。
4. 这样就成了。
连接电路
将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-)到地线。
与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脚本运行时,显示屏没有显示任何内容,那么很可能是脚本中定义的引脚有问题。仔细检查这些,也仔细检查面包板上的连接。
进一步的工作
本教程涵盖了用树莓派正确设置16×2液晶显示屏的基本知识,它还能做很多有趣的项目。
例如,可以在启动时启动一个脚本,可以显示特定的值,如IP地址,时间,温度等等。
此外,还有大量酷炫的传感器,可以尝试与显示器结合,像DS18B20温度传感器就可以和显示器配合使用,只需每隔几秒钟更新一次显示屏的新温度即可。
希望本教程对你设置树莓派LCD 16×2显示屏有所帮助。如果你发现了错误,或者遇到问题,请不要犹豫,在下面留言。
欢迎转载,请留下出处链接:Labno3 » 树莓派显示信息,详细步骤使用16×2 LCD液晶显示器