Arduino U8g2库驱动OLED

1.U8g2库介绍
U8g2库是嵌入式设备单色图形库,支持非常多的嵌入式设备平台,如单片机、STM32、Arduino等,支持大部分主流的单色OLED和LCD显示控制器,如我们常见的SSD1306。其包括了多种图形的绘制,支持多种字体。

  • u8g2.begin():U8g2构造函数。
  • u8g2.clean():清除屏幕显示,清除缓冲区,光标回到原点位置。
  • u8g2.setFont():设置字体。
  • u8g2.drawStr():绘制字符串。
  • u8g2.firstPage()/nextPage():循环刷新显示。
    2.滚动显示
    https://zhuanlan.zhihu.com/p/68615316?from_voters_page=true
    点击查看字符滚动连接
    主要大概如下:
/* 
 效果:1306 OLED 自上而下滚动显示 Hello World 
*/ 
#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // All Boards without Reset of the Display
int yPos = 0; //初始化y轴的坐标系
void setup(void) {
 u8g2.begin();
 u8g2.setFont(u8g2_font_ncenB14_tr); // 设置字体
} 
void loop() {
 u8g2.firstPage();
 do {
 draw();
 } while ( u8g2.nextPage() );
 if (yPos < 83) { //y纵轴的坐标系最大值
 yPos++; //从0开始,每次循环+1,向下滚动
 }
 else {
 yPos = 0;//滚到底部时yPos归零,重新循环
 }
} 
void draw() {
 u8g2.drawStr(0, yPos, "Hello World");
} 
  • u8g2.clear() // 清空缓冲区内的所有像素点;

  • u8g2.clearBuffer() //清空缓冲区内的所有像素,接着用

  • sendBuffer() 方法来把缓冲区内容显示出来;

  • u8g2.Print() //在当前光标位置输出文字。光标位置可
    以用

  • setCursor() 函数设定。字体可以用setFont() 函数。

  • u8g2.drawStr(x, y, str) //绘制字符串,它能输出什么在屏上。取决于它的setFont被设置的字体集。

  • u8g2.drawBox (x, y, w, h) //画一个实心方形,w 为宽,h 为高u

  • 8g2.firstPage() 和 u8g2.nextPage() //绘图库的图片循环需要放在这两个函数内部 u

  • 8g2.drawCircle(x, y, rad, opt) //画个空心圆,可选4个方向的半圆

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值