【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十七:1.3寸OLED液晶屏 I2C IIC通信 4针模块 1106/1306驱动 128*64像素

在这里插入图片描述
在这里插入图片描述
知识点:SH1106
是一款带有控制器的单芯片 CMOS OLED/PLED 驱动器,用于有机/聚合物发光二极管点阵图形显示系统。 SH1106由132段、64个公共端组成,可支持最大132 X 64的显示分辨率。专为共阴极型 OLED 面板设计。SH1106 内嵌对比度控制、显示 RAM 振荡器和高效的 DC-DC 转换器,减少了外部元件和功耗。 SH1106 适用于各种紧凑型便携式应用,例如手机、计算器、MP3播放器等副显示。

SH1106功能框图

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第1张图片

SH1106的主要特征
„ 支持最大 132 X 64 点阵面板
„ 嵌入式 132 X 64 位 SRAM
„ 工作电压:

  • 逻辑电压供应:VDD1 = 1.65V - 3.5V
  • DC-DC 电压供应:VDD2 = 3.0V – 4.2V
  • OLED 工作电压供应:
    外部 VPP 电源 = 6.4V - 13.0V
    内部 VPP 发生器 = 6.4V - 9.0V
    „ 最大段输出电流:200μA
    „ 最大公共吸收电流:27mA
    „ 8 位 6800 系列并行接口,8 位 8080 系列
    并行接口,3 线和 4 线串行外设
    接口,400KHz快速I2
    C总线接口
    „ 可编程帧频和复用率
    „ 行重映射和列重映射 (ADC)
    „ 垂直滚动
    „ 片上振荡器
    „ 可编程内部电荷泵电路输出
    „ 单色无源 OLED 上的 256 级对比度控制
    控制板
    „ 低功耗
  • 睡眠模式:<5μA
  • VDD1=0V,VDD2=3.0V – 4.2V: <5μA
  • VDD1,2=0V,VPP=3.0V – 4.2V: <5μA
    „ 工作温度范围广:-40 至 +85°C
    „ 可提供 COG 形式,厚度:300μm

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第2张图片
【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第3张图片
【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第4张图片
【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第5张图片

I2C接口电路

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第6张图片
【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第7张图片
【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第8张图片

1.3寸OLED液晶屏 I2C IIC通信 4针模块 1106/1306驱动 132*64像素

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第9张图片

在这里插入图片描述

在这里插入图片描述
【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第10张图片

在这里插入图片描述

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第11张图片
【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第12张图片
Arduino实验接线示意图

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第13张图片

【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
实验一百八十一:1.3寸OLED液晶屏 I2C IIC通信 4针模块 1106/1306驱动 132*64像素
项目之一:点亮SH1106屏幕
实验接线:
oled模块 Ardunio Uno
GND---------GND接地线
VCC---------5V 接电源
SDA---------D6
SCL ------- D4

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  实验一百八十一:1.3寸OLED液晶屏 I2C IIC通信 4针模块 1106/1306驱动 132*64像素
  项目之一:点亮SH1106屏幕
  实验接线:
  oled模块    Ardunio Uno
  GND---------GND接地线
  VCC---------5V 接电源
  SDA---------D6
  SCL ------- D4
*/

#include 
#include 

volatile boolean g_writeValue = false;
volatile int g_displayValue = 0;

sh1106_lcd *g_pLCD = NULL;

void setup() {
  Serial.begin(9600);
  g_pLCD = sh1106_lcd::getInstance();
  if (g_pLCD != NULL)
  {
    g_pLCD->ClearScreen();
  }
  g_writeValue = true;
}

// Quick sketch showing functionality of library
void loop() {
  if (g_writeValue == true) {
    g_pLCD->DrawRectangle(2, 2, 128, 62, 2);// draw a box from 0, 0 to 100, 48
    g_pLCD->DrawRectangle(20, 20, 108, 42, 2);
    g_pLCD->FillRectangle(25, 25, 30, 30);
    g_pLCD->FillRectangle(80, 45, 100, 60);
    g_pLCD->Show();
    delay(1000);

    g_pLCD->PrintLine("0123456789");
    g_pLCD->PrintLine("aBcDEF GHIJK");
    g_pLCD->PrintLine("LMNOP QRSTUV");
    g_pLCD->PrintLine("WXYZ");
    g_pLCD->PrintLine("AAAA");
    g_pLCD->PrintLine("EEEE");
    g_pLCD->PrintLine("FFFF");
    g_pLCD->PrintLine("GGGG");
    delay(1000);
    g_pLCD->PrintLine("HHHH");

    g_pLCD->DrawPixel(10, 2, true);
    g_pLCD->DrawPixel(127, 0, true);
    g_pLCD->DrawPixel(127, 63, true);
    g_pLCD->DrawPixel(10, 63, true);
    g_pLCD->DrawPixel(0, 63, true);
    g_pLCD->DrawPixel(63, 3, true);
    g_pLCD->Show();
    delay(1000);
    g_writeValue = false;
  }
  else {
    g_pLCD->ClearScreen();
    g_pLCD->DrawLine(20, 31, 127, 31);
    g_pLCD->DrawLine(0, 0, 115, 50);
    g_pLCD->DrawLine(50, 50, 20, 20);
    g_pLCD->DrawLine(0, 50, 0, 120);
    g_pLCD->DrawLine(64, 0, 64, 64);
    g_pLCD->DrawLine(0, 80, 6, 110);
    g_pLCD->Show();
    while (1);
  }
}

实验场景图

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第14张图片

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第15张图片
【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第16张图片

【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
实验一百八十一:1.3寸OLED液晶屏 I2C IIC通信 4针模块 1106/1306驱动 132*64像素
项目之二:显示二行字符
实验接线:
oled模块 Ardunio Uno
GND---------GND接地线
VCC---------5V 接电源
SDA---------D6
SCL ------- D4

实验开源仿真编程(Linkboy V4.62)

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第17张图片
实验场景图

【雕爷学编程】Arduino动手做(187)---1.3寸OLED液晶屏模块_第18张图片

你可能感兴趣的:(单片机,嵌入式硬件,物联网,c++,Arduino,1.3寸OLED液晶屏模块)