樹莓派默認(rèn)是不帶顯示屏的,如果想要查看系統(tǒng)的一些信息,需要使用電腦登錄到樹莓派,或者通過 HDMI 連接外接顯示器查看。這樣做總是有點(diǎn)麻煩堤器,我們可以通過外接一個(gè) OLED 屏來顯示一些關(guān)鍵參數(shù)或者圖片。本文將詳細(xì)介紹操作方法。
OLED 模組介紹
OLED 屏主要有兩種:128×32 和 128×64 ,主要顏色是白凰荚、黃燃观、藍(lán)褒脯。OLED 屏的特點(diǎn)是功耗低,價(jià)格便宜缆毁,使用 I2C 接口與主機(jī)連接番川。本文所使用的是 128×64 尺寸的屏幕,外形如下:
它的接口很簡單脊框,只有 4 個(gè) Pin 腳:VCC颁督,GND,SDA浇雹,SCL沉御,所以它與樹莓派的連接也很簡單,如下圖所示(本文使用樹莓派 3B):
開啟 I2C 接口
樹莓派默認(rèn)是不開啟 I2C 接口的昭灵,所以我們需要手動(dòng)打開它吠裆。執(zhí)行以下命令:
$ sudo apt-get install -y python-smbus
$ sudo apt-get install -y i2c-tools
$ sudo raspi-config
然后按以下動(dòng)圖方式開啟 I2C 功能伐谈。
安裝 OLED 屏的 Python 庫
為了在 OLED 屏上顯示文字或圖像,我們需要使用到 Adafruit 的 Python 庫试疙,這個(gè)庫支持所有的 SSD1306 相關(guān)的顯示屏诵棵,包括 128×32 和 128×64 屏幕。
首先我們需要下載這個(gè)庫:
$ git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git
然后進(jìn)入到目錄祝旷,再進(jìn)行安裝:
$ cd Adafruit_Python_SSD1306
$ sudo python3 setup.py install # 如果使用 Python2 履澳,則使用對應(yīng)命令
找到 OLED 模組地址
安裝好 Python 庫之后,我們可以使用 i2cdetect
命令來找到 OLED 屏的物理地址:
$ i2cdetect -y 1
我們會得到類似這樣的輸出:
不同的模組可能得到不同的輸出怀跛。這里我們的 I2C 地址就是 0x3C距贷。如果你使用的是初代樹莓派(256MB的樹莓派1代B),那么需要使用下面的命令:
$ i2cdetect -y 0
使用 OLED 屏顯示圖像及文字
在剛剛下載的那個(gè)庫文件里敌完,有一個(gè) examples 目錄储耐,在那個(gè)目錄里,我們可以看到以下內(nèi)容:
- animate.py
- buttons.py
- image.py
- shapes.py
- stats.py
這幾個(gè)文件我們可以直接運(yùn)行滨溉,比如:
$ python3 shapes.py
這幾個(gè)文件運(yùn)行的結(jié)果如下圖示:
屏幕尺寸適配
以上的幾個(gè)示例文件里什湘,它們都默認(rèn)你的屏幕尺寸是 128×32 ,但它們依然可以跑在 128×64 的屏幕上晦攒。如果我們想要看得更舒服一點(diǎn)闽撤,我們可以將尺寸進(jìn)行適配。
在每個(gè) Python 文件里脯颜,都有下面這么一段代碼:
這里也寫得很清楚了哟旗,上下兩行代碼分別代表 128×32 和 128×64 的屏幕,使用何種尺寸的屏幕栋操,只需將對應(yīng)的代碼前面的 #
去掉即可闸餐。
最后,最近很多小伙伴找我要Linux學(xué)習(xí)路線圖矾芙,于是我根據(jù)自己的經(jīng)驗(yàn)舍沙,利用業(yè)余時(shí)間熬夜肝了一個(gè)月,整理了一份電子書剔宪。無論你是面試還是自我提升拂铡,相信都會對你有幫助葱绒!目錄如下:
免費(fèi)送給大家,只求大家金指給我點(diǎn)個(gè)贊地淀!
電子書 | Linux開發(fā)學(xué)習(xí)路線圖
也希望有小伙伴能加入我,把這份電子書做得更完美帮毁!
有收獲实苞?希望老鐵們來個(gè)三連擊璧微,給更多的人看到這篇文章
推薦閱讀: