“第二课--Microduino OLED使用/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | ==目的== 了解Microduino OLED,并掌握如何使用库驱动OLED显示屏。 ==设备== *'''Microduino-OLED''' Microduino-Oled 12864 是...")
 
 
(未显示2个用户的9个中间版本)
第1行: 第1行:
 +
{{Language|Lesson_2--Microduino_OLED_Usage}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
第5行: 第6行:
 
了解Microduino OLED,并掌握如何使用库驱动OLED显示屏。
 
了解Microduino OLED,并掌握如何使用库驱动OLED显示屏。
 
==设备==
 
==设备==
*'''[[Microduino-OLED]]'''
+
*'''[[Microduino-OLED/zh]]'''
 
Microduino-Oled 12864 是基于 SSD1306 的 0.96 吋 12864 OLED 显示模块。采用I2C接口,3.3V 电源供电。像素为128*64(128列*64行)。
 
Microduino-Oled 12864 是基于 SSD1306 的 0.96 吋 12864 OLED 显示模块。采用I2C接口,3.3V 电源供电。像素为128*64(128列*64行)。
  
*'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
  
*'''[[Microduino-Core+]]'''
+
*'''[[Microduino-Core+/zh]]'''
  
*'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
  
 
*其他设备:
 
*其他设备:
第18行: 第19行:
 
**杜邦线    四根
 
**杜邦线    四根
 
**USB数据线  一根
 
**USB数据线  一根
 +
 +
[[File:intermediateLesson2All1.jpg|800px|thumb|center|Microduino-OLED]]
 +
[[File:intermediateLesson2All2.jpg|800px|thumb|center|Microduino-OLED]]
 +
[[File:intermediateLesson2All3.jpg|800px|thumb|center|Microduino-OLED]]
 +
 
==IIC通讯接法==
 
==IIC通讯接法==
 
{|class="wikitable"
 
{|class="wikitable"
 
! rowspan="1" |OLED||Core||Core+
 
! rowspan="1" |OLED||Core||Core+
 
|-
 
|-
|SDA||A4||D20或A4
+
|SDA||A4||SDA
 
|-
 
|-
|SCL||A5||D21或A5
+
|SCL||A5||SCL
 
|-
 
|-
 
|3V3||3V3||3V3
 
|3V3||3V3||3V3
第30行: 第36行:
 
|GND||GND||GND
 
|GND||GND||GND
 
|}
 
|}
 +
 
==准备==
 
==准备==
 
*【U8glib库'''[http://code.google.com/p/u8glib/ google下载 ]''' 】
 
*【U8glib库'''[http://code.google.com/p/u8glib/ google下载 ]''' 】
第38行: 第45行:
  
 
==程序==
 
==程序==
程序下载:'''[[File:oled_project.zip]]'''
+
程序下载:[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/Microduino_OLED Microduino_OLED]
 +
 
 
==实验一==
 
==实验一==
 
*显示字符,包括指定字符和数据变化的字符
 
*显示字符,包括指定字符和数据变化的字符
第45行: 第53行:
 
*第一行显示指定字符"*_*Microduino*_*";
 
*第一行显示指定字符"*_*Microduino*_*";
 
*第二行显示指定字符"Time:";
 
*第二行显示指定字符"Time:";
*第三行显示mills()函数计时时间以毫秒为单位,及转化为妙的单位,只保留两位小数。
+
*第三行显示mills()函数计时时间以毫秒为单位,及转化为秒的单位,只保留两位小数。
 
*语法:
 
*语法:
 
**u8g.setFont(XXX)函数用于设置字体,没有默认字体,必须定义;
 
**u8g.setFont(XXX)函数用于设置字体,没有默认字体,必须定义;
第54行: 第62行:
 
**换字体与换坐标需要重新在显示函数前加上字体及坐标函数。
 
**换字体与换坐标需要重新在显示函数前加上字体及坐标函数。
 
**更换字体在U8glib\utility文件中的u8g.h文本里查找字体库;
 
**更换字体在U8glib\utility文件中的u8g.h文本里查找字体库;
 +
 +
[[File:intermediateLesson2experment1.jpg|800px|thumb|center|Microduino-OLED]]
 +
 
==实验二==
 
==实验二==
 
*画图
 
*画图
第71行: 第82行:
 
**u8g.drawRFrame(X,Y,I,W,B)函数用来画顶角弯曲矩形;
 
**u8g.drawRFrame(X,Y,I,W,B)函数用来画顶角弯曲矩形;
 
***X:水平位坐标,Y:纵向坐标,I:长,W:宽
 
***X:水平位坐标,Y:纵向坐标,I:长,W:宽
 +
 +
[[File:intermediateLesson2experment2.jpg|800px|thumb|center|Microduino-OLED]]
  
 
==实验三==
 
==实验三==
第99行: 第112行:
 
*u8g.drawXBMP( X, Y, I, W, XXXX);
 
*u8g.drawXBMP( X, Y, I, W, XXXX);
 
**X:水平位坐标,Y:纵向坐标,I:长,W:宽,XXXX:汉字代码数组名称。
 
**X:水平位坐标,Y:纵向坐标,I:长,W:宽,XXXX:汉字代码数组名称。
 +
 +
[[File:intermediateLesson2experment3.jpg|800px|thumb|center|Microduino-OLED]]
  
 
==视频==
 
==视频==
 
http://v.youku.com/v_show/id_XNjc1NTc1MTE2.html
 
http://v.youku.com/v_show/id_XNjc1NTc1MTE2.html
 
|}
 
|}

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