点击蘑菇云创造 关注我们
SCI采集模块硬件
读取CSV文件,并实现数据可视化
前言
不久前的蘑菇云2022秋季新品发布会上,我们向大家介绍了SCI采集模块。作为一款多功能数据采集模块,它可连接常见的传感器20余种,最多可同时链接3个采集模块,9个传感器,并能够自动识别传感器型号,做到了即插即用。此外,SCI采集模块可自动调用算法采集到的数据转化为标准物理量显示在板载屏幕中,帮助老师们更好的进行跨学科项目教学。
为推广与宣传SCI采集模块,我们诚邀各位老师参与SCI采集模块的测评活动。本期内容,来源于 @Hockel 的测评。
点击图片,查看发布会详情
电路连接
SCI采集模块配置
1. 传感器校准
将传感器连接到SCI采集模块,通过手动选择或自动识别,屏幕中已显示出传感器数据。
在初始界面摁下"S"键,进入设置菜单。
通过"S"和"R"键上移/下移光标至"Calibration",此时摁下"OK"键,进入传感器校准页面。
单点校准的传感器仅进行"Low Point"校准即可,需要双点校准的传感器在低点进行"Low Point"校准,在高点进行"High Point"校准。
将传感器放入校准环境中,摁下"OK"键,等待屏幕中出现"*"标识,完成低点/高点校准。
说明1:对应的点位完成校准后屏幕中会出现"*"标识;对应的点位正在校准屏幕中会出现"-"标识;对应的点位校准失败屏幕中会出现"x"标识。
说明2:校准值会永久保存在SCI采集模块中,直到下一次校准时刷新。
("*"标识仅用于指示当次进入校准页面是否进行过校准,重新进入校准页面时"*"标识会消失,若直接退出则校准信息以上一次为准)

2. 设置数据刷新率
在初始界面摁下"S"键,进入设置菜单。
通过"S"和"R"键上移/下移光标至"Set Refresh Rate",此时摁下"OK"键进入刷新率设置页面。
通过"S"和"R"键上移/下移光标至需要的刷新率,摁下"OK"确认选择。
可选项有ms、1S、 3S、 5S、 10S、 30S、 1min、 5min、 10min。
选中ms后,系统会按照最快的速度刷新传感器数据,时间标签精确至ms级。

3. 设置存储内容
在初始界面摁下"S"键,进入设置菜单。
通过"S"和"R"键_上移/下移光标至"Set REC Content",此时摁下"OK"键进入存储内容设置页面。
此页面可选择Port1、Port2、 Port3端口的数据是否被存储在CSV文件中,"*"标识代表此端口的数据会存储在CSV文件中,默认为全部开启。
若有需要可将对应的端口关闭,以节省U盘空间。

4. 数据记录和读取
SCI采集模块自带16M存储空间,可将实验数据以CSV表格格式实时记录存储下来。CSV表格包含时间标签、传感器检测的物理量名称、物理量数值、物理量单位等数据。
将传感器连接到SCI采集模块,通过手动选择或自动识别,屏幕中已显示出传感器数据。
传感器已放置到实验环境,需要开始数据记录。
摁下"R"键,启动数据记录。此时屏幕左下角的REC旁会出现"*"标识,"R"键上方的指示灯开始闪烁,指示此时SCI采集模块正在进行数据记录。
说明1:数据记录功能为上电默认关闭,可通过摁"R"键随时暂停或启动该功能。
说明2: SCI采集模块每次上电后第一次启动数据记录时会创建一 个新的CSV文件, 文件名为此时的系统时间,例如2022_10_24_09_30_00,文件创建后暂停或启动数据记录不会再创建新的文件,数据会存入最新创建的文件中。
说明3:若需在不重启SCI采集模块的情况下新建一个CSV文件, 需在暂停数据记录的状态时长摁"R"键3秒,新建成功后"R"键_上方的指示灯常亮3秒,此时再摁下"R"键启动记录。

5. 数据导出
通过摁"R"键,暂停数据记录,此时屏幕左下角的REC旁无"*"标识,"R"键 上方的指示灯停止闪烁。
通过Type- c数据线将模块与电脑连接,此时电脑会弹出一个新的U盘文件。
打开U盘文件后将需要的CSV文件复制/剪切到电脑中。
说明1:在数据记录过程中请勿操作U盘和其中的文件。
说明2:在CSV文件格式无法保存绘制的数据图表,若要直接在表格中绘制图表请将CSV另存为xIsx格式。
任务:读取CSV文件,并数据可视化
1. 所需python模式下图形化用户库文件
matplotlib库:https://gitee.com/chenqi1233/ext-matplotlib
pandas库:https://gitee.com/hockel/ext-pandas
numpy库:这里使用了代码生成模块
2. 编写程序
# -*- coding: UTF-8 -*-# MindPlus# Pythonfrom matplotlib import pyplot as pltimport matplotlibimport pandas as pdplt.figure(figsize=(10, 5),dpi=80)plt.rcParams["font.sans-serif"] = ["HYQiHei"]plt.xlabel("time", fontsize=20)plt.ylabel("Light(lx)", fontsize=20)df= pd.read_csv('1.CSV', header=0)plt.plot(df['Time'],df['Light(lx)'])plt.show()while True:pass
3. 实验效果
我们可以看到X轴刻度显示比较密集,这里我们需要用numpy库进行优化。
任务:优化X轴显示过密问题
1. 程序编写
# -*- coding: UTF-8 -*-# MindPlus# Pythonfrom matplotlib import pyplot as pltimport matplotlibimport numpy as npimport pandas as pdplt.figure(figsize=(10, 5),dpi=80)plt.rcParams["font.sans-serif"] = ["HYQiHei"]plt.xlabel("time", fontsize=20)plt.ylabel("Light(lx)", fontsize=20)df= pd.read_csv('1.CSV', header=0)plt.xticks(np.arange(0, len(df['Time']), step=15))plt.plot(df['Time'],df['Light(lx)'])plt.show()while True:pass
2. 实验效果
本教程简单的实现了python模式下读取CSV文件,并数据可视化操作。不得不说有了SCI采集模块的出现,我们在进行数据采集的时候会变得十分方便。它也让我们使用传感器的读取操作更加便捷。
本文来源:MAKELOG造物记
作者: Hockel
往期内容查看

