9 年级 · 从 USB 到现场系统:ESP32 水质监测
记录 CSV 数据与时间戳
按照学生学习资料,搭建、测试并记录水质监测系统的当前阶段。
这是预备课程资料,请在老师介绍后开始,目前不是已布置的作业。
本课资料
在线阅读学习资料正文
第 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 | 启动后经过的时间 | ms | 5000 |
| temp_C | 水温 | °C | 23.81 |
| ec_mS_cm | 估计电导率 | mS/cm | 0.412 |
| turbidity_raw | ESP32 ADC 读数 | ADC 计数值 | 2860 |
4. 数据采集记录
☐ 表头只输出一次。
☐ 每行逗号数量相同。
☐ 读数间隔约为五秒。
☐ CSV 数据中没有夹杂说明文字。
☐ 文件以 .csv 扩展名保存。
5. 电子表格任务
在电子表格软件中打开 CSV。
确认每个字段各占一列。
以时间为横轴创建一张折线图。
添加坐标轴标签、单位与说明性标题。
添加图注,说明样本及数值是否已校准。
6. 反思
millis() 能告诉我们什么,不能告诉我们什么?未来版本如何记录实际日期和时间?