电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>带LED的毕业帽开源设计

带LED的毕业帽开源设计

2023-06-27 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

抽象的:

作为一名即将毕业的电气工程师,我想为毕业做一些特别的事情。开派对或做一些有趣的事情通常不是我的首选,所以我决定开始一个项目。这不仅仅是任何项目。这将是一个带 LED 的毕业帽!

现在,这个前提有点蹩脚。任何人都可以在毕业帽上添加 LED 以显示漂亮的颜色或图案。考虑到这一点,我决定帽子需要是一个能够显示图像和文本的 LED 矩阵。虽然这已经是一个很酷的项目,但需要在项目中添加另一层。一些混乱和辛辣的东西。所以,就像互联网上的其他人一样,我转向社交媒体寻求想法,你瞧,我有完美的混乱元素要添加!

然后决定人们应该能够在我的毕业帽上播放信息这些消息可以很容易地从一些社交媒体网站上抓取,并且帽子会自动检索、格式化,然后在毕业典礼期间实时显示这些消息。最后,人们可以说出他们在毕业时的真实感受,并将其显示在一个小小的毕业帽上,让少数人看到。

要求:

对该项目的要求相当简单。我希望帽子完全独立工作,不受我的监督。这意味着帽子必须检索和显示消息,而无需我检查社交媒体或担心帽子的内容。

为了使其易于使用,我希望系统能够使用我裤子口袋中的 5 伏电池组。使用 28500mAh 电池组为设备供电,我不太关心电源效率,但我想将系统设计为不浪费电力,以便系统无需充电即可运行整整 8 小时。

最后,我不想在这方面花太多钱,因为我是一个贫穷的大学生,有一张花哨/昂贵的纸,还买不起好东西。这意味着我不能使用花哨的 LED 矩阵解决方案,而是选择将整个项目保持在 50 美元以下。

设计:

对于那些从未见过的人来说,毕业帽是一个黑色方形头饰,尺寸为 9.5 英寸 X 9.5 英寸。我为毕业买的帽子用一块纸板形成方形底座,一块黑布覆盖并固定在纸板方形上。然后将另一块布材料固定在纸板底座上,这次是在帽子下面,这样帽子就可以贴合并留在头上。

pYYBAGN0LW2AatcZAAAWg5Tcx-s500.png
毕业帽库存图片(作者:Balfour)
 

通常,这些头饰上饰有油漆或可以固定在帽子上的东西。在我的情况下,我需要将盖子剥离到底座纸板上,添加 LED,然后更换顶部的黑布并重新组装盖子。为了使整个过程更容易,可寻址 LED 灯条将用于创建 LED 矩阵和微控制器,在帽的中心下方,将连接以控制帽的功能。

机械设计:

在购买了 16 英尺的 WS2812B LED 灯条后,我将灯条切割成每条 14 个 LED 的长度。这个长度是通过尝试将尽可能多的 LED 排成一排来决定的,同时在两侧留出空间用于布线。

poYBAGN0LW-AfMaoAAAvufaG9rY292.png
两条切割成适当长度的 LED 灯条
 

切割 14 条 LED 灯条后,我标记了灯罩,以指示灯罩两侧每个 LED 灯条的中心点。这使所有 LED 灯条彼此平行,提供了美观且均匀的显示效果。

pYYBAGN0LXKAafEnAAC2rnxza64812.png
贴上所有 14 个 LED 灯条后盖上纸板
 

现在开始将所有 LED 连接焊接在一起。为了使焊接更容易,我连接了 LED 灯条,使接线在灯条之间曲折,这意味着我必须在编程中每隔一行反转一次,但这降低了电线电阻并使焊接变得轻而易举。

 
 
 
poYBAGN0LXSAKRjlAABNyDF2A6Y715.png
 
1 / 2数据方向和 LED 灯条接线
 

此时,我使用产品随附的 LED 灯控制器测试了生成的矩阵。连接好所有东西后,我运行了一个基本例程,在 LED 灯串上显示不同的颜色。该测试成功运行,点亮了我固定在纸板上的每个 LED 段。

