编辑器版本 ×
标准版

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 2.9寸/1.54寸桌面墨水屏摆件

简介:一款基于合宙ESP32C3开发板的桌面墨水屏摆件,内置锂电池供电,可在时钟、天气、古诗、图片四种不同显示模式间进行切换。

开源协议: MIT

发布时间: 2022-11-07 09:18:51
  • 1.3w
  • 85
  • 235
描述

本项目对上一版本(ESP32C3 2.9寸墨水屏摆件)进行了硬件上的修改,加入了电池供电模块并绘制了适配1.54寸墨水屏的PCB版本。软件放面则是在程序上完成了1.54寸墨水屏的适配版本。

 

1 效果展示

项目的效果展示可参见B站视频:[墨水屏]四种模式桌面小摆件!电池版适配1.54寸~让桌面不再单调

 

2 硬件方面

2.1 墨水屏屏幕

本项目中使用的墨水屏型号为:2.9寸:HINK-E029A01   1.54寸:HINK-E154A05

墨水屏为闲鱼上购得,两者均为黑白双色墨水屏,引脚为24P。由于在程序中使用到局部刷新,若使用三色或多色可能无法正常驱动。其他型号墨水屏尚未测试,但大部分墨水屏的驱动电路较为通用,可自行进行测试。

 

2.2 主控模块

使用合宙ESP32C3开发板作为作为主控,通过相应的驱动电路来控制墨水屏。该开发板采用邮票孔设计,因此在本项目中将开发板整体视作一个贴片元件,焊接在PCB板上,以此节省空间。目前官网在售的版本有经典款与简约款两种。两种款式均可在本项目中使用,个人建议初学者入手经典款,其烧录较简约款简单且不易踩坑。

 

2.3 电源管理电路

38dGls1PNdiXYIPRAZ6ysIBDbDt4E9iK3SgrOCzF.png

本项目通过ETA6093芯片实现电源管理。ETA6093是一个开关型的锂电池充电器,能够给电池提供1.2A 的充电电流,且提供 5V/1.2A 的升压输出操作,只需要 1 个电感器,即可达到双向的电源路径管理,来进行自动模式检测和切换工作。

本项目中将其与ESP32C3开发板上的USB供电口相连,当使用USB供电时,ETA6093芯片处在充电模式,为锂电池充电。当断开USB供电时,锂电池通过ETA6093升压输出,为开发板及墨水屏屏幕等供电。此外,USB供电也不影响通过USB对开发板下载程序。项目中电池锂电池型号为301048(3*10*48mm),由于未进行低功耗设计,使用与待机时长较短,当桌面摆件使用时建议使用USB供电。

 

2.4 开关按键

本项目中通过一个拨动开关实现来实现设备的开关机,通过两个按键进行来实现界面及模式的控制切换。

 

 

3 软件方面

3.1 开发工具

该项目使用Arduino进行开发,需要安装Arduino的ESP32C3支持,如未安装,请自行查找相关资料进行安装。

这里提供网盘资料来帮助大家快速配置,使用方法可见B站视频

[技术向]开源!四种模式的墨水屏桌面摆件~手把手教你DIY_哔哩哔哩_bilibili

网盘地址:链接:https://pan.baidu.com/s/1ELNBuo_a1YlaOqj3Q381AQ?pwd=lfxy

 

3.2 Arduino 库

使用Arduino Library 管理工具安装下面五个依赖库:

①ArduinoJson库    解析Json数据,项目里的天气、古诗、名言等信息都是通过一些API获得,保存在返回的json数据中。

②GxEPD2库           驱动墨水屏

③Time库                配置时间用到

④Timezone库        切换时区用到

⑤U8g2库               图像显示库

 

3.3 程序编译下载

 

1.在“C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0\variants\esp32c3”下修改定义


    static const uint8_t SDA = 4;    //8
    static const uint8_t SCL = 5;     //9
    
    static const uint8_t SS    = 7;
    static const uint8_t MOSI  = 3;   //6
    static const uint8_t MISO  = 10;  //5
    static const uint8_t SCK   = 2;   //4

 

该配置时参考合宙开发板的引脚定义进行修改的。

SLS7dhGxWSt4URQ0u8buzSMut5mDQvsvWD0Y3qmU.jpeg

 

2.下载附件中的程序,用arduino打开文件夹同名的.ino文件。

3.选择开发板为ESP32C3 Dev Module;选择相应的下载方式:若为简约款则选择Internal USB,经典款则选择UART0;最后选择正确的端口。

PNSFpQ3f0L0XuAzJ00Ov80P6s94UT2tfMcVsbDUu.png

4. 点击下载,等待编译后下载成功即可。

 

3.4 固件烧录下载

若不想通过arduino进行编译下载,也可进行固件烧录下载,步骤如下:

 

1.烧录工具esptool下载

官方地址:https://www.espressif.com.cn/zh-hans/support/download/other-tools

