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

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

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十八:0.66英寸OLED显示模块 液晶屏模块IIC/I2C接口 64*48像素 SSD1306驱动芯片

在这里插入图片描述
在这里插入图片描述

知识点:OLED (Organic Light-Emitting Diode)
即有机发光二极管,在手机OLED上属于新型产品,被称誉为“梦幻显示器”。OLED显示技术与传统的LCD显示方式不同,无需背光灯,采用非常薄的有机材料涂层和玻璃基板(或柔性有机基板),当有电流通过时,这些有机材料就会发光。而且OLED显示屏幕可以做得更轻更薄,可视角度更大,并且能够显著的节省耗电量。

在这里插入图片描述
OLED技术特点
(1) OLED 器件的核心层厚度很薄,厚度可以小于 1mm,为液晶的 1/3。
(2) OLED 器件为全固态机构,无真空,液体物质,抗震性好,可以适应巨大的加速度,振动等恶劣环境。
(3) 主动发光的特性使 OLED 几乎没有视角限制,视角一般可达到 170 度,具有较宽的视角,从侧面也不会失真。
(4) OLED 显示屏的响应时间超过 TFT—LCD 液晶屏。TFT—LCD 的响应时间大约使几十毫秒,现在做得最好的 TFT—LCD 响应时间也只有 12 毫秒。而 OLED 显示屏的响应时间大约是几微秒到几十微秒。
(5) OLED 低温特性好,在零下 40 摄氏度都能正常显示,目前航天服上也使用OLED 作为显示屏。而 TFT—LCD 的响应速度随温度发生变化,低温下,其响应速度变慢,因此,液晶在低温下显示效果不好。
(6) OLED 采用有机发光原理,所需材料很少,制作上比采用液体发光的液晶工序少,液晶显示屏少 3 道工序,成本大幅降低。
(7) OLED 采用的二极管会自行发光,因此不需要背面光源,发光转化效率高,能耗比液晶低,OLED 能够在不同材质的基板上制造,厂家甚至可以将电路印刷在弹性材料上——做成能弯曲的柔软显示器。
(8) 低电压直流驱动,5V 以下,用电池就能点亮。高亮度,可达 300 明流以上。

在这里插入图片描述
0.66英寸OLED显示模块 液晶屏模块IIC/I2C接口 64*48像素 SSD1306驱动芯片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

0.66英寸OLED显示模块电原理图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实验接线示意图

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十九:0.66英寸OLED显示模块 液晶屏模块IIC/I2C接口 64*48像素 SSD1306驱动芯片
项目之一:er_oled库位图与字符测试

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十九:0.66英寸OLED显示模块 液晶屏模块IIC/I2C接口 64*48像素 SSD1306驱动芯片
  项目之一:er_oled库位图与字符测试
  实验接线:
     OLED   =>    Arduino
   1. GND    ->    GND
   2. VCC    ->    3.3
   3. SCL    ->    SCL
   4. SDA    ->    SDA
   5. RES    ->    8
   6. DC     ->    GND
   7. CS     ->    GND
*/

#include <Wire.h>
#include "er_oled.h"

uint8_t oled_buf[WIDTH * HEIGHT / 8];

void setup() {
  Serial.begin(9600);
  Serial.print("OLED Example\n");
  Wire.begin();

  /* display an image of bitmap matrix */
  er_oled_begin();
  er_oled_clear(oled_buf);
  er_oled_bitmap(0, 0, PIC1, 64, 48, oled_buf);
  er_oled_display(oled_buf);
  delay(1000);
  command(0xa7);//--set Negative display
  delay(1000);
  command(0xa6);//--set normal display

  er_oled_clear(oled_buf);
  er_oled_bitmap(0, 0, PIC2, 64, 48, oled_buf);
  er_oled_display(oled_buf);
  delay(1000);

  command(0xa7);//--set Negative display
  delay(1000);
  command(0xa6);//--set normal display

  er_oled_clear(oled_buf);
  /* display images of bitmap matrix */
  er_oled_bitmap(0, 0, Signal816, 16, 8, oled_buf);
  er_oled_bitmap(19, 0, Bluetooth88, 8, 8, oled_buf);
  er_oled_bitmap(30, 0, Msg816, 16, 8, oled_buf);
  er_oled_bitmap(48, 0, Bat816, 16, 8, oled_buf);
  er_oled_string(2, 8, "EastRising", 12, 1, oled_buf);
  er_oled_string(2, 20, "buydisplay", 12, 1, oled_buf);
  er_oled_string(0, 32, "OLED-DIS", 16, 1, oled_buf);
  er_oled_display(oled_buf);
  delay(1000);

  er_oled_clear(oled_buf);
  er_oled_string(2, 0, "EastRising", 12, 1, oled_buf);
  er_oled_char(0, 16, '1' , 16, 1, oled_buf);
  er_oled_char(8, 16, '2', 16, 1, oled_buf);
  er_oled_char(16, 16, ':', 16, 1, oled_buf);
  er_oled_char(24, 16, '0', 16, 1, oled_buf);
  er_oled_char(32, 16, '6', 16, 1, oled_buf);
  er_oled_char(40, 16, ':', 16, 1, oled_buf);
  er_oled_char(48, 16, '1', 16, 1, oled_buf);
  er_oled_char(56, 16, '8', 16, 1, oled_buf);

  er_oled_string(2, 36, "buydisplay", 12, 1, oled_buf);
  er_oled_display(oled_buf);
}

void loop() {
}

实验场景图

在这里插入图片描述

实验场景图 动态图

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驴友花雕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值