樹莓派使用 OLED 屏顯示圖片及文字
阿新 • • 發佈:2020-06-05
樹莓派預設是不帶顯示屏的,如果想要檢視系統的一些資訊,需要使用電腦登入到樹莓派,或者通過 HDMI 連線外接顯示器檢視。這樣做總是有點麻煩,我們可以通過外接一個 OLED 屏來顯示一些關鍵引數或者圖片。本文將詳細介紹操作方法。
#### OLED 模組介紹
OLED 屏主要有兩種:128×32 和 128×64 ,主要顏色是白、黃、藍。OLED 屏的特點是功耗低,價格便宜,使用 I2C 介面與主機連線。本文所使用的是 128×64 尺寸的螢幕,外形如下:
![](https://img2020.cnblogs.com/other/1218435/202006/1218435-20200605190537557-1203613423.jpg)
它的介面很簡單,只有 4 個 Pin 腳:VCC,GND,SDA,SCL,所以它與樹莓派的連線也很簡單,如下圖所示(本文使用樹莓派 3B):
![](https://img2020.cnblogs.com/other/1218435/202006/1218435-20200605190537867-1976413757.png)
#### 開啟 I2C 介面
樹莓派預設是不開啟 I2C 介面的,所以我們需要手動開啟它。執行以下命令:
```
$ sudo apt-get install -y python-smbus
$ sudo apt-get install -y i2c-tools
$ sudo raspi-config
```
然後按以下動圖方式開啟 I2C 功能。
![](https://img2020.cnblogs.com/other/1218435/202006/1218435-20200605190538146-664718117.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://img2020.cnblogs.com/other/1218435/202006/1218435-20200605190538371-2139304888.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://img2020.cnblogs.com/other/1218435/202006/1218435-20200605190538619-1327352254.jpg)
#### 螢幕尺寸適配
以上的幾個示例檔案裡,它們都預設你的螢幕尺寸是 128×32 ,但它們依然可以跑在 128×64 的螢幕上。如果我們想要看得更舒服一點,我們可以將尺寸進行適配。
在每個 Python 檔案裡,都有下面這麼一段程式碼:
![](https://img2020.cnblogs.com/other/1218435/202006/1218435-20200605190538861-1348381854.png)
這裡也寫得很清楚了,上下兩行程式碼分別代表 128×32 和 128×64 的螢幕,使用何種尺寸的螢幕,只需將對應的程式碼前面的 `#` 去掉即可。
---
公眾號:良許Linux
### 有收穫?希望老鐵們來個三連擊,給更多的人看到這篇文章