欢迎光临
我们一直在努力

OLED12864 显示屏 4针 IIC接口 示例教程 适用于Arduino平台

1. 产品图片

2. 产品购买地址点我购买

3. 产品概述
0.96寸OLED模块采用高亮度,低功耗的OLED屏,显示颜色纯正,在阳光下有很好的可视效果。模块供电可以是3.3V也可以是5V,不需要修改模块电路,OLED屏具有多个控制指令,可以控制OLED的亮度、对比度、开关升压电路等指令。操作方便,功能丰富。同时为了方便应用在产品上,预留4个M2固定孔,方便用户固定在机壳上。

4. 产品参数
1、高分辨率:12864(和12864LCD相同分辨率,但该OLED屏的单位面积像素点多)
2、超广可视角度:大于160°
3、超低功耗:正常显示时0.06W
4、宽供电范围:直流3V-5V
5、工业级:工作温度范围-30℃~70℃
6、体积小:27mm
27mm*2mm
7、通信方式:SPI、IIC
8:、亮度、对比度可以通过程序指令控制
9:、使用寿命不少于16000小时
10、OLED屏幕内部驱动芯片:SSD1306

5. 引脚定义
VCC:供电电源(3-5V)
GND:接主控板GND
SCL:A5(UNO)A21(MEGA)
SDA:A4(UNO)A20(MEGA)
引脚接错有可能会引起烧坏模块,务必看准再接。

6. 示例程序

//中贝斯特UltiRobotOLED12864模块示例教程
//程序效果:显示网站地址arduino365.com和中文中贝斯特
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com

#include <SPI.h>  
#include <Wire.h>  
#include <Adafruit_GFX.h>  
#include <Adafruit_SSD1306.h>  
#define OLED_RESET 4  
Adafruit_SSD1306 display(OLED_RESET);  
#define LOGO16_GLCD_HEIGHT 16 //定义显示高度  
#define LOGO16_GLCD_WIDTH  16 //定义显示宽度  

static const unsigned char PROGMEM str_1[] =  
{   
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,
0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
  };//中  

static const unsigned char PROGMEM str_2[] =  
{   
0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x10,0x11,0x10,0x11,0x10,
0x11,0x10,0x11,0x10,0x12,0x10,0x02,0x80,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x08,
  };  //贝

static const unsigned char PROGMEM str_3[] =  
{   
0x22,0x00,0x22,0x04,0x7F,0x78,0x22,0x40,0x22,0x40,0x3E,0x40,0x22,0x7E,0x22,0x48,
0x3E,0x48,0x22,0x48,0x22,0x48,0xFF,0x48,0x04,0x48,0x22,0x88,0x41,0x88,0x81,0x08,
  }; //斯

static const unsigned char PROGMEM str_4[] =  
{   
0x10,0x20,0x10,0x20,0x50,0x20,0x51,0xFC,0x7C,0x20,0x50,0x20,0x93,0xFE,0x10,0x08,
0x1C,0x08,0xF1,0xFE,0x50,0x08,0x10,0x88,0x10,0x48,0x10,0x08,0x10,0x28,0x10,0x10,
  };  //特

static const unsigned char PROGMEM str_5[] =  
{   
0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,
0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,
  };  //!

#if (SSD1306_LCDHEIGHT != 64)  
#error("Height incorrect, please fix Adafruit_SSD1306.h!");  
#endif  

void setup()   {                  
  Serial.begin(9600);  

  // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)  
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)  
  // init done  
  display.clearDisplay();  

  //英文字符显示  
  display.setTextSize(1);             //设置字体大小  
  display.setTextColor(WHITE);        //设置字体颜色白色  
  display.setCursor(0,0);             //设置字体的起始位置  
  display.println("   arduino365.com");//输出字符并换行  

  display.setTextColor(BLACK, WHITE); //设置字体黑色,字体背景白色   
  display.println(12864);          //输出数字并换行  

  display.setTextSize(2);             //设置字体大小  
  display.setTextColor(WHITE);        //设置字体白色  
  display.print("zbst");                //输出字符  
  //display.display();                  //显示以上  

  //中文字符显示  
  display.drawBitmap(26, 32, str_1, 16, 16, 1); //在坐标X:26  Y:16的位置显示中文字符中
  display.drawBitmap(42, 32, str_2, 16, 16, 1); //在坐标X:42  Y:16的位置显示中文字符贝  
  display.drawBitmap(58, 32, str_3, 16, 16, 1);  
  display.drawBitmap(74, 32, str_4, 16, 16, 1);  
  display.drawBitmap(90, 32, str_5, 16, 16, 1);  
  display.display();                  //把缓存的都显示  
}
void loop() {
}

7. 注意事项
因为模块不带背光,所以如果接错,或者模块已经被烧掉,或者程序不对,没上传成功等,模块都不会亮,只要正确操作时候模块才会显示。
图片中的中文需要取模,我们在最下面下载里面提供了取模软件,将生成的点阵字模,替换掉代码里的就可以了。

8. 相关下载
百度网盘:点我下载

未经允许不得转载:Arduino-Maker » OLED12864 显示屏 4针 IIC接口 示例教程 适用于Arduino平台

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

线上商城

中贝斯特创客空间蘑菇云创客教育