Xadow - RGB OLED 96*64
RBG OLED 是一个 16 位 96*64 点阵 OLED 显示模块,支持 RGB 彩色显示。它基于 SSD1331 模块,该模块是一款单芯片 CMOS OLED/PLED 驱动器,具有 288 段和 64 公共输出,支持最多 96 RGB * 64 点阵显示。它使用 SPI 进行通信。
规格
- 电源电压 (VCC):3.3V
- 显示颜色:RGB
- 点阵:96*64
- 工作温度:-20~70 ℃
- 尺寸:25.43mm x 20.35mm
引脚定义
我们只需要 CS、DC、MOSI、SCLK 四个引脚进行通信。
CS <==> A5
DC <==> 3
MOSI <==> 16
SCLK <==> 15
请注意:对 OLED 的强烈冲击或压力会导致屏幕损坏。
入门指南
RGB OLED 可以显示各种图形和字符。我们提供了许多示例代码供您使用。
硬件安装
注意:将 Xadow RGB OLED 连接到 Xadow 主板时,您需要注意连接方向。连接方法是一个 Xadow 模块的未填角需要连接到另一个模块的直角(参见每个 Xadow 模块的四个角)。
绘制线条
下载 RGB OLED 库 和 SGL 库,然后将它们安装到您的 Arduino 库中。通过以下路径打开 DrawLine 示例代码:Files->Examples->RGB_OLED_96_64->examples->drawLine。
<pre>
/*
绘制矩形
此代码用于测试 Seeed 的 Xadow - RGB OLED,
它将绘制几条不同颜色的线条
创建于 2014/06/24,版本:0.1
作者:lawliet.zou([email protected])
*/
#include <SGL.h>
#include <SSD1331.h>
#include <SPI.h>
#define cs A5
#define dc 3
#define mosi 16
#define sclk 15
SSD1331 oled = SSD1331(cs, dc, mosi, sclk);
void setup(){
Serial.begin(9600);
Serial.println("开始绘制");
oled.init();
oled.fillScreen(COLOR_BLACK);
delay(2000);
oled.drawLine(5,7,65,48,COLOR_BLUE);
delay(1000);
oled.drawLine(5,40,48,7,COLOR_RED);
delay(1000);
oled.drawLine(65,5,47,50,COLOR_GREEN);
delay(1000);
oled.drawLine(3,10,80,21,COLOR_YELLOW);
}
void loop(){
//无操作
}
</pre>
选择正确的端口号,板类型应为 Seeeduino Xadow,然后上传代码,您可以看到 RGB OLED 屏幕上绘制了四条不同颜色的线条,如下所示。
绘制圆形
通过以下路径打开 DrawCircle 示例代码:Files->Examples->RGB_OLED_96_64->examples->drawCircle。
/*
绘制圆形
此代码用于测试 Seeed 的 Xadow - RGB OLED,
它将绘制一个圆形
创建于 2014/06/24,版本:0.1
作者:lawliet.zou([email protected])
*/
#include <SGL.h>
#include <SSD1331.h>
#include <SPI.h>
#define cs A5
#define dc 3
#define mosi 16
#define sclk 15
SSD1331 oled = SSD1331(cs, dc, mosi, sclk);
void setup(){
Serial.begin(9600);
Serial.println("开始绘制");
oled.init();
oled.fillScreen(COLOR_BLACK);
delay(2000);
}
void loop(){
for(int i = 30; i > 0; i--){
oled.drawCircle(48,32,i,COLOR_CYAN);
delay(50);
}
for(int i = 1; i <= 30; i++){
oled.drawCircle(48,32,i,COLOR_RED);
delay(50);
}
for(int i = 30; i > 0; i--){
oled.drawCircle(48,32,i,COLOR_PURPLE);
delay(50);
}
for(int i = 1; i <= 30; i++){
oled.drawCircle(48,32,i,COLOR_GOLDEN);
delay(50);
}
}
此代码用于绘制不同颜色的同心圆。选择正确的端口号,板类型应为 Seeeduino Xadow,然后上传代码,您可以看到 RGB OLED 屏幕上绘制了许多不同颜色的圆形,如下所示。
绘制矩形
通过以下路径打开 DrawRectangle 示例代码:Files->Examples->RGB_OLED_96_64->examples->drawRectangle。
/*
绘制矩形
此代码用于测试 Seeed 的 Xadow - RGB OLED,
它将绘制一个蓝色矩形
创建于 2014/06/24,版本:0.1
作者:lawliet.zou([email protected])
*/
#include <SGL.h>
#include <SSD1331.h>
#include <SPI.h>
#define cs A5
#define dc 3
#define mosi 16
#define sclk 15
SSD1331 oled = SSD1331(cs, dc, mosi, sclk);
void setup(){
Serial.begin(9600);
Serial.println("开始绘制");
oled.init();
oled.fillScreen(COLOR_BLACK);
delay(2000);
}
void loop(){
for(int i = 1; i < 16; i++){
oled.drawRectangle(3*i,2*i,95-6*i,63-4*i,COLOR_YELLOW);
delay(50);
}
delay(2000);
for(int i = 15; i > 0; i--){
oled.drawRectangle(3*i,2*i,95-6*i,63-4*i,COLOR_BLUE);
delay(50);
}
delay(2000);
}
选择正确的端口号,板类型应为 Seeeduino Xadow,然后上传代码,您可以看到 RGB OLED 屏幕上绘制了许多矩形,如下所示。
绘制三角形
打开 DrawTriangle 示例代码,通过路径:Files->Examples->RGB_OLED_96_64->examples->drawTriangle。
/*
绘制三角形
此代码用于测试 Seeed 的 Xadow - RGB OLED,
它将绘制一个三角形。
创建于 2014/06/24,版本:0.1
作者:lawliet.zou([email protected])
*/
#include <SGL.h>
#include <SSD1331.h>
#include <SPI.h>
#define cs A5
#define dc 3
#define mosi 16
#define sclk 15
SSD1331 oled = SSD1331(cs, dc, mosi, sclk);
void setup(){
Serial.begin(9600);
Serial.println("开始绘制");
oled.init();
oled.fillScreen(COLOR_BLACK);
delay(2000);
}
void loop(){
//无操作
uint8_t x0 = random(0,96);
uint8_t y0 = random(0,64);
uint8_t x1 = random(0,96);
uint8_t y1 = random(0,64);
uint8_t x2 = random(0,96);
uint8_t y2 = random(0,64);
oled.drawTraingle(x0, y0, x1, y1, x2, y2, random(0,65536));
delay(3000);
oled.fillScreen(COLOR_BLACK);
}
上传代码后,您可以看到随机位置和形状的三角形会在 RGB OLED 屏幕上绘制,如下图所示。
绘制字符串
打开 DrawString 示例代码,通过路径:Files->Examples->RGB_OLED_96_64->examples->drawString。
/*
绘制字符串
此代码用于测试 Seeed 的 Xadow - RGB OLED,
它将绘制一个字符串。
创建于 2014/06/24,版本:0.1
作者:lawliet.zou([email protected])
*/
#include <SGL.h>
#include <SSD1331.h>
#include <SPI.h>
#define cs A5
#define dc 3
#define mosi 16
#define sclk 15
SSD1331 oled = SSD1331(cs, dc, mosi, sclk);
char* str = "Seeed";
void setup(){
Serial.begin(9600);
Serial.println("开始绘制");
oled.init();
oled.fillScreen(COLOR_BLACK);
delay(2000);
oled.drawString(str, 15, 25, 2, COLOR_GREEN);
delay(2000);
oled.setScolling(Horizontal, 0, 64, 1);
}
void loop(){
//无操作
}
上传代码后,您可以看到字符串 "Seeed" 会在 RGB OLED 屏幕上绘制,如下图所示。
绘制位图
打开 DrawBitMap 示例代码,通过路径:Files->Examples->RGB_OLED_96_64->examples->drawBitMap。
/*
绘制位图
此代码用于测试 Seeed 的 Xadow - RGB OLED,
它将绘制一个位图。
创建于 2014/06/24,版本:0.1
作者:lawliet.zou([email protected])
*/
#include <SGL.h>
#include <SSD1331.h>
#include <SPI.h>
#define cs A5
#define dc 3
#define mosi 16
#define sclk 15
SSD1331 oled = SSD1331(cs, dc, mosi, sclk);
static unsigned char SeeedLogo[] PROGMEM ={
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x06, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x01, 0xE0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x60, 0x00, 0x00,
0x00, 0x00, 0x18, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00,
0xFC, 0x00, 0x00, 0xFC, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0xFC, 0x00, 0x00, 0xFC,
0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x1C, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00,
0xFC, 0x00, 0x00, 0xFC, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0xFC, 0x00, 0x00, 0xFC,
0x01, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x01, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x1F, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80,
0xFC, 0x00, 0x00, 0xFC, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0xFE, 0x00, 0x00, 0xFC,
0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x7E, 0x00, 0x01, 0xFC, 0x0F, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x0F, 0xC0, 0x7E, 0x00, 0x01, 0xF8, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE0,
0x7E, 0x00, 0x01, 0xF8, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x3F, 0x00, 0x01, 0xF0,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x3F, 0x00, 0x03, 0xF0, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x03, 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFC,
0x1F, 0x80, 0x07, 0xE0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x0F, 0x80, 0x07, 0xC1,
0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x07, 0xC0, 0x07, 0x83, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0x83, 0xC0, 0x0F, 0x07, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
0xC1, 0xE0, 0x0E, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0xE0, 0x1C, 0x1F,
0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF8, 0x70, 0x38, 0x7F, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0xFC, 0x38, 0x30, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x07, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x40, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00,
0x00, 0x03, 0xF0, 0x0F, 0xC0, 0x0F, 0xC0, 0x0F, 0x80, 0x1F, 0xBC, 0x00, 0x00, 0x0F, 0xF8, 0x3F,
0xF0, 0x3F, 0xF0, 0x3F, 0xE0, 0x7F, 0xFC, 0x00, 0x00, 0x1F, 0xFC, 0x7F, 0xF8, 0x7F, 0xF8, 0x7F,
0xF8, 0xFF, 0xFC, 0x00, 0x00, 0x1F, 0x7E, 0xFE, 0xFC, 0xFD, 0xFC, 0xFD, 0xFD, 0xFD, 0xFC, 0x00,
0x00, 0x1E, 0x1E, 0xF0, 0x3F, 0xF0, 0x3D, 0xE0, 0x3D, 0xE0, 0x7C, 0x00, 0x00, 0x1F, 0xF1, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xE0, 0x3C, 0x00, 0x00, 0x0F, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFD, 0xC0, 0x3C, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC0, 0x3C, 0x00,
0x00, 0x3C, 0x1E, 0xF0, 0x31, 0xF0, 0x21, 0xE0, 0x21, 0xE0, 0x7C, 0x00, 0x00, 0x3F, 0x3E, 0xFE,
0xFC, 0xFC, 0xF8, 0xFD, 0xF9, 0xFD, 0xFC, 0x00, 0x00, 0x1F, 0xFE, 0x7F, 0xFC, 0x7F, 0xF8, 0x7F,
0xF8, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFC, 0x3F, 0xF0, 0x3F, 0xF0, 0x3F, 0xE0, 0x7F, 0xFC, 0x00,
0x00, 0x03, 0xF0, 0x0F, 0xC0, 0x0F, 0xC0, 0x0F, 0x80, 0x1F, 0xBC, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x64, 0xCD, 0xF6, 0xE1, 0xC9, 0x3F,
0x3F, 0xFB, 0xA6, 0x00, 0x00, 0x1F, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x1F, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xED,
0xFF, 0xFF, 0xFF, 0xB7, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x20, 0x00, 0x01, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup(){
Serial.begin(9600);
Serial.println("Start to draw");
oled.init();
oled.fillScreen(COLOR_BLACK);
delay(2000);
oled.drawBitMap(0,0,SeeedLogo,96,64,COLOR_YELLOW);
delay(5000);
Serial.println("start to scoll ...");
oled.setScolling(Vertical,0,64,0);
}
void loop(){
//nothing to do
}
上传代码后,您可以看到屏幕上会显示 Seeed 的黄色标志,如下图所示。
在线原理图查看器
资源
技术支持与产品讨论
感谢您选择我们的产品!我们致力于为您提供各种支持,以确保您使用我们的产品时获得最佳体验。我们提供多个沟通渠道,以满足不同的偏好和需求。