arduino玩转ArduinoIoT-Arduino

基于ssd1306驱动的12864oled屏介绍

2017-02-07  本文已影响5540人  cheng3100

最近在淘宝上找到了一款便宜的12864 OLED屏,阅读了相关的数据手册后整理了一些关于这种屏的资料,方便大家写驱动


屏幕模块图片

硬件结构

这款屏幕模块尺寸约为0.96英寸,主要由裸屏和底板PCB组成,裸屏由SSD1306驱动,这也是一种较为广泛使用的led驱动芯片。

基本信息 参数
驱动电压 3.3~5V
分辨率 128x64
驱动接口 I2C
I2C地址 0x3c(默认)\0x3d可选

关于这个模块要注意的是:

基本测试

了解基本驱动指令后便可以开始C驱动程序了,不过这里推荐使用arduino的一个屏幕驱动库u8g2来进行测试,会非常方便,下面程序用于显示“hello world”。

//"hello world" test
#include <U8g2lib.h>

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0);

void setup(void) {
  u8g2.begin();
}

void loop(void) {
  u8g2.clearBuffer();                   // clear the internal memory
  u8g2.setFont(u8g2_font_ncenB14_tr);   // choose a suitable font
  u8g2.drawStr(0,20,"Hello World!");    // write something to the internal memory
  u8g2.sendBuffer();                    // transfer internal memory to the display
  delay(1000);  
}

显示效果如图


hello world 显示

除了字符外,也可以用于显示动态图形:

圆形显示

u8g2是一个非常强大的8位屏幕显示库,兼容性很强,不仅支持数十种驱动芯片,其强大之处还在于有丰富的字体可供选择,而且字体的大小间距都可以细致调节,也可以实现比较复杂的图形动态显示,关于它的安装、使用说明请看我的另外一篇博客(待完成:-)

上一篇下一篇

猜你喜欢

热点阅读