树莓派使用 OLED 屏显示图片及文字

简介: 树莓派默认是不带显示屏的,如果想要查看系统的一些信息,需要使用电脑登录到树莓派,或者通过 HDMI 连接外接显示器查看。这样做总是有点麻烦,我们可以通过外接一个 OLED 屏来显示一些关键参数或者图片。本文将详细介绍操作方法。

树莓派默认是不带显示屏的,如果想要查看系统的一些信息,需要使用电脑登录到树莓派,或者通过 HDMI 连接外接显示器查看。这样做总是有点麻烦,我们可以通过外接一个 OLED 屏来显示一些关键参数或者图片。本文将详细介绍操作方法。

OLED 模组介绍

OLED 屏主要有两种:128×32 和 128×64 ,主要颜色是白、黄、蓝。OLED 屏的特点是功耗低,价格便宜,使用 I2C 接口与主机连接。本文所使用的是 128×64 尺寸的屏幕,外形如下:

微信图片_20220413175933.jpg

它的接口很简单,只有 4 个 Pin 脚:VCC,GND,SDA,SCL,所以它与树莓派的连接也很简单,如下图所示(本文使用树莓派 3B):

微信图片_20220413175936.jpg

开启 I2C 接口

树莓派默认是不开启 I2C 接口的,所以我们需要手动打开它。执行以下命令:

$ sudo apt-get install -y python-smbus
$ sudo apt-get install -y i2c-tools
$ sudo raspi-config

然后按下动图方式开启 I2C 功能。

微信图片_20220413175943.gif

安装 OLED 屏的 Python 库

为了在 OLED 屏上显示文字或图像,我们需要使用到 Adafruit 的 Python 库,这个库支持所有的 SSD1306 相关的显示屏,包括 128×32 和 128×64 屏幕。

首先我们需要下载这个库:

$ git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git

然后进入到目录,再进行安装:

$ cd Adafruit_Python_SSD1306
$ sudo python3 setup.py install    # 如果使用 Python2 ,则使用对应命令

找到 OLED 模组地址

安装好 Python 库之后,我们可以使用 i2cdetect 命令来找到 OLED 屏的物理地址:

$ i2cdetect -y 1

我们会得到类似这样的输出:

微信图片_20220413175950.png

不同的模组可能得到不同的输出。这里我们的 I2C 地址就是 0x3C。如果你使用的是初代树莓派(256MB的树莓派1代B),那么需要使用下面的命令:

$ i2cdetect -y 0

使用 OLED 屏显示图像及文字

在刚刚下载的那个库文件里,有一个 examples 目录,在那个目录里,我们可以看到以下内容:

  • animate.py
  • buttons.py
  • image.py
  • shapes.py
  • stats.py

这几个文件我们可以直接运行,比如:

$ python3 shapes.py

这几个文件运行的结果如下图示:

微信图片_20220413175957.jpg

屏幕尺寸适配

以上的几个示例文件里,它们都默认你的屏幕尺寸是 128×32 ,但它们依然可以跑在 128×64 的屏幕上。如果我们想要看得更舒服一点,我们可以将尺寸进行适配。

在每个 Python 文件里,都有下面这么一段代码:

微信图片_20220413180109.png

这里也写得很清楚了,上下两行代码分别代表 128×32 和 128×64 的屏幕,使用何种尺寸的屏幕,只需将对应的代码前面的 # 去掉即可。

目录
相关文章
|
传感器 Shell 数据处理
一起玩转树莓派(11)——使用LCD屏(一)
一起玩转树莓派(11)——使用LCD屏
738 0
一起玩转树莓派(11)——使用LCD屏(一)
|
3天前
点阵式汉字LED显示屏的原理与制作
点阵式汉字LED显示屏的原理与制作
12 2
|
5月前
|
Linux
GEC6818开发板触摸屏---点击屏幕获取触摸屏坐标
GEC6818开发板触摸屏---点击屏幕获取触摸屏坐标
|
6月前
|
内存技术
基于Micropython利用ESP32-C3驱动墨水屏显示图片
基于Micropython利用ESP32-C3驱动墨水屏显示图片
355 0
|
11月前
|
计算机视觉 Python
在Tkinter中显示摄像头画面
在Tkinter中显示摄像头画面,我们可以使用OpenCV库。首先,确保已经安装了OpenCV库。然后,可以按照以下步骤实现:
490 7
|
小程序
如何让你的小游戏适配不同尺寸的手机屏幕
本文主要内容:教你如何对游戏中的 UI,背景以及内容进行不同尺寸屏幕的适配,让你的小游戏在各种尺寸的屏幕上,都展示出最好的一面。 如果你没有任何的游戏开发经验,欢迎观看我的“人人都能做游戏”系列视频教程,它会手把手的教你做出自己的第一个小游戏。
446 0
|
数据格式
基于uFUN开发板的RGB调色器
基于uFUN开发板的RGB调色器
123 0
基于uFUN开发板的RGB调色器