Arduino Uno无SD卡存储GY-906测温数据并导出分析的实现方法
无需SD卡实现温度数据记录与分析方案
完全可行,我们可以通过串口将温度数据实时传输到电脑,由电脑负责存储数据,完美避开Arduino Uno内存有限的问题。以下是具体实现步骤:
一、修改Arduino代码(实现1分钟一次数据采样与输出)
调整原代码,将采样间隔改为1分钟,同时输出结构化的温度数据(带运行时间戳,方便后续分析):
#include <Adafruit_MLX90614.h> Adafruit_MLX90614 mlx = Adafruit_MLX90614(); void setup() { Serial.begin(9600); while (!Serial); // 等待串口连接 if (!mlx.begin()) { Serial.println("Error connecting to MLX sensor. Check wiring."); while (1); // 传感器连接失败则死循环 }; } void loop() { // 计算从程序启动到现在的累计秒数,作为时间戳 unsigned long elapsedSeconds = millis() / 1000; // 读取物体温度 float objectTemp = mlx.readObjectTempF(); // 输出结构化数据,格式:累计时间(秒),物体温度(*F) // 这种格式方便后续导入Excel直接解析 Serial.print(elapsedSeconds); Serial.print(","); Serial.println(objectTemp); delay(60000); // 1分钟采样间隔(60000毫秒) }
二、电脑端记录串口数据到TXT文件
方法1:用Arduino IDE自带串口监视器
- 上传修改后的代码到Arduino Uno,打开串口监视器
- 设置波特率为
9600,点击右上角的记录按钮(类似软盘的图标) - 选择保存路径并命名TXT文件,程序运行期间,所有串口输出的内容会自动写入该文件
方法2:用第三方串口工具(如PuTTY)
- 打开PuTTY,选择"Serial"连接类型,设置对应串口端口和波特率9600
- 点击"Session"界面的"Logging"选项,勾选"All session output",指定日志保存路径和文件名
- 点击"Open"启动串口连接,数据会自动记录到指定的TXT文件中
三、导入数据到Excel分析
- 打开Excel,点击菜单栏数据 > 获取数据 > 自文件 > 自文本/CSV
- 选择刚才保存的TXT文件,在导入向导中设置分隔符为逗号,完成导入
- 此时时间戳和温度会分成独立列,可直接用Excel的公式(如
AVERAGE())计算平均温度,或生成温度变化图表
内容的提问来源于stack exchange,提问作者BruceWayne
相关产品推荐
相关产品推荐

