OLED

来自Labplus盛思维基百科
Tangliufeng讨论 | 贡献2018年7月11日 (三) 16:52的版本 串口指令说明
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
黑色传感器最终版12.20-15.png

概述

128x64OLED显示屏,用于显示图像和文字,可用于串口指令,操作简便

技术参数

  • 工作电压: VCC 3.3V -5V
  • 0.96英寸OLED,分辨率:128x64
  • 支持支持多种字体(2种UNICODE编码字体:宋体16x16,宋体24x24;2种ASCII编码字体:font5x7, Consolas32x32)
  • 通讯方式:UART
  • 模块尺寸:24x46x7.5mm

引脚定义

VCC 电源
RXI 串口接收
TXD 串口发送
GND

串口指令说明

通过串口接收显示指令,串口配置:115200,8bits,1, 无校验,无流控;

Warning yellow.png
注意 两次指令间隔时间至少要有20毫秒,确保oled能响应

显示字符串指令

      "@[X],[Y],[C]:<string>\r\n"
      '@':前缀
       ',':分隔符,必须按照格式内容输入
      [X]:显示位置X坐标,输入10进制数字,最大位数3位
      [Y]:显示位置Y坐标,输入10进制数字,最大位数3位
      [C]:显示的字体代码;'0' = Font5x7, '1' = 宋体16x16, '2' = 宋体24x24, '3' = Consolas32x32
      <string>:要显示的字符串内容,最大长度128字节,注意ASCII字符占用1个字节,汉字占用3个字节,超过会自动截断;
      '\r\n';回车换行,表示字符串结束;
     

清除区域指令

      "#0:[X0],[Y0],[X1],[Y1]\r\n"
      '#':前缀
      '0':清除区域指示
      [X0]:区域左上角X坐标,输入10进制数字,最大位数3位
      [Y0]:区域左上角Y坐标,输入10进制数字,最大位数3位
      [X1]:区域右下角X坐标,输入10进制数字,最大位数3位
      [Y1]:区域右下角Y坐标,输入10进制数字,最大位数3位
      '\r\n';回车换行,表示字符串结束;

刷屏指令

      1.发送'>'字符;
      2.在500mS以内发送1024字节屏幕显示内容,数据组织如下
8页数据,每页128字节
每个字节数据结构

Arduino示例

/*************************************************
Copyright:wiki.labplus.cn
Author:tangliufeng
Date:11.July.2018
Description:oled模块显示A0引脚的analog value
**************************************************/



void setup()
{
	Serial.begin(115200);   //oled串口通讯波特率为115200
	pinMode(A0,INPUT);
}

void loop()
{
	uint16_t readDate = analogRead(A0);
	Serial.print("@0,0,1:");
	Serial.print("A0模拟值");
	Serial.println();
	delay(20);
	Serial.print("@80,0,1:");
	Serial.print(readDate);
	Serial.println();
	delay(1000);
	Serial.print("#0:0,0,127,63\r\n");
	delay(10);
}

MicroPython示例

from microbit import *

uart.init(baudrate=115200, bits=8, parity=None, stop=1, tx=pin1, rx=pin0)      #初始化串口 引脚定义   
print("@1,1,1:盛思bluebit-OLED\r\n")                                      #发送显示指令

应用示例

版本历史记录

Version Date Note [+]新增[-]删除[^]修复
V2.0