ESP32编程使用OLED屏

ESP32通过I2C输出图像和字符到OLED显示屏

  • 1. 让ESP32开始工作
    • 1.1 配置Arduino ESP32
    • 1.2 配置I2C与OLED模块通讯
  • 2. 通过这个项目的经验

采用一个ESP32的控制板和一个OLED屏,用ESP32的控制板来控制OLED屏的显示,在实验过程中走了弯路,掉进了坑,在这里总结一下,避免大家掉进坑里!

1. 让ESP32开始工作

ESP32我从某宝上购买的,是一个GOOUUU-ESP32的板子,让我掉进了大坑。但最后还是爬出来了。

1.1 配置Arduino ESP32

ESP32可以工作在Arduono的IDE下面,也可以配置在windows下面开发,在windows下面开发需要两个软件,一个是VSCODE,是微软的一个代码编辑工具,可以作为C/C++代码的编辑工具,另一个是esp32-idf开发框架。注意,这两个软件都是免费的,VSCODE从微软可以下载,esp32-idf从gitHub可以下载,然后安装就可以建成一个免费高效的单片机开发环境。我这里使用的是ESP32的Arduino开发环境,遇到的问题在这里说一下。

在Arduino环境下按照CSDN的博客的介绍,安装软件ESP32的软件,由于自己的问题是没有让OLED屏亮起来,开始了艰苦的里程。首先是按照某宝提供的视频教程,并且在某宝上是需要采用一个ESP32-F型号的板子,这个型号的板子从espressif下载的软件中找不到这个板子,用其他的板子编译后下载到ESP32板子中会使系统总是重新启动。无奈,又回到了原点。在ESDN的博客上又看到是采用一个Wrover Module的说法,采用这个模块可以让系统运行起来。并且可以用ESP32 Wrover Module用数据口控制一个步进电机运行。但用这个板子来实现控制OLED还是有问题。

1.2 配置I2C与OLED模块通讯

现在问题来了,用下载的库函数无法与OLED模块通讯。主要问题是出在了板子上面的误导。

在板子的背面有一行字体,显示的是地址,0x78,这里已经用电阻短接了。另一面没有电阻悬空的标识了0x7A。想当然的以为这就是OLED板子的I2C的地址。库函数例子中的0x3C没有引起注意,每次都是填写0x78这个地址,结果总也亮不起来。直到突然想到何不用0x3C实验一下,结果,喜出望外,显示了图形和ASCII字符。终于从坑里面爬了上来。

2. 通过这个项目的经验

吃一堑长一智。从这个试验中得到的体会就是不能相信板子上的任何标识,要相信库函数的例子。某宝的技术支持水平应该提高,一些博客的提示最好要有图形,过几天来将图补上。

你可能感兴趣的:(Arduino,NANO,OLED)