0.95寸RGB OLED显示屏使用教程

产品简介

提供树莓派、STM32、arduino例程

产品参数

  • 工作电压: 3.3V/5V
  • 通信接口: SPI
  • 屏幕类型: OLED
  • 控制芯片: SSD1331
  • 分辨率: 96*64(Pixel)
  • 产品尺寸: 31.7 x 37(mm)
  • 显示颜色: RGB,65K
  • 工作温度: -20°C ~ 70°C
  • 存储温度: -30°C ~ 80°C
  • 视角: >160°

功能引脚

功能引脚描述
VCC3.3V/5V电源正
GND电源地
NCNC
DINSPI数据输入
CLKSPI时钟输入
CS片选,低电平有效
RST复位

树莓派

提供C语言与python例程

开启SPI接口

  • 打开树莓派终端,输入以下指令进入配置界面
  1. sudo raspi-config
  2. 选择Interfacing Options -> SPI -> Yes 开启SPI接口



然后重启树莓派:

  1. sudo reboot

请确保SPI没有被其他的设备占用,你可以在/boot/config.txt中间检查

安装库

  • 安装BCM2835, 打开树莓派终端,并运行以下指令
  1. wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
  2. tar zxvf bcm2835-1.60.tar.gz
  3. cd bcm2835-1.60/
  4. sudo ./configure && sudo make && sudo make check && sudo make install
  5. # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
  • 安装wiringPi
  1. sudo apt-get install wiringpi
  2. #对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级:
  3. wget https://project-downloads.drogon.net/wiringpi-latest.deb
  4. sudo dpkg -i wiringpi-latest.deb
  5. gpio -v
  6. # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错
  • python
  1. sudo apt-get update
  2. sudo apt-get install python-pip
  3. sudo pip install RPi.GPIO
  4. sudo apt-get install python-smbus
  5. sudo pip install spidev

硬件连接



LCDRPi引脚号BCM
VCC3.3V3.3V
GNDGNDGND
DIN19MOSI
CLK23SCLK
CS24CE0
DC13P27
RST18P24

下载例程

在树莓派终端运行:

  1. sudo apt-get install p7zip-full
  2. wget wget http://www.waveshare.net/w/upload/8/8e/0.95inch-RGB-OLED-Code.zip
  3. 7z x 0.95inch-RGB-OLED-Code.zip -o0.95inch-RGB-OLED-Code
  4. sudo chmod 777 -R 0.95inch-RGB-OLED-Code
  5. cd 0.95inch-RGB-OLED-Code/RaspberryPi

运行测试程序

  • C语言
  1. cd c
  2. make clean
  3. make
  4. sudo ./main
  5. #预期效果
  6. #显示图片
  7. #显示时间
  • python
  1. cd python
  2. sudo python main.py
  3. #预期效果
  4. #显示英文和中文
  5. #显示图片

Jetson nano

安装库

安装函数库

  • 打开终端界面,输入以下指令安装相应的函数库
  1. sudo apt-get update
  2. sudo apt-get install python3-pip
  3. sudo pip3 install Jetson.GPIO
  4. sudo groupadd -f -r gpio
  5. sudo usermod -a -G gpio your_user_name
  6. sudo cp /opt/nvidia/jetson-gpio/etc/99-gpio.rules /etc/udev/rules.d/
  7. sudo udevadm control --reload-rules && sudo udevadm trigger

【注意】your_user_name 是你使用的用户名,比如说 waveshare

  • 安装I2C
  1. sudo apt-get install python-smbus
  • 安装图像处理库:
  1. sudo apt-get install python3-pil
  2. sudo apt-get install python3-numpy

下载程序

  1. sudo apt-get install p7zip
  2. wget wget http://www.waveshare.net/w/upload/8/8e/0.95inch-RGB-OLED-Code.zip
  3. 7z x 0.95inch-RGB-OLED-Code.zip
  4. sudo chmod 777 -R 0.95inch-RGB-OLED-Code
  5. cd 0.95inch-RGB-OLED-Code/JetsonNano/

运行测试程序

由于JetsonNano的GPIO驱动能力弱,只能使用SPI进行控制

  • C语言
  1. cd C
  2. make clean
  3. make
  4. sudo ./main
  • python
  1. #python2
  2. cd python2
  3. sudo python main.py
  4. #python3
  5. cd python3
  6. sudo python3 main.py

STM32

  • 本例程提供两块开发板的例程分别是Open103V和Open103C,程序是基于标准库

硬件连接

在Open103V开发板上把 OLED 模块直接插到 Open103V 开发板的 SPI2 接口,将DC和RST使用杜邦线连接对应的管脚。

OLEDOpen103V
VCC3.3V
GNDGND
DINPB15
CLKPB13
CSPB12
DCPC6
RSTPC2

在Open103C开发板上把 OLED 模块直接插到Open103C 开发板的 SPI2 接口即可。

OLEDOpen103C
VCC3.3V
GNDGND
DINPB15
CLKPB13
CSPB12
DCPB9
RSTPB8

下载程序

  1. 注意使用前先确保电脑已经安装好keil5软件。
  2. 找到STM32程序文件目录并打开STM32工程。
  3. 确认好开发板型号,并连接好下载器。
  4. 点击编译,然后点击下载将程序下载到开发板即可。

预期效果

  1. 全屏刷红、绿、蓝
  2. 显示数字和英文
  3. 显示时间

Arduino

  • 本例程使用的开发板为Arduino UNO

硬件连接

由于我们提供的示例程序是基于Arduino UNO,所以对应给出的硬件连接也是基于Arduino UNO. 如果你要连接屏幕到别的Arduino开发板,请先确认您的开发板接口是否兼容Arduino UNO. 如果不兼容UNO,需要修改硬件连接方式,以实际开发板引脚为准。

OLEDUNO
VCC5V
GNDGND
DIND11
CLKD13
CSD10
DCD8
RSTD9

如何使用

  1. 将文件ssd1331.cpp和ssd1331.h复制到arduino / libraries目录。
  2. 使用Arduino IDE打开oled.ino文件,然后验证/上传程序。

预期效果

  1. 显示图片
  2. 显示时间