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

这篇具有很好参考价值的文章主要介绍了【史上最全面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的教程。文章来源地址https://www.toymoban.com/news/detail-418698.html

到了这里,关于【史上最全面esp32教程】oled显示篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 史上最全网络安全面试题+答案

    1、什么是SQL注入攻击 前端代码未被解析被代入到数据库导致数据库报错 2、什么是XSS攻击 跨站脚本攻击 在网页中嵌入客户端恶意脚本,常用s语言,也会用其他脚本语言 属于客户端攻击,受害者是用户,网站管理员也属于用户,攻击者一般也是靠管理员身份作为跳板 3、什么

    2024年02月13日
    浏览(54)
  • 史上最全网络安全面试题汇总

    最近有不少小伙伴跑来咨询: 想找网络安全工作,应该要怎么进行技术面试准备? 工作不到 2 年,想跳槽看下机会,有没有相关的面试题呢? 为了更好地帮助大家高薪就业,今天就给大家分享一份网络安全工程师面试题,希望它们能够帮助大家在面试中,少走一些弯路、更

    2024年02月07日
    浏览(55)
  • Vscode搭建开发调试STM32/RISC-V环境IDE(最全面)

    单片机开发IDE环境如KeilMDK,虽然操作简单 ,方便调试。但就是代码编辑风格很老套,中文符号乱码还是常有的事。而如今流行的vscode编辑器很不错,免费且相当轻量级,用来代码开发体验很不错,看着都舒服。Clion IDE体验更好,但就是它不免费且体积较大。Stm32cubeIDE生成工

    2024年02月16日
    浏览(69)
  • 【JaveWeb教程】(26) Mybatis基础操作(新增、修改、查询、删除) 详细代码示例讲解(最全面)

    学习完mybatis入门后,我们继续学习mybatis基础操作。 需求说明: 根据资料中提供的《tlias智能学习辅助系统》页面原型及需求,完成员工管理的需求开发。 通过分析以上的页面原型和需求,我们确定了功能列表: 查询 根据主键ID查询 条件查询 新增 更新 删除 根据主键ID删除

    2024年01月17日
    浏览(53)
  • 【JaveWeb教程】(25) JDBC、数据库连接池、Lombok 详细代码示例讲解(最全面)

    2.1 介绍 通过Mybatis的快速入门,我们明白了,通过Mybatis可以很方便的进行数据库的访问操作。但是大家要明白,其实java语言操作数据库呢,只能通过一种方式:使用sun公司提供的 JDBC 规范。 Mybatis框架,就是对原始的JDBC程序的封装。 那到底什么是JDBC呢,接下来,我们就来介

    2024年01月16日
    浏览(67)
  • 【JaveWeb教程】(22) MySQL数据库开发之多表查询:内连接、外连接、子查询 详细代码示例讲解(最全面)

    1.1.1 数据准备 SQL脚本: 1.1.2 介绍 多表查询:查询时从多张表中获取所需数据 单表查询的SQL语句:select 字段列表 from 表名; 那么要执行多表查询,只需要使用逗号分隔多张表即可,如: select 字段列表 from 表1, 表2; 查询用户表和部门表中的数据: 此时,我们看到查询结果中包

    2024年01月22日
    浏览(58)
  • Flutter最全面试题大全

    在理解这些问题之前,建议看一下Flutter架构原理,如下链接: https://blog.csdn.net/wang_yong_hui_1234/article/details/130427887?spm=1001.2014.3001.5501 1.使用overflow属性 2.使用maxLines属性 3.使用Expanded或Flexible 4.使用ListView或SingleChildScrollView Widget是UI的声明式描述,它们通常是层次结构的顶部。

    2024年02月08日
    浏览(52)
  • SpringCloud最新最全面试题

    目录 一、简单说一说什么是微服务? 二、微服务有哪些优缺点? 三、微服务、分布式、集群的区别? 四、什么是Eureka? 五、Eureka有那两大组件? 六、actuator是什么? 七、Discovery是什么? 八、什么是Eureka的自我保护机制? 九、微服务有很多注册中心组件,说说你知道的有

    2024年02月12日
    浏览(53)
  • ChatGPT百科全书(全网最全面)

    ChatGPT是一款先进的自然语言处理(NLP)模型,由OpenAI开发和维护。它基于OpenAI的第四代生成预训练Transformer(GPT-4)架构,旨在通过深度学习技术理解和生成人类语言。ChatGPT可以与用户进行自然、流畅的交流,为各种场景提供智能问答和文本生成能力。 GPT-4架构继承了GPT-3的

    2024年02月05日
    浏览(90)
  • 网络安全面试题大全(整理版)300+面试题附答案详解,最全面详细

    随着国家政策的扶持,网络安全行业也越来越为大众所熟知,想要进入到网络安全行业的人也越来越多。 为了拿到心仪的Offer之外,除了学好网络安全知识以外,还要应对好企业的面试。 作为一个安全老鸟,工作这么多年,面试过很多人也出过很多面试题目,也在网上收集了

    2024年02月08日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包