poYBAGN0LXaAIVlYAABKyQ4dgjI185.png
重新连接黑布前的 LED 矩阵工作
 

现在一切正常,是时候看看重新装上黑布后帽子会是什么样子了。在这一点上,我担心 LED 不能很好地透过黑色织物发光。在将织物放置到位的帽子上运行相同的测试程序后,这种担心被证明是没有根据的。如果有的话,LED 太亮了,并且在全亮度下消耗大约 2.5 安培,开始变热,我担心它会开始融化一些东西。

pYYBAGN0LXmAPTBiAABQhqJmchs597.png
黑布重新贴在帽盖上后的LED矩阵
 

随着项目的所有机械部件工作正常,我用胶带和热胶重新连接了布套,然后开始研究控制电子设备。

电气设计:

为了控制 WS2812B LED 灯条,使用 5V 数据线通过单线控制接口传输数据。LED 灯条需要 5V 和 GND 连接,使用的电线/电路可以处理最大 3 安培的电流(最好是越过然后越过)。这些条带的电源直接来自用于为项目供电的 5V 电池组。

ESP32 被选为这个项目的主要微控制器,因为我想要一个可以轻松连接到 Internet 网络的设备。由于 ESP 内置了 Wi-Fi 收发器,因此它是用于该项目的理想芯片ESP 使用 3.3V 电源并输出 3.3V 逻辑电平,因此我需要确保 LED 可以使用 3.3V 逻辑。数据表显示逻辑高阈值为 3.5V,但经过测试,证明这些 LED 可以与 3.3V 逻辑一起使用。理想情况下,应该使用电平转换器将 3.3V 逻辑转换为 5V,但这是不必要的,因为这是一个不需要 100% 可靠的 DIY 爱好项目(尽管我仍然尝试满足该可靠性指标)。

这导致了如下所示的电路。AMS1117-3.3V 芯片用于创建一个干净(尽管效率低下)的 3.3V 电源,并且各种引脚连接到公水平连接器

pYYBAGN0LXuAKCvrAABDa20ECoo413.png
控制毕业帽 LED 矩阵的电路
 

为了把所有东西都装进一个小而薄的包装中,我将组件布置在一个 1.5 英寸 x 2 英寸的电路板上。使用了粗迹线和通孔,因此我可以轻松地在我的 CNC 机器上制造电路板,并注意确保所有迹线都能处理所需的最大电流值。

poYBAGN0LX2AODiHAACGUjDnzaI541.png
(右)没有铜填充区域的 PCB,(左)具有顶部和底部铜填充的 PCB
 

然后必须组装和焊接电路板。由于第一次电路板迭代中的错误,图中的 PCB 与上图所示的成品 PCB 不匹配。成品板和盖子如下所示:

poYBAGN0LX-AcI7YAABDa__jnAU717.png
带有 FTDI 芯片和刻度帽线连接的成品刻度帽 PCB
 

物料清单:

该项目中使用的所有部件都包含在以下 BOM 中。总体而言,该项目的成本为 30.70 美元,不包括 5V 电池电源或毕业帽。

poYBAGN0LYGAIKU1AABCtP6KxBc568.png
PCB的完整零件清单
 

编程:

对 ESP32 进行编程允许在该项目中使用多种编程语言。为了简化字符串数据的处理,我选择了 Micropython 固件语言来完成我的所有开发工作。虽然 C 和 Lua 可以更有效地处理内存和程序操作,但软件效率并不是最重要的。相反,我想确保连接到互联网很简单,并且我想在不使用 SD 卡接口的情况下将数据记录到设备上。Micropython 请求库允许轻松的 HTTPS 连接,python 具有动态内存分配的优势,允许 HTTPS 请求具有不同的有效负载大小,而不会过度分配 RAM最后,Micropython 文件系统允许直接在闪存中创建和修改文件,

