不少工程师在学生时代都一定接触过树莓派,或者是听说过这种世界上最小的卡片式电脑主板。本篇文章将介绍一种通过树莓派主板来点亮OLED的方法。树莓派几乎相当于一个微缩的电脑,将SD卡内存硬盘、USB接口、视频和电视输出接口都整合在一张小小的主板上,它能够执行一些简单的媒体播放和数据处理功能。
OLED与树莓派的连接
想要用树莓派成功的点亮OLED,就需要找到正确的接口进行连接。在树莓派的排针当中存在一组SPI接口,它们分别是:GPIO9(MISO) ,GPIO10(MOSI), GPIO11(SCL)。
需要特别说明的是,本文中用到的OLED驱动芯片是SSD1306,不能采用别的驱动芯片来代替。接下来看一下需要连接哪些接口。分别是GND、VCC、D0、D1、RST、DC、CS。
各个口的功能与树莓派的IO口连线分别如下:
GND接树莓派的GND, VCC接树莓派的3v3 POWER口,就是电源口,不要接到5V。
CS是SPI的片选口,可以多组SPI同时使用,这里接树莓派的GPIO8(CE0)口,第24个管脚。
DC口是数据与命令选择口,这里接到第13管脚,对于R1版本的树莓派就是GPIO21,本文中涉及的是R2版本(内存512MB),对应的是GPIO27。
RST是复位口,这里接到GPIO17也就是11管脚。
D1(MOSI)口,接到树莓派的GPIO10(MOSI)口,也就是21管脚;D0(SCLK)口,接到树莓派的GPIO11(SCLK)口,也就是23管脚。
打开树莓派的spi口
这里需要解释一下,因为树莓派的SPI和I2C口都是处于默认禁用的状态,所以我们需要在使用之前就打开。
首先是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,对应于GPIO口上的SPI口,0和1表示片选管脚CE0和CE1。
使用python开始驱动SPI口的OLED
还是用ssh登陆到树莓派上,安装一些并要的软件,如果因为网络安装不成功,请重复该命令:
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