不少工程師在學(xué)生時代都一定接觸過樹莓派,或者是聽說過這種世界上最小的卡片式電腦主板。本篇文章將介紹一種通過樹莓派主板來點亮OLED的方法。樹莓派幾乎相當(dāng)于一個微縮的電腦,將SD卡內(nèi)存硬盤、USB接口、視頻和電視輸出接口都整合在一張小小的主板上,它能夠執(zhí)行一些簡單的媒體播放和數(shù)據(jù)處理功能。
OLED與樹莓派的連接
想要用樹莓派成功的點亮OLED,就需要找到正確的接口進行連接。在樹莓派的排針當(dāng)中存在一組SPI接口,它們分別是:GPIO9(MISO) ,GPIO10(MOSI), GPIO11(SCL)。
需要特別說明的是,本文中用到的OLED驅(qū)動芯片是SSD1306,不能采用別的驅(qū)動芯片來代替。接下來看一下需要連接哪些接口。分別是GND、VCC、D0、D1、RST、DC、CS。
各個口的功能與樹莓派的IO口連線分別如下:
GND接樹莓派的GND, VCC接樹莓派的3v3 POWER口,就是電源口,不要接到5V。
CS是SPI的片選口,可以多組SPI同時使用,這里接樹莓派的GPIO8(CE0)口,第24個管腳。
DC口是數(shù)據(jù)與命令選擇口,這里接到第13管腳,對于R1版本的樹莓派就是GPIO21,本文中涉及的是R2版本(內(nèi)存512MB),對應(yīng)的是GPIO27。
RST是復(fù)位口,這里接到GPIO17也就是11管腳。
D1(MOSI)口,接到樹莓派的GPIO10(MOSI)口,也就是21管腳;D0(SCLK)口,接到樹莓派的GPIO11(SCLK)口,也就是23管腳。
打開樹莓派的spi口
這里需要解釋一下,因為樹莓派的SPI和I2C口都是處于默認(rèn)禁用的狀態(tài),所以我們需要在使用之前就打開。
首先是ssh登陸到樹莓派上:
1、vi /etc/modprobe.d/raspi-blacklist.conf
2、#blacklist spi-bcm2708 #使用井號注釋掉這行。
3、blacklist i2c-bcm2708 #如果要使用i2c就注釋掉這行。
輸入完畢之后,進行保存。然后我們重啟樹莓派。sudo reboot,這樣就會打開樹莓派的spi口,可以在/dev目錄下看到兩個文件:spidev0.0、spidev0.1,對應(yīng)于GPIO口上的SPI口,0和1表示片選管腳CE0和CE1。
使用python開始驅(qū)動SPI口的OLED
還是用ssh登陸到樹莓派上,安裝一些并要的軟件,如果因為網(wǎng)絡(luò)安裝不成功,請重復(fù)該命令:
sudo apt-get update
sudo apt-get install build-essential python-dev python-pip
sudo pip install RPi.GPIO
sudo apt-get install python-imaging python-smbus
sudo apt-get install git
#clone
git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git
cd Adafruit_Python_SSD1306
sudo python setup.py install