樹莓派預設是不帶顯示屏的,如果想要查看系統的一些信息,需要使用電腦登錄到樹莓派,或者通過 HDMI 連接外接顯示器查看。這樣做總是有點麻煩,我們可以通過外接一個 OLED 屏來顯示一些關鍵參數或者圖片。本文將詳細介紹操作方法。 OLED 模組介紹 OLED 屏主要有兩種:128×32 和 128×6 ...
樹莓派預設是不帶顯示屏的,如果想要查看系統的一些信息,需要使用電腦登錄到樹莓派,或者通過 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