亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

使用墨水屏的电子3D打印相框

发布时间:2021-07-29
分享到:

使用墨水屏的电子3D打印相框

发布时间:2021-07-29
分享到:

正如有人所说:“回忆是讲述我们故事的特殊时刻!”。我想建造一些可以帮我收集美好回忆的东西。我最近拿到了一个电子纸显示器,这种显示器模仿了旧纸上墨水的外观。这是一个完美的组件,在这个项目中,我将使用 PCB 制作一个相框,在上面显示我最喜欢的地方。触摸任何一个位置触摸板都会在电子纸显示器上显示相应的照片图像。

补给品

  • 1x 4.3" Waveshare 电子纸显示器
  • 1x ESP32-WROOM-32 模块
  • 1 个 AMS1117 3.3V 稳压器
  • 1x 按钮
  • 1x 10uF 电容
  • 1x 10k 电阻

工具:

3D打印机

视频演示:

第 1 步:设计构想

该项目的大脑将是一个 ESP32 微控制器。我选择这款微控制器主要是因为它具有 10 个 GPIO 引脚的触摸感应功能。

计划是在PCB的丝印层上的地图上显示一些我最喜欢的地方。然后将指向这些位置放置铜触摸板。PCB 中间会有一个用于电子纸显示器的切口,即 PCB 本身将成为框架的一部分。PCB 将带有黑色阻焊层和 ENIG 饰面。黑色背景上的白色丝印和镀金触摸板。甜的!

接下来,我必须从每个位置选择我最喜欢的图像,为位图 (BMP) 格式的电子纸显示准备它们,并将它们存储在 SD 卡上。

下一步是编写代码来检测触摸并显示来自该位置的图像。

最后一步是设计和 3D 打印一个外壳来容纳所有电子设备。

第 2 步:PCB 设计

我将使用Altium Designer来设计 PCB。该软件可让您自定义每一层上的几乎所有内容。您还可以使用来自 Altum 的免费 PCB 设计器CircuitMaker

第一步是创建显示地图布局的丝印层。我只想在地图上显示道路。为此,我使用了谷歌地图这个神奇的工具。它允许我们编辑地图上可见的许多内容。我删除了所有的建筑物和标签,并将道路的颜色设置为黑色,其余的都设置为白色。然后我抓取了一个屏幕截图并将图像转换为 PNG,只显示道路和我想要在丝印层上的其他一些东西。最后,将 PNG 转换为 DXF(仅显示轮廓)后,我将其导入到丝印层。很确定有一种有效的方法可以做到这一点。

接下来,我将铜质触摸板(作为 PCB 封装)设计为看起来像地图“位置”符号。然后我将焊盘放在前铜层的适当位置。对于电容式触摸板,您需要遵循的规则很少。您可以在此处阅读有关触摸板设计的完整指南。涉及细节很多,但下面是我遵循的最低已验证可靠性的要求:

  • 走线长度不应超过300mm
  • 走线宽度 < 0.18mm (7 mil)
  • 两个连接走线段之间的夹角不应小于 90 度
  • 焊盘的正后方(即底层)或旁边没有接地层。该指南告诉我们添加一个“阴影”地平面,但这会影响外观。无论如何,它对我有用。
  • 除了走线没有地平面
  • 单独层上的焊盘和走线

另外,请确保 ESP32 的天线下方没有接地。

我最终导出了 gerber 文件并将它们发送到JLCPCB进行制造。

第 3 步:电子产品

电路非常简单。我在这一步附上了原理图。

提供用于连接电子纸显示器和对 ESP32 进行编程的焊盘。由于我将使用 USB 为框架供电,因此 AMS1117 稳压器用于将电压从 5V 降低到 3.3V,以便为 ESP32 供电。幸运的是,显示器在 3.3V 下工作得很好。

ESP32 可以使用提供的焊盘使用 FT232 USB 到 UART 转换器进行编程。三线即。编程需要RX、TX和GND。确保 ESP32 在编程时已通电,因为它不使用编程器的电源。开机时按住 PROG 按钮使 ESP32 进入编程模式。您还可以使用 CH340 编程电路来消除所有这些麻烦,但也会增加整体电路尺寸。

最初,我曾想过让框架由电池供电,但即使将 ESP32 和显示器置于深度睡眠模式后,电流消耗仍然高到足以在短短 3 天内耗尽电池。所以我放弃了这个想法,现在框架将持续打开,如果我不想每小时刷新屏幕,可以关闭。

eink_frame_schematic.pdf

第 4 步:3D 打印

我在 Fusion 360 中设计了相框的主体,并在 Ender 3 上使用白色 PLA 打印。

它由 3 个部分组成。一种是安装显示器的主体。PCB 位于显示器顶部,而面罩将其固定到位。面盖使用四颗 M3 螺钉固定到主体上。支架为整个框架提供支撑并使其保持一定角度。它还包含一个很好隐藏的 USB 微型分线板,可为相框供电。

第 5 步:编程

按照Adafruit 的本指南使用 Photoshop 为电子纸显示准备图像。在将图像复制到 SD 卡之前,请确保图像文件名是大写的。例如,PIC1.BMP。

我附上代码仅供参考,因为它可能因您而异。随意修改它。

该代码主要执行以下功能:

它检查是否使用触摸中断检测到触摸并显示与该触摸板关联的图像
如果经过的时间 > 1 小时,它会显示来自互联网的笑话/引语(为了好玩!)
我正在从JokeAPI 中提取笑话并从Quotable 中引用。数据以 JSON 格式接收,该格式被反序列化以获得所需的笑话/引用。

我在代码中使用了以下库:

  • DFRobots 的4.3 英寸EPD库
  • 由 bblanchon编写的 ArduinoJson
  • 默认情况下,当您安装电路板时,所有其他库都应该已经存在。

EInk_Frame.ino

第6步:完成构建

终于到了关键时刻!我正在使用旧的移动充电器 (5V/2A) 为显示器供电。相框原来很漂亮,简直让人移不开眼!这可能是送给您所爱之人的完美礼物。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论