继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

良许Linux
关注TA
已关注
手记 218
粉丝 81
获赞 268

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


#### OLED 模组介绍


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


![](https://i.loli.net/2019/06/16/5d06423a536b413084.jpg)


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


![](https://i.loli.net/2019/06/16/5d0643443a04c80906.png)


#### 开启 I2C 接口


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


```

$ sudo apt-get install -y python-smbus

$ sudo apt-get install -y i2c-tools

$ sudo raspi-config

```


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


![](https://i.loli.net/2019/06/16/5d06453640cbd29452.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

```


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


![](https://i.loli.net/2019/06/16/5d0647733e11396644.png)


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


```

$ i2cdetect -y 0

```


#### 使用 OLED 屏显示图像及文字


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


- animate.py

- buttons.py

- image.py

- shapes.py

- stats.py


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


```

$ python3 shapes.py

```


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


![](https://i.loli.net/2019/06/16/5d0648c5a96f931880.jpg)


#### 屏幕尺寸适配


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


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


![](https://i.loli.net/2019/06/16/5d064a566495d78251.png)


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


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP