OLED使用

来自Microduino Wikipedia
跳转至: 导航搜索
Language English

目的

了解Microduino OLED,并掌握如何使用库驱动OLED显示屏。

设备

模块 数量 功能
Microduino-CoreUSB/zh 1 核心板
Microduino-OLED/zh 1 OLED显示器

程序

程序下载:Microduino_OLED

实验一

  • 显示字符,包括指定字符和数据变化的字符

打开OLED_Text测试程序,选择好板卡(CoreUSB)和串口下载即可。 结果:

  • 第一行显示指定字符"*_*Microduino*_*";
  • 第二行显示指定字符"Time:";
  • 第三行显示mills()函数计时时间以毫秒为单位,及转化为妙的单位,只保留两位小数。
  • 语法:
    • u8g.setFont(XXX)函数用于设置字体,没有默认字体,必须定义;
    • u8g.setPrintPos(X,Y)函数用于指定字符的坐标位置,X表示水平位坐标,Y表示纵向坐标,最上一行的Y值不能为0,值要大于显示字体的高度;
    • u8g.print(XXX)函数用于显示字符,静态不动的字符要加””,变化数据则不需要;
    • u8g.drawStr(X, Y,XXX)函数可用于显示指定的字符,不能用于显示变化的数据;
    • u8g.setRot180()函数用于字体旋转,可将180更改为90、270;默认的是0,根据需要调整。
    • 换字体与换坐标需要重新在显示函数前加上字体及坐标函数。
    • 更换字体可在U8glib\utility文件中的u8g.h文本里查找字体库;

实验二

  • 画图

打开OLED_Paint测试程序。该实验实现如何画一条直线、一个实心圆、空心圆、实心矩形、空心矩形、顶角弯曲矩形,采用系统计时模拟指针表的秒针。

  • 语法:
    • u8g.drawLine(X,Y,M,N)用来画直线;
      • X:起点水平位坐标,Y:起点纵向坐标,M:终点水平位坐标,N:终点纵向坐标
    • u8g.drawDisc(X,Y,D)函数用来画实心圆;
      • X:水平位坐标,Y:纵向坐标,D:直径
    • u8g.drawCircle(X,Y,D)函数用来画空心圆;
      • X:水平位坐标,Y:纵向坐标,D:直径
    • u8g.drawFrame(X,Y,I,W)函数用来画空心矩形;
      • X:水平位坐标,Y:纵向坐标,I:长,W:宽
    • u8g.drawBox(X,Y,I,W)函数用来画实心矩形;
      • X:水平位坐标,Y:纵向坐标,I:长,W:宽
    • u8g.drawRFrame(X,Y,I,W,B)函数用来画顶角弯曲矩形;
      • X:水平位坐标,Y:纵向坐标,I:长,W:宽
文件:OLED Paint.jpg
Microduino-OLED

实验三

  • 汉字及图片的显示及动态文字:
    • 字符显示是通过调用库就可以直接将其打印出来,图片及汉字则要通过取模才能打印出来。

取模则需要用到取模软件(Windows):文件:PCtolCD.zip

  • 以汉字为例:
    • 制作汉字取模代码:

步骤一:打开取模软件,将模式选择为字符模式;

Microduino-OLED

步骤二:设置字体大小为32*32;

Microduino-OLED

步骤三:输入汉字,可以选择字体;

Microduino-OLED

步骤四:设置取模格式;

Microduino-OLED
Microduino-OLED

步骤五:设置完成后生成代码。

Microduino-OLED

步骤六:把原汉字代码替换成生成的代码

语法:

  • u8g.drawXBMP( X, Y, I, W, XXXX);
    • X:水平位坐标,Y:纵向坐标,I:长,W:宽,XXXX:汉字代码数组名称。
文件:OLED Writing.jpg
Microduino-OLED

视频