【史上最全面esp32教程】oled显示篇

文章目录

  • 前言
  • 介绍及库下载
  • 基础使用
  • 引脚的连接
  • 使用函数
  • 总结

  • 前言

    本节课主要讲的是OLED的基础使用。使用的oled为0.96寸,128*64。
    大家的其他型号也是可以用的。


    提示:以下是本篇文章正文内容,下面案例可供参考

    介绍及库下载

    oled的简介:
    OLED英文全名Organic Light-Emitting Diode,又可称为「有机发光二极体」或是「有机电雷射显示」。

    OLED有着色彩鲜艳、功耗低的优点,它的显示技术具有自发光的特性,透过非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,不仅显示屏幕可视角度大,因为少了LED背光,耗电能够降低。还有一个很大的特性,在荧幕应用设计上,它可以弯曲,因此能够用来设计的范围更广,如曲面屏幕、屏幕下指纹辨识等。

    OLED英文全名Organic Light-Emitting Diode,又可称为「有机发光二极体」或是「有机电雷射显示」。

    OLED有着色彩鲜艳、功耗低的优点,它的显示技术具有自发光的特性,透过非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,不仅显示屏幕可视角度大,因为少了LED背光,耗电能够降低。还有一个很大的特性,在荧幕应用设计上,它可以弯曲,因此能够用来设计的范围更广,如曲面屏幕、屏幕下指纹辨识等。

    闪屏:

    因OLED的调光方式,导致可能出现闪屏的现象,闪屏指的是屏幕以低频率闪烁,虽然视觉上看不出闪烁,看久了可能会产生视觉疲劳的现象,但这部分因人而异,有些人感觉不出来。

    esp oled下载链接
    提取码:0000
    下载完后,进入arduino—>项目—>包含库—–>添加zip库,把上面的放入,不需要解压。

    基础使用

    引脚的连接

    我们可以看到OLED有4个,1个GND,1个VCC,还有最重要的SDA和SCL,SDA和SCL就是用来传输数据的,在这里,我的SDA和SCL为19,18pin脚

    使用函数

    使用oled需要包含如下头文件:

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

    oled对象的定义:

    //OLED引脚定义
    #define SDA   19
    #define SCL   18
    SSD1306Wire display(0x3c, SDA, SCL);
    

    初始化oled:

    display.init();
    

    垂直翻转屏幕(把屏幕显示倒转180°):

    display.flipScreenVertically();
    

    设置字体大小:

    display.setFont(ArialMT_Plain_24);//最后的数字是字体的大小
    

    显示字符串:

    display.drawString(x, y, "Hello World");
    

    在每次绘制完后都要调用显示函数:

    display.display();
    

    然后就会显示到屏幕上了。

    显示hello world在屏幕上:

      display.init();//初始化UI
      display.flipScreenVertically();//垂直翻转屏幕设置
      display.setFont(ArialMT_Plain_24);//设置字体大小
      display.drawString(0, 0, "Hello World");//显示
      display.display();//将缓存数据写入到显示器
    

    设置字符串对齐:

    display.setTextAlignment(TEXT_ALIGN_LEFT);
    

    对齐方式:
    TEXT_ALIGN_LEFT:左对齐
    TEXT_ALIGN_RIGHT:右对齐
    TEXT_ALIGN_CENTER:中间对齐

    填满整个width:

    display.drawStringMaxWidth(0, 0, width,
                                 "Lorem ipsum\n dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore." );
    

    运行后,就会发现,整个屏幕都是字。

    绘图相关函数:
    画点:

    display.setPixel(x, y);
    

    画矩形:

    display.drawRect(x,y, width, height);
    

    画填充矩形

    display.fillRect(x,y, width, height);
    

    画水平线和垂直线:

      display.drawHorizontalLine(x, y, width);
      display.drawVerticalLine(x, y, width);
    

    画圆形:

    display.drawCircle(x, y, r);
    

    画进度条:

    display.drawProgressBar(x1, y1, x2, y2, progress进度);
    

    画xbm图片:
    display.drawXbm(x, y, width, height, 图片变量数组);

    总结

    总的来说,ESP32 OLED是一个功能强大的开发板,结合OLED屏幕和Adafruit SSD1306库,可以轻松显示信息。连接OLED屏幕和编写代码的过程可能需要一些技术技能,但是一旦环境搭建完毕并了解了相关函数,使用ESP32 OLED就变得非常简单。
    请大家关注我,以后还会继续更新esp32的教程。

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【史上最全面esp32教程】oled显示篇

    发表评论