9 年级 · 从 USB 到现场系统:ESP32 水质监测

记录 CSV 数据与时间戳

按照学生学习资料,搭建、测试并记录水质监测系统的当前阶段。

这是预备课程资料,请在老师介绍后开始,目前不是已布置的作业。

本课资料

2 页 · 完整说明、示例与作答区域请见学习资料。

在线阅读学习资料正文

如需查看图示、视觉示例与完整排版,请打开上方的学习单。

第 10 课:CSV 输出与时间戳

结构化记录与电子表格导入

9 年级 MYP 设计 | 从 USB 到现场系统

姓名:__________________班级/小组:__________________日期:__________________
今日目标 • 使用 millis() 生成经过时间的时间戳。• 每五秒输出格式一致的 CSV 行。• 导入数据并绘图。

关键术语

术语操作性定义
CSV
表头
字段
行
时间戳
millis()
间隔
分隔符

1. 检查 CSV

有效示例

time_ms,temp_C,ec_mS_cm,turbidity_raw5000,23.81,0.412,286010000,23.81,0.417,284815000,23.88,0.415,2855

哪些问题会导致导入失败?列出三种可能的格式错误。

________________________________________________________________________________________________________________

________________________________________________________________________________________________________________

________________________________________________________________________________________________________________

2. 数据记录代码模式

const unsigned long READ_INTERVAL_MS = 5000;unsigned long nextReading = 0;void loop() { unsigned long now = millis(); if (now >= nextReading) { nextReading = now + READ_INTERVAL_MS; // Read sensors here Serial.print(now); Serial.print(','); Serial.print(tempC, 2); Serial.print(','); Serial.print(ecMS, 3); Serial.print(','); Serial.println(turbRaw); }}

3. 表头与字段

字段名含义单位示例
time_ms启动后经过的时间ms5000
temp_C水温°C23.81
ec_mS_cm估计电导率mS/cm0.412
turbidity_rawESP32 ADC 读数ADC 计数值2860

4. 数据采集记录

☐ 表头只输出一次。

☐ 每行逗号数量相同。

☐ 读数间隔约为五秒。

☐ CSV 数据中没有夹杂说明文字。

☐ 文件以 .csv 扩展名保存。

5. 电子表格任务

在电子表格软件中打开 CSV。

确认每个字段各占一列。

以时间为横轴创建一张折线图。

添加坐标轴标签、单位与说明性标题。

添加图注,说明样本及数值是否已校准。

6. 反思

millis() 能告诉我们什么,不能告诉我们什么?未来版本如何记录实际日期和时间?