当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]当您按下设备上的第一个按钮时,M5Stack Core2 中的 ESP32 会连接到互联网,并从官方笑话 API 请求一个随机笑话。笑话的第一部分,即所谓的“铺垫部分”,会显示在屏幕上——通常是一个问题或幽默的开场白。

在本次可视化编程的 Visuino 教程中,我们将使用 M5Stack Core2 从一个免费的在线 API 中获取笑话,并在屏幕上以交互式的方式进行展示。

当您按下设备上的第一个按钮时,M5Stack Core2 中的 ESP32 会连接到互联网,并从官方笑话 API 请求一个随机笑话。笑话的第一部分,即所谓的“铺垫部分”,会显示在屏幕上——通常是一个问题或幽默的开场白。

按下第二个按钮就会揭示出笑点,从而结束这个笑话并传递出其中的幽默效果。

该笑话数据以 JSON 格式从 API 中获取,然后在 Visuino 中进行处理,将开头部分和结尾部分分开,以便在按下按钮时能在恰当的时间显示出来。

通过使用 Visuino 的拖拽式可视化界面,您可以轻松配置 Wi-Fi 连接、向笑话 API 发送 HTTP 请求,并将接收到的文本显示在 M5Stack Core2 屏幕上。

该项目展示了如何构建一个可联网的交互式设备,该设备能够从在线 API 中获取实时数据,并以有趣且吸引人的方式呈现这些数据。

如果你喜欢尝试新事物,那么你可以轻松地对这个项目进行修改或扩展——比如增加笑话的分类、在设定的时间后自动加载新的笑话、将笑话显示在外部显示屏上,或者将你最喜欢的笑话本地保存下来。

第 1 步:您将需要的物品/材料

M5Stack Core2 ESP32 物联网开发套件

注意:您还可以使用任何其他配备显示屏和 Wi-Fi 的板子。

第 2 步:启动 Visuino 软件,并选择 M5 Stack 核心 2 板型。

按照第一张图片所示启动 Visuino。在 Visuino 中点击“Arduino 组件”中的“工具”按钮(图 1)。当对话框出现时,如图 2 所示选择“M5 Stack Core 2”。

第 3 步:设置 Wi-Fi

选择 M5 Stack 内核 2 板,在编辑器中依次点击“模块”>“WiFi”>“接入点”,然后点击“[...]”按钮,这样就会打开“接入点”窗口。在该编辑器中,将 WiFi 接入点拖到左侧。

•在属性窗口中,在“SSID”选项下输入您无线网络的名称

•在“密码”这一栏中,填写您无线网络的访问密码。

•关闭“接入点”窗口

•在左侧的编辑器中,选择“模块>无线网络>套接字”,点击[...]按钮,这样就会打开“套接字”窗口。将 TCP/IP 客户端从右侧拖到左侧,然后在属性窗口中设置端口为 37 。

•关闭“套接字”窗口

第 4 步:在 Visuino 设置界面中

选择 M5 Stack 核心 2 板,在属性窗口中展开“模块>TFT 显示器>元素” 然后点击“元素”处的 3 个点。

•在“元素”窗口中,将“覆盖屏幕”拖至左侧。

•在“元素”窗口中,将“文本字段”拖至左侧;在属性窗口中,将尺寸设置为 3,选择“自动换行”为“是”,将“Y 值”设置为 10。

•关闭“元素”窗口

第 5 步:在 Visuino 中添加组件

•添加 2 个“延时按钮”组件

•添加“HTTP 客户端”组件

•添加“延迟”组件

•添加“字符转文本”组件

•添加“拆分 JSON 对象”组件

•添加“文本开/关切换”组件

•添加“文本多源合并”组件

第 6 步:在 Visuino 中解析 JSON 数据

用鼠标右键点击“SplitJSONArray1”,然后在菜单中点击“解析 JSON 数组...”

在“JSON 数组”窗口中粘贴以下示例代码:

或者复制粘贴以下内容:

{"类型": "一般", "开场白": "达斯·维达是怎么知道卢克圣诞节会收到什么礼物的?", "高潮": "他能感觉到那些礼物的存在。", "编号": 116}

第 7 步:在 Visuino 中设置组件

•选择“Switch1”,然后在属性窗口中将“启用时发送”设置为“启用”。

选择“CharToText1”,然后在属性窗口中将“最大长度”设置为 300 。

•选择“Delay1”,然后在属性窗口中将“Interval”(间隔)设置为 2000000 。

•选择“HTTPClient1”,然后在属性窗口中将“Host”设置为“www.official-joke-api.appspot.com”

•双击“HTTPClient1”,然后在“请求”窗口中将“获取”拖到左侧,在“属性”窗口中将“URL”设置为 /random_joke

第 8 步:在 Visuino 连接组件中

•将 M5 Stack Core 2 中的“TCP 客户端 1”引脚(输出)连接到“延迟 1”引脚(启动)上。

•将“Delay1”引脚[输出]与 M5 堆叠式核心 2 中的“TCP 客户端 1”引脚相连[断开连接]

•将“Delay1”引脚(输出端)与“CharToText1”引脚(时钟端)连接起来。

