0.91inch OLED Module

0.91inch OLED Module
0.91inch OLED Module
{{{name2}}}
{{{name3}}}
基本信息
分类: OLED模块
{{{userDefinedInfo1}}}: {{{userdefinedvalue1}}}
{{{userDefinedInfo2}}}: {{{userdefinedvalue2}}}
{{{userDefinedInfo3}}}: {{{userdefinedvalue3}}}
品牌: Waveshare
功能简介
特性 无特性,不解释
显示尺寸 0.91英寸
分辨率 128×32
' 无特性,不解释
' 无特性,不解释
接口 OLED I2C
相关产品
0.91inch OLED Module

0.95inch RGB OLED (A)
0.95inch RGB OLED (B)
0.96inch OLED (A)
0.96inch OLED (B)
1.3inch OLED (A)
1.3inch OLED (B)
1.5inch OLED Module
1.5inch RGB OLED Module

♦ {{{Product2}}}
♦ {{{Product3}}}
♦ {{{Product4}}}
♦ {{{Product5}}}
♦ {{{Product6}}}

目录

产品特性

  • 驱动芯片 : SSD1306
  • 支持接口 : I2C
  • 分辨率  : 128 * 32
  • 显示尺寸 : 0.91inch
  • 显示颜色 : 白色
  • 工作电压 : 3.3V

工作原理

SSD1306 是一款 128*64 像素的 OLED 控制器,但该 OLED 只有 128*32 个像素点,所以该屏只用到了 SSD1306 缓存区的前半部分。
该 OLED 支持 8bit 8080 并行、8bit 6800 并行、三线 SPI、四线 SPI 和 I2C 等通信方式,但考虑到该模块的尺寸,以及节省微控制器宝贵的 IO 资源,故舍弃了前四种通信方式,只支持 I2C的通信方式。

I2C 通信协议

0.91inch oled module i2c.png
在 I2C 通信时,先发送一个 7bit 的从设备地址+1bit 的读写位,等待设备的响应。
在从设备应答后,接着发送一个控制字节,该字节决定了后面发送的字节是命令还是数据,然后再等待从设备应答。
在从设备再次应答之后,若发送命令,则只发送一字节的命令。若发送数据,可以只发送一个字节,也可以多个字节的数据连着发送,视情况而定。
详见 Datasheet Page20 Figure 8-7

树莓派使用

打开I2C接口

在终端执行:

sudo raspi-config 
选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

RPI open i2c.png
然后重启树莓派:

sudo reboot

安装库

  • 安装BCM2835, 打开树莓派终端,并运行一下指令
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
tar zxvf bcm2835-1.60.tar.gz 
cd bcm2835-1.60/
sudo ./configure
sudo make
sudo make check
sudo make install
# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
  • 安装wiringPi
sudo apt-get install wiringpi
#对于树莓派4B可能需要进行升级:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# 运行gpio -v会出现2.52版本,如果没有出现说明安装出错
  • 安装Python函数库
#python2
sudo apt-get update
sudo apt-get install python-pip
sudo apt-get install python-pil
sudo apt-get install python-numpy
sudo pip install RPi.GPIO
sudo pip install spidev
#python3
sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
sudo apt-get install python3-numpy
sudo pip3 install RPi.GPIO
sudo pip3 install spidev

硬件连接

0.91inch OLED Module user01.png

OLED RPi引脚号 BCM
VCC 3.3V 3.3V
GND GND GND
SDA 3 SDA
SCL 5 SCL

下载示例程序

sudo apt-get install p7zip-full
wget http://www.waveshare.net/w/upload/3/37/0.91inch_OLED_Module_Code.7z
7z x 0.91inch_OLED_Module_Code.7z  -r -o./0.91inch_OLED_Module_Code
sudo chmod 777 -R 0.91inch_OLED_Module_Code
cd 0.91inch_OLED_Module_Code/RaspberryPi

运行测试例程

注:如果使用了BCM2835库,需要重启才能正常运行wiringPi库和python库。

  • BCM2835
cd bcm2835/
make clean 
make
sudo ./oled_0in91
  • wiringPi

由于默认的波特率只有100Kbps,而芯片实际上可以达到400Kbps,而wiringPi无法修改树莓派I2C的波特率,因此我们需要在/boot/config.txt找到dtparam=i2c_arm=on,在其后面加上:,i2c_arm_baudrate=400000,具体步骤如下:

sudo nano /boot/config.txt

找到dtparam=i2c_arm=on,将其修改成如下:

dtparam=i2c_arm=on,i2c_arm_baudrate=400000

然后重启:

sudo reboot

重启之后

cd 0.91inch_OLED_Module_Code/RaspberryPi/wiringpi/
make clean 
make
sudo ./oled_0in91
  • python
cd python/
#python2.7
sudo python main.py
#python3
sudo python3 main.py

STM32使用

  • 本例程使用的开发板主控为 XNUCLEO-F103RB
  • 本例程基于 HAL 库,因此可以使用 STM32CubeMX 把示例程序移植到其他 STM 芯片上
  • 本例程在 Keil v5 环境下编译通过
模块 XNUCLEO-F103RB
VCC 3V3/5V
GND GND
SDA SDA/D14
SCL SCL/D15

在资料中下载程序,或点击此处下载
解压后打开\STM32\0.91inch_OLED_Demo\MDK-ARM\0.91inch_OLED_Demo.uvprojx
编译并下载到开发板上

Arduino使用

  • 本例程使用的开发板主控为Arduino UNO
模块 UNO
VCC 3V3/5V
GND GND
SDA SDA
SCL SCL

在资料中下载程序,或点击此处下载
解压后将Arduino\0.91Inch_OLED_Demo\下的文件复制到Arduino\0.91Inch_OLED_Demo\oled\目录下
打开Arduino\0.91Inch_OLED_Demo\oled\oled.ino
编译并下载到开发板上

问题:OLED模块接上电源为什么不亮?
答复:

OLED是没有背光的,显示属于自发光方式。只接VCC和GND,OLED是不会亮的。 必须用程序控制才能亮点OLED。



问题:使用该OLED模块,有什么需要注意的?
答复:

1.注意电源不要接反。

2.不能长时间显示同一画面,否则将产生残影,导致OLED损坏。




QQ:3004637648 2853908288(已加满)
EMAIL:3004637648@qq.com
电话:0755-83040712

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证。
Call-of-duty-V2.jpg       Join-us-V2.jpg