如何在Arduino Uno R4上显示实时本地温度
在本Visual Programming Visuino教程中,我们将利用Arduino Uno R4 WiFi内置的LED矩阵和WiFi连接功能,通过免费的wttr.in天气服务,显示任意城市的当前温度。
Arduino 连接到互联网,向 wttr.in 请求最新的天气数据。然后从响应中提取当前温度,并直接显示在内置的 LED 矩阵上,无需任何外部硬件即可实现紧凑型实时天气显示。
为保持信息的时效性,温度将每5分钟自动刷新一次。您可以轻松自定义刷新间隔,并选择wttr.in支持的任意城市。
使用 Visuino 的拖放界面,您可以无需编写任何代码,即可配置 WiFi 连接、从 wttr.in 下载天气数据、提取温度值,并将其显示在 LED 矩阵上。
该项目展示了你可以构建的内容——wttr.in 提供了更多天气参数,例如湿度、风速、气压、天气预报以及详细的多日数据。这意味着你可以轻松地将此项目扩展为一个完整的气象站,直接集成到 Arduino Uno R4 WiFi 上。
结合其他Visuino教程,您可以添加更多传感器、额外的API数据或多种显示模式,从而构建出更先进且交互性更强的系统。可能性无限,这仅是实现更大规模天气或物联网仪表盘项目的一个起点。
注意:无需外部传感器或显示屏——所有功能均通过Arduino Uno R4 WiFi的内置WiFi和LED矩阵实现。
步骤1:你需要准备什么
•Arduino UNO R4 Wi-Fi
•Visuino 程序
步骤2:启动Visuino,并选择Arduino UNO R4 WiFi板类型
启动 Visuino,如图1所示。在 Visuino 中点击 Arduino 组件上的“工具”按钮(见图1)。当弹出对话框时,选择如图2所示的“Arduino UNO R4 WiFi”。
步骤3:在Visuino中设置WiFi
选择 Arduino UNO R4 WiFi 板,在编辑器中进入“模块”>“WiFi”>“接入点”,点击 [...] 按钮,即可打开“接入点”窗口。在此编辑器中,将 WiFi 接入点拖到左侧。
•在属性窗口中,将“SSID”栏填写为您WiFi网络的名称
•在“密码”处输入您WiFi网络的访问密码
•关闭“访问点”窗口
•在编辑器左侧选择 Modules > Wifi > Sockets,点击 [...] 按钮,打开“Sockets”窗口。将 TCP/IP 客户端从右侧拖动到左侧,在 Properties 窗口中设置端口:80,主机:wttr.in
•关闭“Socket”窗口
步骤4:在Visuino中添加组件
•添加“字符转文本”组件
•删除右侧子文本组件
•添加“2倍延迟”组件
•添加“开始”组件
•添加“HTTP客户端”组件
步骤5:在Visuino中设置组件
•选择 ArduinoUNO R4 WiFi 板,在属性窗口中展开“模块”>“显示”,然后选择“元素”,点击三个点按钮。在“元素”窗口中将“文本框”拖到左侧,再在属性窗口中选择“元素”,并点击三个点按钮。
•将打开一个新窗口,将“Font”元素向左拖动,在属性中设置字体为“Adafruit\Picopixel”。
•关闭“元素”窗口
•选择“CharToText1”,在属性窗口中将“最大长度”设置为300
•选择“Delay1”,然后在属性窗口中将“间隔”设置为2000000
•选择“HTTPClient1”,在属性窗口中将“Host”设置为 wttr.in
•双击“HTTPClient1”,在请求窗口中将“Get”拖到左侧,在属性窗口中将“URL”设置为 /London?format=%t
注意:在此示例中,我们请求的是伦敦的数据,但您可以在URL中将城市更改为其他任何地点:/Miami?format=%t
•选择“Delay2”,在属性窗口中将“Interval”设置为300000000,这是数据(温度)的刷新时间(单位:微秒),您可以根据需要修改此值。
•选择“DeleteRightText1”,并将“长度”设置为3
步骤6:在Visuino Connect组件中
•将 Arduino 串口引脚 [Out] 连接到“Delay1”引脚 [Start]
•将“Delay1”引脚 [Out] 连接到“Arduino Sockets 引脚 [Disconnect]”
•将“Delay1”引脚[Out]连接到“CharToText1”引脚[Clock]
•将“HTTPClient1.Requests.GET1.Response”引脚 [Content] 连接到“CharToText1”引脚 [In]
•将“CharToText1”引脚 [Out] 连接到“DeleteRightText1”引脚 [In]
•将“DeleteRightText1”引脚 [Out] 连接到“Arduino.Modules.Display.Elements.Text Field1”引脚 [In]
•将“HTTPClient1”引脚 [Out] 连接到“Arduino.Modules.Communication.WiFi.Sockets.TCP Client1 [wttr.in:80]”引脚 [In]
•将“Start1”引脚 [Out] 连接到“HTTPClient1.Requests.GET1”引脚 [Clock]
•将“Delay2”引脚[Out]连接到“Delay2”引脚[Start]
•将“Start1”引脚[Out]连接到“Delay2”引脚[Start]
步骤7:生成、编译并上传Arduino代码
在 Visuino 中,点击底部的“构建”选项卡,确保选择了正确的端口,然后点击“编译/构建并上传”按钮。
本文编译自hackster.io