第一个挑战是用自定义图像点亮 LED 矩阵。为此,我修改了在 Internet 上找到的 WS2812B Micropython 模块,并添加了一个“ display_sprite() ”函数来生成一个 196 索引数组,该数组将传递给 WS2812B 模块。这具有显示填充了颜色值的 14x14 数组中的图像的结果。因为我在 LED 灯条中使用了锯齿形布线模式,所以我必须每隔一行反转一次才能准确显示图像。如果没有这种反转,精灵本身将需要每隔一行反转,这使得格式化/精灵创建更加困难,因此只要程序为 WS2812B 模块生成数组,就会处理反转。下图中可以看到其中一个精灵:

pYYBAGN0LYOAPhEwAABFA4lQC18964.png
显示到 LED 矩阵的精灵之一
 

第二个挑战是在 LED 矩阵上创建滚动文本。我在 WS2812B 模块中或通过 Internet 上的模块无法找到任何功能来显示文本,因此我不得不创建自己的功能。这涉及创建我自己的 6x3 和 7x4 像素字体模块(使用我在网上找到的像素字体,我没那么有创意)以及将像素向左移动一位的缓冲协议,从而创建滚动文本效果。矩阵被分成 7x14 像素的部分,因此滚动文本可以从下半部分开始,并在滚动到屏幕外之前继续滚动到上半部分。为了正确开发此功能,我在一个数组中创建了 14 个二进制数,并使用位移和一些 if-else 逻辑来有效地在显示器上滚动文本。

poYBAGN0LYWAKWCqAABQU1oj3Ik540.png
显示字符串“Hello”的上限
 

该项目的最大挑战是将微控制器连接到社交媒体。我没有让任何人通过 Twitter 或 Facebook 等平台发布消息,而是决定使用我大学内大多数本科电气工程师用来相互交流的 Discord 频道。这样做的好处是限制了人们发布信息的能力,防止随机喷子到处投掷炸弹,同时还允许那些将在开始时参与的人。

为了让这个功能发挥作用,我必须创建一个 Discord 机器人,它可以访问 Discord API 以从 Discord 组的“General”频道获取消息。该机器人能够通过分配给机器人的特殊令牌访问 API,该令牌用于授权机器人具有正确的凭据。向 Discord API 发出 HTTPS GET 请求,使用授权令牌作为标头字段,并发回消息的 JSON 响应。然后程序遍历所有接收到的消息,寻找与机器人的 Discord ID 对应的整数代码。如果在消息中找到 ID,表明提到了机器人(“@GradCapBot”),则消息将保存到局部变量中,程序将完成对所有消息的检查。

串行监视器显示程序成功从 Discord 检索消息
 

现在程序有一些消息要显示,程序格式化它将显示的文本,然后以新文本作为参数调用“ display_7x4_text()” 。程序继续显示所有消息,直到显示所有消息。此过程循环运行,因此程序始终在寻找要显示的新消息。如果没有要显示的新消息,我不希望帽子闲置而没有显示任何内容。因此,如果没有要显示的新消息,程序会显示编程到闪存中的 10 个图像之一。然后每个图像显示 5 秒钟,然后程序再次检查新消息。

在显示两个图像之前帽显示“祝贺毕业生”消息
 

创建了一个基本的文本过滤器来过滤掉 75 个“坏词”,尽管这个列表不是很全面。过滤掉明显的脏话和诽谤就足够了,所以我不会表现出完全令人反感的东西。虽然这个过滤器可能很容易绕过,但我还包括一个将消息详细信息保存到闪存中的功能,这样我就可以查看显示的消息文本以及发送消息的人。

手术:

当 ESP32 连接到串口监视器时,可以通过 REPL 提示符控制程序。使用“串行 USB 终端”Android 应用程序,我的手机可以充当串行监视器,直接与 ESP32 接口,只需按一下按钮即可运行一些预编程的功能。此方法还允许我显示非格式化文本或显示特定精灵。

显示图像的帽子
 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费