跳到主要内容

Arduino 开发

本章介绍 Arduino 环境搭建,包括 Arduino IDE、ESP32 板管理、相关库的安装,程序编译下载及示例程序测试,帮助用户掌握开发板,便于二次开发。 本章节包含以下部分,请按需阅读:

Arduino 入门教程

初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置开发环境

1. 安装和配置 Arduino IDE

请参考 安装和配置 Arduino IDE 教程 下载安装 Arduino IDE 并添加 ESP32 支持。

2. 安装库

  • 在安装 Arduino 库时,通常有两种方式可供选择:在线安装离线安装若库安装要求离线安装,则必须使用提供的库文件
    对于大多数库,用户可以通过 Arduino 软件的在线库管理器轻松搜索并安装。然而,一些开源库或自定义库未被同步到 Arduino 库管理器中,因此无法通过在线搜索获取。在这种情况下,用户只能通过离线方式手动安装这些库。
  • 库安装教程,详见:Arduino 库管理教程
  • e-Paper ESP32 Driver Board 库文件存放于示例程序中,点击此处跳转:e-Paper ESP32 Driver Board 示例程序

示例程序

1. 蓝牙例程

  • 打开 Loader_esp32bt 目录,双击 Loader_esp32bt.ino 文件打开 Arduino 工程
  • 选择 Tools->Boards->ESP32 Dev Module,并且选择好对应的串口:Tools->Port

Epd esp32 bluetooth 1

  • 然后点击上传,把程序编译并下载到 ESP32 驱动板上面
  • 手机安装并打开 APP:

Epd esp32 bluetooth 2

  • APP 主页一共有五个按钮:
    • 连接蓝牙:用来连接 ESP32 设备
    • 选择墨水屏型号:选择接入到驱动板的墨水屏型号
    • 打开图像文件:点击后可选择手机中的图片并打开,必须先选择型号确定尺寸后才能选择图片
    • 选择图片处理算法:由于手机中的图片并不一定符合墨水屏型号的需求,所以要先处理一下图片
    • 上传图片:将处理之后的图片上传到墨水屏,并刷新到屏幕上去
  • 首先需要确保已经打开手机蓝牙。点击“连接蓝牙”->点击右上角的“SCAN”进行蓝牙设备扫描。
  • 找到 ESP32 设备,点击进行连接。如果你是第一次连接这个设备,会弹出配对信息,点击确认完成配对。(注意:如果设备没有进行配对,将无法正常上传图片,并且可能出现 APP 闪退的问题)
  • 点击“选择墨水屏型号”选择连接的墨水屏对应型号
  • 点击“打开图像文件”选择图库并打开一张图片,会根据上一步选择的型号出现矩形裁剪框,拖动裁剪框选择需要裁剪的区域即可
  • 点击“选择图片处理算法”选择对应的处理算法,并确认
    • 黑白色阶算法(将图片处理成黑白两色,并根据墨水屏分辨率切割图片大小)
    • 彩色色阶算法(将图片处理成多色,并根据墨水屏分辨率切割图片大小,只适用于多色墨水屏)
    • 黑白抖动算法(将图片处理成黑白两色,并根据墨水屏分辨率切割图片大小)
    • 彩色抖动算法(将图片处理成多色,并根据墨水屏分辨率切割图片大小,只适用于多色墨水屏)
  • 点击“上传图像”,把处理过后的图像上传到墨水屏中显示

提供带 HTML 上位机的 Wi-Fi 例程
注意:该模块只支持 2.4G 的网络频段

2. Wi-Fi 例程

  • 进入 Loader_esp32wf 文件夹,双击 Loader_esp32wf.ino 文件打开工程
  • 选择 Tools->Boards->ESP32 Dev Module,并且选择好对应的串口:Tools->Port

Epd esp32 wifi 1

  • 打开 srvr.h 文件,将 ssid 和 password 改成实际使用的 Wi-Fi 用户名和密码
  • 将该位置的 Wi-Fi 用户名和密码修改为路由器或者手机热点的 Wi-Fi 用户名和密码。ESP32 在这个程序中扮演的是从机角色,不是主机,不会往外发送 Wi-Fi 热点信息

Epd esp32 wifi 2

  • 按下 win + R 键,输入 CMD,打开命令行,获取电脑 IP.

Epd esp32 wifi 10

Epd esp32 wifi 11

  • 打开 srvr.h 文件,将图片所示位置的网段修改成对应的网段,注意:ESP32 的 IP 地址(也就是第四位)不要和电脑的地址一样,其他的要和电脑的 IP 地址要一模一样

Epd esp32 wifi 12

  • 然后点击上传,把程序编译并下载到 ESP32 驱动板上面
  • 打开串口监视器,设置波特率为 115200,可以看到串口将 ESP32 驱动板的 IP 地址打印出来:

Epd esp32 wifi 3

  • 电脑或者手机(注意电脑/手机接入的网络需要时跟 ESP32 接入的 Wi-Fi 是同一个网段的才可以)打开浏览器,在网址输入栏输入 ESP32 的 IP 地址并打开,可以看到操作界面如下:

Epd esp32 wifi 4

  • 整个操作见面分为五个区域:
    • 图像操作区域
      Select Image file: 点击在电脑或者手机里面选择一张图片
      Level: mono: 黑白色阶图像处理算法
      Level: color: 多色色阶图像处理算法(只对多色屏幕生效)
      Dithering: mono: 黑色抖动图像处理算法
      Dithering: color: 多色抖动图像处理算法(只对多色屏幕生效)
      Update image: 上传图像
    • IP 信息显示区域 :这里显示当前连接模块的 IP 地址信息
    • 图像大小设置区域 :这里 x 和 y 可以设置显示的起始位置,这个设置是相对于所选择的图片文件的,比如选择一张 800x480 的图片,但是连接的墨水屏是 2.9 寸的,这时候墨水屏并无法显示整张图片的信息,所以在选择图像处理算法的时候,算法会自动从左上角开始截取一部分图片传到墨水屏显示,这里设置 x 和 y 可以自定义截取的起始位置。w 和 h 是当前墨水屏的分辨率大小。
      注意:如果修改了 x 和 y 的指的话,需要重新点击一下处理算法生成新的图像
    • 型号选择区域 :这里可以选择接入的墨水屏型号
    • 图像显示区域 :这里会显示选择的图片以及处理之后的图像
    • PS: 在上传图像的时候,底部会显示上传的数据进度
  • 区域①点击 Select image file 选择一张图片,或者直接将图片拖拽至 Original image 的区域内
  • 区域④选择对应的墨水屏型号,例如:1.54b
  • 区域①点击一种图像处理算法,例如:Dithering: color
  • 区域①点击 Upload image 将图片上传到墨水屏显示。

Epd esp32 wifi 5

提供基于 ESP32 的本地例程,无需 Wi-Fi、蓝牙和其他设备

3. 本地例程

  • 打开 Arduino IDE 首选项查看项目文件夹位置(不要随意修改)

ESP32-epapr-5

ESP32-epapr-6

  • 进入 E-Paper_ESP32_Driver_Board_Code\examples 目录,把整个 esp32-waveshare-epd 文件夹复制到项目文件夹目录下的 libraries 目录下

ESP32-epapr-8

ESP32-epapr-9

  • 关闭所有的 Arduino IDE 窗口,再重新打开 Arduino IDE,按图选择对应的示例程序

ESP32-epapr-7

  • 选择对应的开发板和串口

ESP32-epapr-10

ESP32-epapr-11

  • 单击“上传”,将程序编译并烧录到 ESP32 驱动板。烧录完成后,墨水屏按例程执行刷新。