第二课--Microduino OLED使用/zh

来自Microduino Wikipedia
963029146@qq.com讨论 | 贡献2015年8月6日 (四) 07:57的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

目的

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

设备

Microduino-Oled 12864 是基于 SSD1306 的 0.96 吋 12864 OLED 显示模块。采用I2C接口,3.3V 电源供电。像素为128*64(128列*64行)。

  • 其他设备:
    • OLED转接线 一根
    • 杜邦线 四根
    • USB数据线 一根
Microduino-OLED
Microduino-OLED

IIC通讯接法

OLED Core Core+
SDA A4 SDA
SCL A5 SCL
3V3 3V3 3V3
GND GND GND

准备

  • 【U8glib库google下载
  • 将下载好的库放入Arduino IDE安装文件夹内的libraries;
  • 打开示例程序,如果之前打开了Arduino IDE,先关闭所有,再打开u8glib库里的示例程序;
  • 按照IIC接法将OLED显示屏接入电路中。
Microduino-OLED

程序

程序下载:Microduino_OLED

实验一

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

打开OLED_Text测试程序,选择好板卡和串口下载即可。 语法:

  • 第一行显示指定字符"*_*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:宽

实验三

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

取模则需要用到取模软件:文件: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:汉字代码数组名称。

视频

http://v.youku.com/v_show/id_XNjc1NTc1MTE2.html