资讯详情

U8g2库的详细使用

一.硬件介绍:

因为作者这里只有0.96寸的OLED屏幕,然后谈谈最常用的0.96寸OLED屏幕吧。

OLED介绍:

OLED,即有机发光二极管( Organic Light Emitting Diode)。 OLED 由于具有自发光、无背光源、对比度高、厚度薄、视角广、反应速度快、柔性面板、使用温度范围广、结构简单、工艺简单等优良特点,被认为是下一代平面显示器的新兴应用技术。LCD 都需要背光,而且 OLED 不,因为它是自发光的。同样的显示 OLED 效果更好。以目前的技术为基础,OLED 尺寸难以大规模化,但分辨率确实很高。我们在这里用0.96寸OLED显示屏具有以下特点:

  • 0.96寸OLED 有三种颜色:黄蓝、白蓝;其中,黄蓝是屏幕上的; 1/4 部分为黄光,下 3/4 蓝色;固定区域显示固定颜色,颜色和显示区域不能修改;白光为纯白色,即黑底白字;蓝色为纯蓝色,即黑底蓝字。
  • 分辨率为 128*64
  • 接口方式多种多样;OLED 裸屏总接口包括6800和8080 两种并行接口方式,3 线或 4 线的串行 SPI 接口方式、 IIC 接口方式(只需要 2 可以控制根线OLED),这五个接口通过屏幕BS0~BS2来配置的。
  • 开发了两种接口 Demo 板,接口分别为七针 SPI/IIC 兼容模块,四针IIC 模块。两个模块使用方便;希望您能根据实际需要选择不同的模块。

图为笔者用OLED显示屏幕的温度、湿度和光强度LCD1602屏幕

0.96寸OLED屏幕介绍:

  • 工作电压:3V~5.5V
  • I2C介面 (位址:0x30)
  • 驱动IC:SSD1306
  • OLED屏幕分为单色和双色两种
  • GND 电源地
  • VCC 电源正(3~5.5V)
  • SCL OLED 的 D0 脚,在 IIC 时钟管脚在通信中
  • SDA OLED 的 D1 脚,在 IIC 通信是数据管 和电脑显示器一样,OLED坐标原点在屏幕左上角(0).0)水平轴坐标向右增加,垂直向下增加。

二.程序介绍:

1.U8g2库的下载:

2.U8g2库函数:

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0 ,U8X8_PIN_NONE); U8G2//程序库_SSD1306/控制晶片_128X64_NONAME//分析和型号_F//临存区大小可改为1、2,F  _HW_I2C//控制介面 u8g2(U8G2_R0// 代表不旋转,U8X8_PIN_NONE//意味着没有重置引脚); begin()///初始化 clear()///清除暂存记忆体 sendBuffer()//向显示器发送暂存记忆体内容,配合上一个指令 enableUTF8Print()///启用enableUTF8Print(如:中文)字串 setFont()///设置字体 drawStr(x,y,"字串")//在坐标(x,y)显示英文字体     注:该函数不支持显示自制汉字 drawUTF8(x,y,"字串")使用前必须设置显示字体 setCursor(x,y)///设置游标坐标(x,y) print("字串")///在游标位置显示字体(可以用这种方法显示中文字体) 

小补充:

U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,19,20,U8X8_PIN_NONE);//19 SCL引脚   20  SDA引脚 

3.U8g2库使用模板:

#include <Arduino.h> #include <U8g2lib.h>  U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0 ,U8X8_PIN_NONE);  void setup() {   u8g2.begin();//初始化   u8g2.setFont(u8g2_font_ncenB08_tr);///设置字体 }  void loop() {     u8g2.firstPage();   do {          u8g2.drawStr(0, 10, "Temperature");///在指定位置显示字符串              } while ( u8g2.nextPage() );   

4.小应用:使用屏幕显示"hangzhou"

#include <Arduino.h> #include <U8g2lib.h>  U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0 ,U8X8_PIN_NONE);//实例化  void setup() {   u8g2.begin();//初始化   u8g2.setFont(u8g2_font_ncenB08_tr);///设置字体 }  void loop() {     u8g2.firstPage();   do {          u8g2.drawStr(0, 10, "hangzhou");///在指定位置显示字符串              } while ( u8g2.nextPage() ); } 

5.效果显示:

注意作者这里没有重置引脚,所以UNO板直接SCL,SCL相连,SDA和SDA相连 此外,作者不介绍如何在这里使用它U8g2库显示网上传送门案例太多。

标签: 蓝双色二极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台