•将 M5 Stack Core 2 的“远程连接”端口连接至“HTTPClient1 > GET1”端口的“时钟”端口。

•将“按钮1”引脚[输出]与“HTTP客户端1 > GET1”引脚[时钟]连接起来。

•将“M5 栈核心 2 > TFT 显示器 > 触摸 > 按钮 A”引脚(输出)连接到“按钮 1”引脚(输入)

•将“M5 栈核心 2 > TFT 显示器 > 触摸 > 按钮 B”引脚(输出)连接到“按钮 2”引脚(输入)

•将“HTTPClient1”引脚(输出)连接至“M5 Stack 核心 2 > WiFi > TCP 客户端 1”引脚(输入)

•将“HTTPClient1 > GET1 > Response > Content”引脚(输出)连接到“CharToText1”引脚(输入)

•将“CharToText1”引脚(输出)连接到“SplitJSON1”引脚(输入)

•将“SplitJSON1 > setup”引脚(输出)连接至“MultiMerger1”引脚(0)

•将“SplitJSON1 > punchline”引脚(输出)连接到“Switch1”引脚(输入)

•将“按钮2”引脚[输出]与“开关1”引脚[启用]连接起来

•将“Switch1”引脚[输出]与“MultiMerger1”引脚[1]连接起来。

务必按照相同的顺序进行连接:

•将“MultiMerger1”引脚[输出]与“M5 栈式核心 2 > TFT 显示器 > 填充屏幕 1”引脚[时钟]连接起来。

•将“MultiMerger1”引脚[输出]与“M5 层叠核心 2 > TFT 显示器 > 文本字段 1”引脚[输入]连接起来。

•将“MultiMerger1”引脚[输出]与“M5 堆叠核心 2 > TFT 显示器 > 文本字段 1”引脚[时钟]连接起来。

第 9 步:生成、编译并上传代码

在 Visuino 中,点击底部的“构建”选项卡,确保选择了正确的端口,然后点击“编译/构建并上传”按钮。

第 10 步:播放

如果为 M5 栈式核心供电,按下第一个触摸按钮,显示屏应开始显示笑话内容;而如果按下中间的触摸按钮,显示屏则应显示笑话的结尾部分。

本文编译自hackster.io

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

该项目展示了一种基于两个基于 ESP32 的节点之间的 LoRa 通信的无线车库门控制系统。该系统使用来自 REYAX 科技的 RYLR988 LoRa 模块来实现远距离、低功耗的通信。

关键字: ESP32 LoRa 通信 RYLR988

植物不仅能在视觉上美化环境,还能促进光合作用,吸收二氧化碳并释放氧气,从而有效净化室内空气并降低有害物质(如甲醛、苯等)的浓度,进而改善室内空气质量。但当你长时间离开时,你的这些“绿色伙伴”会怎么样呢?

关键字: 湿度传感器 继电器 ESP32

最近,在我之前的一段视频中,我向您展示了一个基于圆形显示屏、使用 ESP32 微控制器和 Adafruit GFX 库的复古 VU 表项目。当时,VU 表是通过库函数绘制出来的,但代码仍然相对复杂,您可以在那段视频中看到...

关键字: ESP32 GC9A01 二极管

上海2026年2月14日 /美通社/ -- 2026年2月12日,SGS通标标准技术服务有限公司为腾讯(股票代码:00700.HK)颁发GB/T 35770-2022/ISO 37301:2021合规管理体系、ISO 3...

关键字: 腾讯 互联网 ISO GB

新德里2026年2月7日 /PRNewswire/ -- 互联网名称与数字地址分配机构(ICANN)将于2026年3月7日至12日在孟买召开第85届公共会议,本次会议由印度电...

关键字: CAN 互联网 IC 电子

洛杉矶2026年1月30日 /美通社/ -- 互联网名称与数字地址分配机构(ICANN)提名委员会(NomCom)现已开放加入ICANN董事会的申请。 新任董事会成员的任期将...

关键字: CAN IC 互联网 BSP

近日,一则关于“32岁程序员高广辉猝死”的消息登上热搜,引发了远超科技圈的社会震动与集体哀悼。

关键字: 互联网

“WiFi 感测技术”是智能家居的未来吗?还是仅仅是一种实验室里的奇思妙想?我花了数周时间利用 ESP32 构建了一个人体感应装置,以探究我们是否终于能够摒弃那些昂贵的传感器了。

关键字: Wi-Fi ESP32 物联网

气压计是一种用于测量大气压力的科学仪器。气压上升通常预示着天气好转,气压下降则通常意味着即将有风和降雨。气压稳定则表示天气状况平稳。在这个项目中,我将介绍一种非常简单的制作气动式气压计模拟器的方法。实际上,现代数字电子技...

关键字: 气压计 ESP32 BME280

我想用ESP32打造一款手持游戏体验。该项目重现了经典的“破砖机”(Breakout)机制,并针对小型OLED屏幕进行了优化。它包括一个由模拟操纵杆控制的反应桨和一个随机评分系统,其中一些块的价值比其他块高5倍。

关键字: OLED ESP32 蜂鸣器
关闭