项目介绍
非常感谢电子森林的fastbond活动。
本次我要设计的产品是彩色电子纸的信息展示。
主要使用一个esp32-s3模块,和一块7寸的电子纸。
通过esp32-s3的无线上网,通过网络获取台历时间日期等信息,并发送给电子纸显示出来。
设计一下信息展示的结构,使信息展示美观,好看。
方案框图和原理图介绍
关于产品的实际框图如下:
模块简单,难度在于驱动电路的实际,和电子纸的驱动时许。
设计两个rgb灯,用户测试使用
电压驱动电路,用于升压,驱动电子纸的显示,其中对于元件的耐压性要求高。对于这里我已经烧毁两套元件了。
可能是我电路设计的有问题,符合标准的元件也会莫名发烫,然后毁掉。
测试电压触点,prevgh和prevgl电压需要超过20v。
3.3v电压电路
厂商元器件及简单介绍
本产品使用了esp32-s3的模块,具有各类外设和接口。搭载了乐鑫的系统级双核芯片ESP32,这款芯片集成了蓝牙4.2和WiFi HT40技术,并拥有高性能Tensilica LX6双核处理器。其支持超低功耗待机,使得该模组在移动设备、可穿戴电子产品和物联网应用中表现出色。同时,ESP32-WROOM模组还支持高达150 Mbps的数据传输速率和20 dBm的天线输出功率,确保了广泛的无线通信范围。集成了丰富的外设,包括电容式触摸传感器、霍尔传感器、SD卡接口、以太网接口、高速SPI、UART、I2S和I2C等。这些外设和接口使得该模组能够轻松连接各种传感器和执行器,满足物联网应用中的多样化需求。此外,ESP32-WROOM模组还具有38个管脚,提供了足够的扩展性。被广泛应用于各种物联网场景中。开发平台很多,可以有各种的可发方式。ESP32-WROOM模组是一款性能卓越、易于开发、应用场景广泛且价格亲民的无线通信模组。它能够满足物联网应用中的多样化需求,并为开发者提供丰富的开发资源和支持。
PCB设计
设计了四层板,拉线简单,简单粗暴,如下图
代码讲解
rgb灯的引脚
#define BLINK_GPIO 20
#define BLINK_GPIO2 21
#define BLINK_GPIO3 35
配置引脚的功能
gpio_reset_pin(BLINK_GPIO);
/* Set the GPIO as a push/pull output */
gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
gpio_reset_pin(BLINK_GPIO2);
/* Set the GPIO as a push/pull output */
gpio_set_direction(BLINK_GPIO2, GPIO_MODE_OUTPUT);
gpio_reset_pin(BLINK_GPIO3);
/* Set the GPIO as a push/pull output */
gpio_set_direction(BLINK_GPIO3, GPIO_MODE_OUTPUT);
控制灯的亮灭
int inx = 0;
static void blink_led(void)
{
/* Set the GPIO level according to the state (LOW or HIGH)*/
if(3 <= inx)inx=0;
gpio_set_level(BLINK_GPIO, inx==0);
gpio_set_level(BLINK_GPIO2, inx==1);
gpio_set_level(BLINK_GPIO3, inx==2);
inx++;
}
疑难杂症
开发期间,遇到一些问题。
烧写esp32,卡了好久。esp32能够正确进入download模式,就是接收不到esp32的数据,一直下载不成功。解决办法是,换了个串口工具。
期间用了一款hub,然后板子不停的重启。后来查询才知道 esp32会检测失压异常,然后重启。解决办法是,扔掉hub,直接连接到电脑上。
设计了一键升级问题,原理图部分并没有错误,如下:
设计了两款pcb走线,实际效果上并没有真正的实现 一键下载,需要手动按boot和rst按键如,进入esp32的下载模式。
总结报告
这次活动让我受益匪浅。电子森林的活动真的很用心。学习了很多知识,非常感谢电子森林提供的学习平台。比自己瞎头乱学有用的多,方向也定了,使劲去研究学习,时间久了,总能成大佬的。esp32-s3平台使用简单,但是后面的东西很多,编译平台巨大挺复杂,希望能有更多机会学习它,研究它,熟练它。
再次感谢电子森林平台的付出。