当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]ESP32连接Wi-Fi,并每30秒检查一次Instagram API以获取最新的粉丝数据。为了让数字变化看起来更有趣,我添加了一个滚动动画效果,只移动实际发生变化的数字部分。

ESP32连接Wi-Fi,并每30秒检查一次Instagram API以获取最新的粉丝数据。为了让数字变化看起来更有趣,我添加了一个滚动动画效果,只移动实际发生变化的数字部分。

为了制作外壳,我从MakerWorld下载了一个STL模型,该模型包含网格结构以及用于放置扩散器的空间。网格能防止光线在像素间扩散,使数字更清晰易读。

接下来我将详细介绍接线方法、外壳组装、Instagram API设置、Arduino代码以及最终测试过程。

所需材料

本项目使用的材料包括:

电子产品

•ESP32 开发板

•32x8 WS2812B 柔性LED矩阵

•5V 3A 直流电源

•5.5mm x 2.1mm 女性直流插孔带螺丝端子

•22 AWG 或 24 AWG 连接线

•热缩管

•前框用小螺丝固定

3D打印部件

•主外壳

•32x8 LED 分区网格

•前框

我同时附上了本项目所使用的Arduino代码

1:关注者计数器的工作原理!

ESP32 连接到Wi-Fi,每30秒检查一次Instagram的当前关注者数量,然后将该数字显示在32x8 LED矩阵上。

为了不重新绘制整个数字,我只让需要变化的数字进行动画。只有需要更新的数字会滚动到新值。例如,当计数从2305变为2306时,仅最后一位数字移动。

当数值从2309变为2310时,多个数字需要更新,因此动画会依次完成。如果有人取消关注,数字会反向滚动。

Instagram标志保留在显示屏左侧,而关注者数量则占用剩余空间。

2:准备3D打印外壳

我使用的外壳包含三个主要的3D打印部件:

•主壳体

•32x8 LED网格

•前框

主箱体内装有ESP32、LED矩阵、电源接口和电线。

32x8的网格位于LED矩阵的顶部,每个开口对应一个LED,有助于防止光线泄漏到相邻像素中。

我使用不透明的线材打印了网格。

前面的框架用于固定网格和扩散板。在安装电子元件之前,我先进行试装,确保矩阵、网格和框架对齐正确。

3:准备电源线路

由于代码将LED电流限制为2500 mA,因此我不会以无限制亮度运行整个矩阵。我将相同的5V输入分成两组:一组电线供电给LED矩阵,另一组电线供电给ESP32。

首先,将电源线裁剪至所需长度,并剥去两端的绝缘层。

将直流 barrel jack 的正极线连接到5V,负极线连接到GND。

从同一电源输入端,分别用一对电线连接到LED矩阵,另一对电线连接到ESP32。

在连接过程中保持电源断开。

连接ESP32与LED矩阵

接下来,我将LED矩阵连接到ESP32。

首先,找到矩阵的输入端,应标有5V、GND和DIN。

按如下方式连接数据线:

•ESP32 GPIO 13 -> 矩阵 DIN

•5V 电源 -> 矩阵 5V

•GND -> 矩阵 GND

ESP32 和矩阵必须共用同一根地线,以确保数据信号正常工作。

•5V -> ESP32 VIN

•GND -> ESP32 GND

ESP32 与 LED 矩阵需要共用同一根地线。

焊接完成后,用热缩管覆盖裸露的接头。

在通电前,我使用万用表检查了 5V 和 GND,确保没有意外造成短路。

4:最终硬件组装

线路连接完成后,我将 ESP32 安装到外壳内,并调整线路布局,避免电线被夹住。

接着,我将 32x8 的 LED 矩阵安装在壳体正面,并将打印好的 LED 网格覆盖其上。检查每个 LED 是否对应网格上的一个开口。

然后,我在顶部放置白色扩散板,并用小螺丝固定前面框架。

完成前面框架的固定后,硬件部分即告完成。

设置 Instagram API

要读取关注者数量,我需要创建一个 Meta Developer 应用并生成 Instagram 访问令牌。

创建 Meta Developer 账户

•前往 Meta for Developers,使用你的 Facebook 账号登录。如果这是首次使用,请完成注册并验证账户。

•创建新应用

•打开“我的应用”,点击“创建应用”。为你的应用命名,然后继续。

•选择“其他”作为使用场景。

•选择“商业”作为应用类型。

•你可以将“商业组合”留空。

•添加 Instagram

•创建应用后,在“可用产品”中找到 Instagram,点击“设置”。

•将你的 Instagram 账号添加为测试者

•进入“应用角色 > 角色”,点击“添加人员”,选择“Instagram 测试者”,并添加你的 Instagram 账号。

•接受测试者邀请

•登录 Instagram,进入以下页面:

•网站权限

•应用和网站

•测试者邀请

•接受来自 Meta 应用的邀请。

•生成访问令牌

•返回 Meta 开发者中心,打开 Instagram > 使用 Instagram 登录进行 API 设置。点击“生成令牌”,登录 Instagram 并允许请求的权限。

•复制令牌

•请确认我已理解相关内容,并复制你的访问令牌。

•重要提示:请将访问令牌保密,不要在截图中显示或将其上传到公开的 Arduino 代码中。

这些截图来自 2026 年 8 月,因此 Meta 可能会后续移动或重命名部分选项。

5:测试 Instagram API

在开始 ESP32 端开发之前,我先在浏览器中测试了 API 请求,以确保令牌正常工作。

将 YOUR_ACCESS_TOKEN 替换为你的实际访问令牌。

如果 API 正常工作,你应该会收到如下响应:

如果你在响应中看到 followers_count,说明 API 服务正常。

如果出现错误,请检查访问令牌,并确保你的 Instagram 账户已正确连接。只有在本次测试成功后,我才继续编写 ESP32 的代码。

6:软件与库

我使用 Arduino IDE 来编程 ESP32。

•安装 Arduino IDE。

•打开“工具 → 串口管理器”,安装 ESP32 开发板包。

•打开“库管理器”。

•搜索 FastLED 并安装它。

•打开关注者计数器示例代码。

•选择你的 ESP32 开发板和正确的 COM 端口。

这些库已包含在 ESP32 开发板包中,因此无需单独安装。

添加 Wi-Fi 和 Instagram 信息

打开示例代码,在顶部附近找到以下行:

我在上传前用我的 Wi-Fi 名称、密码和 Instagram 令牌替换了这些占位符。

主显示设置已自动配置:

请将你的访问令牌保密,并在公开分享代码前将其删除。

上传代码

使用 USB 数据线将 ESP32 连接到电脑。

在 Arduino IDE 中:

•选择你的 ESP32 开发板。

•选择正确的 COM 端口。

•点击上传。

•等待上传完成。

当ESP32连接到WiFi并从API获取第一个关注者数量后,该数字应显示在LED矩阵上。

7:正在工作

上传完成后,我断开USB连接,并使用5V电源为显示屏供电。

首先会显示Instagram的标志,然后ESP32连接WiFi并检查Instagram API。

当第一个关注者数量返回时,数字会先播放一段两秒的启动动画,之后固定显示当前数字。此后,当前的关注者数量将一直保留在屏幕上。

滚动的数字是我最终版显示屏最喜爱的部分,因为数字变化时屏幕不会闪烁。印刷的网格和扩散器也使LED更易于阅读,相比最初测试裸露矩阵时的情况。一旦WiFi和令牌配置好,我只需插上电源,就可以放在桌面上运行。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