Grove - 1.12英寸OLED显示屏(SH1107)V3.0 - SPI/IIC接口 - 3.3V/5V供电
Grove - OLED Display 1.12 V3.0 (SH1107)是一款具有128*128分辨率的单色显示屏。与LCD相比,OLED(有机发光二极管)具有许多优势,例如自发光、高对比度、纤薄的外形、宽视角和低功耗。这款显示屏既可以在3.3V也可以在5V的电源电压下工作。您可以使用I2C或SPI接口,通过您的微控制器点亮显示屏,以显示文字、图像和任何您想要的内容。
特点
- 兼容3.3V/5V供电
- 可更改的I2C地址
- 支持SPI接口
- 低功耗
- 单色128×128像素
- 高对比度,高亮度
- 宽工作温度范围:-40℃ ~ +85℃
版本
产品版本 | 变更内容 | 发布日期 |
---|---|---|
Grove - OLED Display 1.12" V1.0 | 初始版本 | 2012年3月 |
Grove - OLED Display 1.12" V2.1 | 将驱动IC从SSD1327更改为SH1107G,将灰度像素从96X96升级到128X128 | 2015年11月 |
Grove - OLED Display 1.12" V3.0 | 将驱动IC从SSD1107G更改为SH1107,将接口从I2C升级到I2C/SPI | 2021年7月 |
:::提示 更多关于Grove模块的信息,请参考Grove系统。 :::
支持的平台
Arduino | 树莓派 |
---|---|
:::警告 |
上述提到的支持平台表明模块的软件或理论兼容性。在大多数情况下,我们只针对Arduino平台提供软件库或代码示例。我们无法为所有可能的MCU平台提供软件库/示例代码。因此,用户需要编写自己的软件库。
:::
入门指南
硬件
接下来,我们将通过一个简单的示例来展示这款Grove - OLED显示屏是如何工作的。首先,您需要准备以下物品:
Seeeduino V4 | Grove - OLED Display 1.12`` V3.0 | Base Shield |
---|---|---|
立即获取 | 立即获取 | 立即获取 |
这是一个易于使用的模块,您所要做的就是将模块连接到Base Shield的I2C端口。这个模块有4个引脚,具体定义如下:
引脚 | 功能 | 注释 | 电缆颜色 |
---|---|---|---|
pin1 | SCL | I2C时钟信号 | 黄色 |
pin2 | SDA | I2C数据信号 | 白色 |
pin3 | VCC | 电源,5V/3.3V | 红色 |
pin4 | GND | 接地 | 黑色 |
硬件概述(I2C)
软件(I2C)
步骤 1. 通过Grove线缆将Grove - OLED Display 1.12'' V3.0连接到Base Shield的I2C端口。
步骤 2. 打开Arduino IDE和库管理器 (Sketch > Include Library > manage Libraries) 来安装u8g2库。
- 步骤 3. 在搜索框中输入“u8g2”,选择最新版本,并点击“安装”按钮。
#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include <Wire.h>
U8G2_SH1107_SEEED_128X128_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
void setup(void) {
u8g2.begin();
}
void loop(void) {
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_luBIS08_tf);
u8g2.drawStr(0,24,"Hello Seeed!");
} while ( u8g2.nextPage() );
}
:::成功后 如果一切顺利,Grove - OLED Display 1.12''的屏幕上将显示“Hello Seeed!”。 :::
:::注意 如果您没有Base Shield,带有I2C接口的Seeeduino Vx系列也能正常工作。 :::
硬件概述(SPI)
步骤 1. 焊接公头并连接电线。
步骤 2. 请按照黄色线路在板上剪断电线,并按照白色线路逐一焊接SPI面板和中间面板。
:::警告 请小心按照黄色线路逐一剪断电线,否则可能会损坏整个显示屏。建议您在放大镜下剪断电线。 ::: 注意:这是剪断电线的错误方法!
- 步骤 3. 按照图片所示,用导线将显示屏和Seeeduino连接起来。
- 步骤 4. 通过USB线缆将Seeeduino连接到电脑上。
软件(SPI)
- 步骤 1. 打开Arduino IDE和库管理器 (Sketch > Include Library > manage Libraries) 来安装u8g2库。
- 步骤 2. 在搜索框中输入“u8g2”,选择最新版本,并点击“安装”按钮。
- 步骤 3. 将以下示例代码上传到你的Arduino IDE中。
#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include <Wire.h>
U8G2_SH1107_128X128_1_4W_HW_SPI u8g2(U8G2_R3, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
void setup(void) {
u8g2.begin();
}
void loop(void) {
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_luBIS08_tf);
u8g2.drawStr(0,24,"Hello Seeed!");
} while ( u8g2.nextPage() );
}
:::成功 如果一切顺利,Grove - OLED Display 1.12''的屏幕上将显示“Hello Seeed!”。 :::
在RaspberryPi上运行
所需材料
Raspberry pi | Grove Base Hat for Raspberry Pi | Grove - OLED Display 1.12" V3.0 |
---|---|---|
立即获取 | 立即获取 | 立即获取 |
为RaspberryPi做准备
I2C连接
步骤 1. 将OLED Yellow&Blue Display 0.96"插入到Grove - Base Hat的I2C端口。
步骤 2. 将Grove - Base Hat插入到RaspberryPi。
步骤 3. 通过Serial或SSH将RaspberryPi连接到电脑。
SPI连接
- 步骤 1. 按照说明表将Grove - Base Hat上的导线连接起来。
Grove - OLED Display 1.12" V3.0 引脚 | Raspberry Pi GPIO | BCM2835 编码 |
---|---|---|
VCC | 3.3V | 3.3V |
GND | GND | GND |
SI | MOSI | 10 |
SCL | SCLK | 11 |
CS | CE0 | 8 |
DC | GPIO.6 | 25 |
RES | GPIO.2 | 27 |
步骤 2. 将Grove - Base Hat插入到RaspberryPi中。
步骤 3. 通过Serial或SSH将RaspberryPi连接到电脑。
软件
- 步骤 1. 在RaspberryPi上启用I2C和SPI
sudo apt-get install -y i2c-tools
sudo raspi-config
按照图片上的步骤在你的RaspberryPi上启用I2C和SPI。
然后重启你的RaspberryPi
sudo reboot
- 步骤 2. 安装必要的库
sudo apt-get install wget gcc make unzip -y
安装WiringPi库
如果你使用WiringPi,你需要将WiringPi更新到2.52版本。这个库可能不是最新版本。推荐使用其他库
cd
sudo apt-get install wiringpi
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
安装bcm2835库
cd
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
- 更多信息和最新的库请参考网站:bcm2835
- 步骤 3. 下载示例代码
1. 对于 I2C
wget https://files.seeedstudio.com/wiki/Grove-OLED-Display-1.12-(SH1107)_V3.0/demo/RaspberryPiI2C.zip
mkdir I2C
unzip RaspberryPiI2C.zip ./I2C/
cd ./I2C/RaspberryPiI2C/c/
sudo chmod 777 test.sh
./test.sh
2. 对于 SPI
wget https://files.seeedstudio.com/wiki/Grove-OLED-Display-1.12-(SH1107)_V3.0/demo/RaspberryPiSPI.zip
mkdir SPI
unzip RaspberryPiSPI.zip ./SPI/
cd ./SPI/RaspberryPiSPI/c/
sudo chmod 777 test.sh
./test.sh
如果您想要更多的演示,我们还有一个简短的视频片段。
sudo chmod 777 badapple.sh
./badapple.sh
U8g2库介绍
U8g2是一个用于嵌入式设备的单色图形库。U8g2支持单色OLED和LCD,其中包括我们的芯片SSD1327/SH1107G。
Arduino库U8g2可以从Arduino IDE的库管理器中安装。U8g2还包括U8x8库:
U8g2
- 包含所有图形过程(线/框/圆绘制)。
- 支持许多字体。(几乎)对字体高度没有限制。
- 需要在微控制器中占用一些内存来渲染显示屏。
U8x8
- 仅用于文本输出(字符)的设备。
- 只允许使用可以适应8x8像素网格的字体。
- 直接写入显示屏。不需要微控制器中的缓冲区。
这里提供了U8g2库wiki以及U8g2 API参考页面。
在线原理图查看器
资源
- [Eagle] Grove-OLED Display 1.12英寸Eagle 文件
- [PDF] Grove-OLED Display 1.12英寸 V3.0 原理图
- [Datasheet] SH1107_数据手册
技术支持与产品讨论
感谢您选择我们的产品!我们在此为您提供不同形式的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同偏好和需求。