当前位置:首页 > 物联网 > IoT设计分享
[导读]16x2液晶显示模块是目前最常用的显示模块,我们已经与ESP32接口构建了一个互联网时钟。但这些类型的显示器是空间和功耗模块,不能用于可穿戴产品。这是另一种流行的显示模块,称为OLED,虽然它比16x2显示器稍微贵一点,但它是一个小而不耗电的模块。OLED是一种图形显示模块,可用于显示小图像和图形。

16x2液晶显示模块是目前最常用的显示模块,我们已经与ESP32接口构建了一个互联网时钟。但这些类型的显示器是空间和功耗模块,不能用于可穿戴产品。这是另一种流行的显示模块,称为OLED,虽然它比16x2显示器稍微贵一点,但它是一个小而不耗电的模块。OLED是一种图形显示模块,可用于显示小图像和图形。

在这个项目中,我们将使用流行的带有OLED的Wi-Fi模块ESP32在其上显示一些图形图像。通过构建在ESP32上的各种应用程序来了解更多关于ESP32及其工作的信息。

OLED显示器

OLED(有机发光二极管)是一种使用有机化合物制成的发光二极管,当电流允许流过时,有机化合物就会激发。这些有机化合物有自己的光,因此它们不像普通的lcd那样需要任何背光电路。由于这个原因,OLED显示技术是节能的,广泛应用于电视和其他显示产品。

根据显示器的颜色、引脚数量、尺寸和控制器IC,市场上有各种类型的oled。

下图显示了小型OLED模块的可用选项

在本教程中,我们将使用单色蓝4针SSD1306 0.96英寸OLED模块,该模块宽128像素,长64像素。这款4针OLED仅支持I2C协议,控制器IC SSD1306有助于OLED显示接收到的字符。

组件要求:

•ESP32模块

•128*64 SSD1306 OLED模块

•跳线

ESP32 OLED显示电路图

ESP32 OLED连接:

1. ESP32的SCL引脚(D22) - OLED的> SCL引脚

2. ESP32的SDA引脚(D21) - OLED的> SDA引脚

3. ESP32的3.3v引脚- OLED的> Vcc(支持3-5v)

4. ESP32的GND -> OLED的GND

在Arduino IDE中安装OLED所需的库

为了使用ESP32在OLED上显示内容,我们需要两个库Adafruit_SSD1306库和Adafruit_GFX库。

按照以下步骤安装这些库:

1. 打开Arduino IDE并转到Sketch > Include Library > Manage Libraries。

2. 在库管理器中,搜索上述库并安装它们。

安装完库后,重新启动Arduino IDE。

面向OLED的ESP32编程

在为ESP32编写代码之前,请确保您已经下载了它的板文件。如果没有,打开Tools -> Board -> Board管理器,搜索ESP32并安装。在这里了解更多关于用Arduino IDE编程ESP32的信息。

获取OLED模块的I2C地址:

这里OLED和ESP32之间使用I2C通信,所以我们需要显示器的I2C地址。128*64 OLED的I2C地址一般为0x3C。要找到OLED模块的I2C地址,将OLED模块与ESP32连接,上传以下代码并打开串行监视器。你会看到OLED的地址。此地址将在最终代码中使用。

利用ESP32在OLED上显示图像

现在,编写代码来依次显示滚动文本和位图图像。完整的代码在本教程的末尾给出。您可以在文件->示例->AdafruitSSD1306中找到OLED的示例代码。

1. 现在,通过导入必要的库来启动代码。包括“adafruit_gx .h”,“Adafruit_SSD1306.h”用于OLED显示器和用于I2C的wire.h。

2. 使用# Define宏定义屏幕宽度和高度。然后创建一个使用库的实例。

3. 我们将创建一个函数来显示滚动文本。首先使用display. cleardisplay()函数清除显示。您可以使用display.setTextSize()函数并通过将大小作为参数来设置文本大小。要打印文本,可以使用display.println()或display.print()函数,如下所示。

现在,在不同方向上滚动文本,有不同的功能。向右滚动使用display.startscrollright(),类似地向左滚动使用display.startscrollleft(),向右滚动使用display.startscrolldiagright(),如下所示。

4. 在setup函数中,使用SSD1306_SWITCHCAPVCC初始化OLED显示屏,它会内部产生3.3V来初始化显示屏。然后调用display_scrolltext()和display. drawbitmap()函数来显示文本和图像。

这里display. drawbitmap()函数接受6个参数(x坐标,y坐标,位图数组,宽度,高度和颜色)来显示图像。由于我们使用的是128x64 OLED,所以我们将宽度和高度分别设置为128和64。这里,位图数组包含在屏幕上绘制像素以创建图像的像素信息。这个位图数组(十六进制值)可以在线或使用位图软件生成,如下所述。

将图像转换为位图数组

要将图像转换为十六进制值,您可以使用此在线工具。

1. 转到这个在线工具并上传你想要转换的图像。输入OLED的尺寸,即128*64,并根据需要更改背景颜色。它还将显示图像的预览,如下所示。

2. 然后单击Generate code。

3. 这里我们正在转换一幅《钢铁侠》的图像。因此,在转换图像之后,复制所有生成的十六进制值并将其粘贴到Arduino代码中,如下所示。完整的Arduino代码与完整的十六进制值在本教程结束时给出。

要查看OLED显示器的可用功能,请参阅Arduino目录下的Adafruit ssd1306库的头文件。

ESP32 OLED图形显示

最后,使用Arduino IDE将完整的代码上传到ESP32,您将首先看到滚动文本说“即将到来的钢铁侠”,然后它将显示钢铁侠图形图像,我们使用在线工具将其转换为十六进制值。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