注:本项目发布时esptool版本为V3.9.2

zFhbTRlHBuCFufJSfyn0sN3Ej1dJZfLJcmvclQJJ.png

 

2.烧录工具修改配置

官方版需要修改一处配置才能成功:

① 首次使用执行exe文件后,会在目录下生成configure文件夹,将以下路径下的spi_download.conf以记事本方式打开。

RAwPMK7gL6MJX8tgsHpXz03n88VsuDOF6uBtTjJt.png

② 将其中的flash_size = keep 改为 flash_size = 4MB 后保存文件。

pPzYPBWc9fWJQKIVbw7pNEeO6Fy5WFg4jczuMnYL.png

 

3. 固件烧录

① 运行exe文件,选择如下选项,经典款的选择uart下载,简约款的选择usb下载。

 

xLTIBvYvRJCkZ0Dz9JQb2cB6t9hN52QgtKmNvzZE.png

② 选择从附件下载的bin文件,烧录地址为0x0,其余配置如下。

③ 先点击ERASER键进行清除,后点击START进行烧录。简约款烧录时需要进入下载模式:按住boot按键再上电。

uXO6kWhAa7WbxJL9X58dRSyMV7eFexrAfHTKDPPi.png

④ 程序烧录成功就可以运行了。

 

4 功能实现

4.1 DesInk文件夹说明

①与文件夹同名DesInk_x.x.x.ino文件为主程序所在文件(x.x.x为版本号)。
②Config.h文件为配置文件,包含引用库、配置参数、全局变量、函数定义等。
③AncientPoetryPage.ino、DinosaurPage.ino、WeatherPage.ino、WifiConfigPage.ino文件分别为古诗界面、时钟界面、天气界面显示、WiFi配置界面相关功能所在文件。
④CallHttps.ino中为服务器连接及数据请求功能的实现;GetSentence.ino中为通过API获取古诗与名言相关函数实现;GetWeather.ino为通过心知天气API获取天气信息相关函的实现;NTP.ino中为通过NTP获取时间的相关功能;WebSever.ino中为将esp32c3设置为服务器进行网络配置等功能的实现。
⑤GB2312.h、MyIMG.h 中为中文字库和图片的相关数据。

 

4.2 整体框架说明

D5d4ydoNZCCrtDcJmwCbwTVp3WPM4zpclmFZJu7Y.png

项目的总体框架及开发思路如上图所示:
①ESP32C3作为一款物联网芯片,在本项目中首先对其进行联网,以方便后续从网络上获取相关数据。(本项目中也考虑到离线的场景,当联网失败时,会自动进入离线模式,在离线模式下仅可切换显示已保存在内存中的图案)本项目中使用自带的WebServer库,并编写网页的HTML代码来实现该功能。在配网后,保存的WiFi名称、WiFi密码、天气密钥等数据将通过EEPROM库的相关函数保存至Flash中,待下次使用时便无需重新配置。
本项目中使用到的墨水屏型号,均可以通过GxEPD2库实现驱动,结合U8g2库,可以更加方便的进行文字和图案的编排和显示。
②联网成功后,在时钟显示模式下时,基于WiFiUdp库通过NTP获取时间。获取时间后通过Time库将时间同步到本地,在墨水屏上进行显示。当在天气或诗词界面下时,则通过HTTPClient库来访问相应的API接口,获取返回的JSON格式数据将使用ArduinoJson库进行解析,最后将获取的数据显示在墨水屏上。
③通过轮询两按键的状态,来实现模式的切换和数据的刷新。

 

5 使用方法

5.1 首次使用

首次使用时的配置方法与上一版本相同,可参见:ESP32C3墨水屏摆件 - 嘉立创EDA开源硬件平台 (oshwhub.com)

 

5.2 日常使用

①开关机与充电

拨动开关可进行开关机,开机时背面的蓝色LED灯常亮。将通过USB口即可为设备充电,充电过程中也可通过拨动开关来设置开关机状态,充电过程中绿色LED灯闪烁,待充满,则处于常亮状态。

②模式切换与更新

按下MODE键切换模式,按下KEEP更新。对于需要联网获取信息的模式,如天气、古诗界面,切换的速度与网络信号好坏有直接关系,网络较差时需要稍加等待。

古诗模式的下不建议频繁刷新,容易导致网站的限流,需等待一个小时左右才能正常使用。由于古诗生僻字较多,也会出现一定的缺字。

③配置模式

长按MODE键至红灯灭再松开可进入配置模式,配置模式下按下KEEP会清空连接WiFi的配置,重新启动进入配网界面。(相当于恢复出厂设置)

 

6 物料表

物料表可查看附件“电池款清单.xlsx”

设计图
原理图
1 /
PCB
1 /
暂无
工程附件
序号 文件名称 下载次数
1

程序.zip

2150
2

电池款清单.xlsx

62
工程成员
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

  • 开源平台公众号