樹莓派默認是不帶顯示屏的,如果想要查看系統的一些資訊,需要使用電腦登錄到樹莓派,或者通過 HDMI 連接外接顯示幕查看,這樣做總是有點麻煩,我們可以通過外接一個 OLED 屏來顯示一些關鍵引數或者圖片,本文將詳細介紹操作方法,
OLED 模組介紹
OLED 屏主要有兩種:128×32 和 128×64 ,主要顏色是白、黃、藍,OLED 屏的特點是功耗低,價格便宜,使用 I2C 介面與主機連接,本文所使用的是 128×64 尺寸的螢屏,外形如下:

它的介面很簡單,只有 4 個 Pin 腳:VCC,GND,SDA,SCL,所以它與樹莓派的連接也很簡單,如下圖所示(本文使用樹莓派 3B):

開啟 I2C 介面
樹莓派默認是不開啟 I2C 介面的,所以我們需要手動打開它,執行以下命令:
$ sudo apt-get install -y python-smbus
$ sudo apt-get install -y i2c-tools
$ sudo raspi-config
然后按以下動圖方式開啟 I2C 功能,

安裝 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
我們會得到類似這樣的輸出:

不同的模組可能得到不同的輸出,這里我們的 I2C 地址就是 0x3C,如果你使用的是初代樹莓派(256MB的樹莓派1代B),那么需要使用下面的命令:
$ i2cdetect -y 0
使用 OLED 屏顯示影像及文字
在剛剛下載的那個庫檔案里,有一個 examples 目錄,在那個目錄里,我們可以看到以下內容:
- animate.py
- buttons.py
- image.py
- shapes.py
- stats.py
這幾個檔案我們可以直接運行,比如:
$ python3 shapes.py
這幾個檔案運行的結果如下圖示:

螢屏尺寸適配
以上的幾個示例檔案里,它們都默認你的螢屏尺寸是 128×32 ,但它們依然可以跑在 128×64 的螢屏上,如果我們想要看得更舒服一點,我們可以將尺寸進行適配,
在每個 Python 檔案里,都有下面這么一段代碼:

這里也寫得很清楚了,上下兩行代碼分別代表 128×32 和 128×64 的螢屏,使用何種尺寸的螢屏,只需將對應的代碼前面的 # 去掉即可,
公眾號:良許Linux
有識訓?希望老鐵們來個三連擊,給更多的人看到這篇文章
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/61697.html
標籤:Linux
