上海羊羽卓进出口贸易有限公司

传感器绘图 「壹零学院」传感器数据存储与Python作图

发布时间:2024-10-06 20:10:50

「壹零学院」传感器数据存储与Python作图

在进行开源硬件编程和创客作品开发时,我们都会先借助各种传感器进行各种数据的即时采集、再根据设定的相关判定条件去控制LED灯等外设做出响应。

对于传感器在每个瞬间所“捕获”的数据,程序通常都是“用完便弃”的一次性处理,如果后期对数据想要进行整理和图象绘制等二次使用的话,就必须将传感器在实验过程中所采集的数据以文件形式存储,从而达到将实验数据图形化“再现”的目的——尤其是多个不同传感器同时快速采集数据的情况。

以常见的掌控板“声光双控灯”项目为例,如何同时对声音传感器、光线传感器的数据采集进行同步存储和Python作图呢?

图形化编程实现传感器数据存储

1.进行图形化编程

在mPython X中通过图形化编程实现传感器数据存储。首先,初始化掌控板的OLED显示屏进行提示信息的显示——清除第2行和第3行的信息、在对应坐标位置显示“按A键采集数据”和“按B键结束”、OLED显示生效;

接着,编写“当按键A被按下…执行…”主函数,先是初始化两个文本文件sound.txt和light.txt,分别对应声音传感器和光线传感器采集数据的目标存储文件;再进入一个“一直重复…执行…”循环结构,将两个传感器的“声音值”和“光线值”分别赋值给对应的两个变量:“测试声音值”和“测试光线值”,接着再调用“采集并存储”函数;

接下来,进入一个判断“按键B是否已经按下”的选择结构,如果条件成立的话,则先调用“读取并输出”函数、再执行“中断循环”模块跳出该层循环;为了控制两个传感器采集数据的时间间隔,需要在循环结构中加入“等待1秒”模块语句。

自定义的“采集并存储”函数包括:先将变量测试声音值和测试光线值由数值型转为文本再分别写入sound.txt和light.txt两个文本文件,注意设置为以回车来分隔相邻的两个数据;

接着,将这些数据附加提示信息后进行显示输出;“读取并输出”函数先打印输出“数据采集结束”的提示信息,然后定义sound_list和light_list两个列表,通过“读取文本文件为列表”模块语句进行赋值,实现从对应的文本文件中读取已经存储过的传感器数据(注意同样也要设置为对应的“以回车分隔”);最后,将所有的声音数据和光线数据显示输出(如图1)。

2.运行程序,测试传感器的数据采集与存储

将掌控板通过数据线连接至电脑的USB接口,正常的话会在窗口上方有“掌控板”、“COM4”等提示信息。程序保存后点击“刷入运行”按钮,当右下角有“刷入成功”提示信息后,在掌控板的OLED显示屏上会出现两行提示信息“按A键采集数据、按B键结束”;接着,轻触一下掌控板的A键,提示窗口就会每隔1秒钟出现一行类似于“声音值为:0,光线值为1063”的信息,此时可尝试敲击桌子或对着掌控板哼唱几句歌曲,同时还可以用手捂住光线传感器或使用手机的“手电筒”进行照射;采集周围的声音数据和光线数据一段时间后,轻触一下掌控板的B键,程序则会停止数据的采集(输出“数据采集结束”),并且将采集的声音数据和光线数据以列表形式输出(如图2)。

3.从掌控板的SD卡中下载两个文本文件至电脑本地

点击mPython X顶端的“文件管理”按钮,弹出“板载文件管理”窗口,找到其中的sound.txt和light.txt文本文件,分别选中后再点击“下载到电脑”按钮,从掌控板的SD卡将它们下载至电脑本地(比如D盘根目录中);再使用记事本程序分别打开进行查看,其中所存储的数据正是之前声音传感器和光线传感器每隔一秒钟所采集到的几十个数据,每个数据占据一行(如图3)。

二、在Python中实现多数据图象的同步绘制

在Spyder编辑器中进行Python代码编程。

首先,进行matplotlib和numpy库模块的导入:“import matplotlib.pyplot as plt”、“import numpy as np”;接着,设置图象坐标轴能够正常显示中文(比如仿宋)和“负数”数据:“plt.rcParams['font.sans-serif'] = ['FangSong']”、“plt.rcParams['axes.unicode_minus'] = False”;然后,从sound.txt和light.txt两个文本文件中分别读取之前两个传感器所采集到的41个数据,其中的“x = np.linspace(0,40,41)”是用来构建图象的横坐标数据,代表每隔1秒钟进行一次数据采集;分别初始化y_sound和y_light两个空列表后, 使用“with open”方法以只读方式打开对应的文本文件后,通过range()循环以append()列表数据追加的方法将每个数据添加到列表中,注意还要使用eval()方法将每个原始的文本数据转换为int整型数据;最后,进行图象的坐标轴、标题、图例和网格等的设置,并且调用plt.plot()进行图象的同步绘制,再将生成的图象以png图片文件形式进行保存:“plt.savefig('传感器采集数据.png',dpi=200)”。

将程序保存为“Python绘制传感器的采集数据.py”,按F5功能键运行测试,在右侧的控制台中就会显示有预览图象的输出结果;同时,在D盘中也生成了“传感器采集数据.png”文件(如图4),实现了将两个传感器采集的实时数据先以文本文件的形式存储后、再通过Python代码编程绘制图象展示的目的,大家不妨一试。

3D科研绘图,PPT就可以搞定了

来源:演说洞见

自《PPT3D科研绘图》课程上线以来,受到了很多科研工作者的好评。

在网易云课堂“科研”“绘图”“3D” 等类别下,课程销量 稳居第一 。即便是在PPT这个大类,在目标人群不到普通PPT课程1%的情况下,销量居然常常跻身TOP 3

这个课无论在内容编排信息量开创性制作精度 ,甚至售价 方面(相对于信息量和开发难度),在同类课程中优势都是碾压性 的。

以下是课程的逐节内容介绍。

尽管从2007版开始,PPT就已支持所有3D绘图参数,然而直到现在,大部分参数仍是找不到参考资料的空白领域 。在本篇中,我们对PPT的3D绘图参数进行了迄今为止最全面、最详细的解析、比对和挖掘

第1节 《深度与旋转》

这节课通过“深度”这一参数,打开PPT3D绘图的大门。同时为了让零基础的学员能够听得懂,我们对PPT作图中的几个基本操作和概念进行了解释。

仅仅通过深度这一个简单的参数,我们快速完成了立方体、圆管、平板、纤维、多层结构等图形的制作。

深度参数的概念磅和厘米单位的换算PPT中对象的层次关系及选择窗格的使用三种三维旋转方式及其区别如何使用光照角度调节三维对象的明暗如何制作平板、纤维、圆管及多层结构

第2节 《三维旋转参数详解》

对于三维旋转这个三维作图最基本的参数,在这个课程之前,居然没有一个教程能够解释的正确和清楚。在这节课中,我们首次对相关问题进行了明确的解答。

PPT中的三个坐标系:页面坐标系 选框坐标系 形状(对象)坐标系的概念和区别三维旋转参数中,X旋转 Y旋转和Z旋转的物理意义三维旋转输入框和三维旋转按钮的功能区别

第3节 《图形布尔运算》

布尔运算是一个非常强大而且重要的功能。这节课我们对布尔运算的用法、范围进行了非常全面和详细的讲解,制作了太极图、分子筛、多孔膜等常见结构,并完成了炫酷的空心球药物释放动画效果。

布尔运算的概念和运算规则布尔运算的使用范围太极图的绘制方法如何制作漂亮的艺术字体如何制作三种药物释放动画效果

第4节 《材料与光源》

光源和材料是PPT控制三维对象质感的主要参数,直接决定了三维图形的观感。然而在此之前,国内几乎找不到什么讲解资料。在这节课中,我们首次对这两个参数进行了非常详细的讲解和比对,并总结了一些最常用的参数搭配,填补了PPT教程在这个方面的空白。

15种光源类型的概念及区别11种材料类型的概念及区别如何搭配不同光源和材料得到漂亮的三维图形质感

第5节 《纹理与渐变》

PPT的纹理和渐变相当于三维软件中常用的“贴图”,灵活使用这两个参数,我们可以得到无穷无尽的图形贴图样式。

如何给三维形状添加图片和图案贴图如何给贴图添加指数级的变化四种渐变类型的概念和区别图形渐变的详细设置方法三维渐变箭头的制作方法金属质感的表现手法以多层传感器的制作

第6节 《曲线与线条编辑》

不夸张得说,掌握了曲线工具和线条编辑技巧,就可以用PPT绘制出任何图形。在这节课,我们对曲线工具和线条编辑进行了非常详细的讲解,并绘制了弯曲箭头、DNA、小白鼠等科研工作中使用频率极高的图形。

三种曲线绘制工具的区别及其使用场景线条设置参数详解线条编辑参数详解如何制作弯曲的箭头如何制作柔性传感器如何制作条带双螺旋DNA如何对DNA进行弯曲零基础如何绘制一个小白鼠

第7节 《棱台》

棱台是PPT进行三维造型的唯二参数。然而之前关于其概念、不同棱台的应用场景,几乎找不到稍微详细的资料。在这节课中,我们对棱台及其参数进行了详细的解释,重新发掘了不同棱台的应用场景。这可能是目前国内外关于棱台参数最全面、最实用的讲解。

棱台的概念圆形和角度棱台的定义棱台的宽度、高度对棱台形状的影响细胞蛋白质分泌效果的制作如何为枯燥的三维形状添加光泽质感红细胞三维模型的制作受体和配体三维模型的制作

第8节 《组合与距底边高度》

组合和距底边高度,这是很多人闻所未闻的技巧,却是PPT3D作图的任督二脉 。掌握了这两个技巧,就可以将前面学过的参数糅合起来,制作出复杂的三维模型了。

如何将多个形状融合成一个三维对象距底边高度的概念三维融合的限制如何突破三维融合限制

第9节 《3D绘图思路》

基本参数和技巧固然重要,但要将这些知识综合起来,灵活运用到科研绘图中,就必须掌握PPT3D绘图的基本思路。授之以鱼不如授之以渔,思路学会了,再复杂的图形都能水到渠成。

PPT绘图参数总结曲面图参数的概念和使用场景PPT3D绘图的基本思路复杂三维造型的两个思路(以坩埚为例)

值得一提的课件质量

值得一提的是,为了帮助读者能够快速、深刻地理解陌生的概念和方法,我们精心制作了二十多组原理动画。

比如对于“距底边高度”这个参数的物理意义,我们是这样讲解的:

在这一篇,我们通过全新插件ThreeD的开发,结合使用iSlide,英豪,OneKey,口袋动画四款插件,让从PPT3D绘图从繁琐的参数设置中解放出来,使其成为媲美AI、甚至部分替代专业3D软件的重量级绘图工具。

进一步,在插件的基础上,首创“透视法”、“拼接法”、“积分法”、“渐变锐化” 四大高阶绘图技术,打破了PPT三维作图的限制,极大扩展了PPT3D作图的应用范围和可能性。

本章中,大部分都是前所未见的高度创新性内容。

第10节 《ThreeD插件》

ThreeD是我们为这个课程专门开发、为科研工作者量身定制的插件。 对于PPT3D绘图来说,ThreeD是一个里程碑意义的插件。ThreeD克服了PPT三维参数设置入口单一、调节繁琐、缺少批量操作等痛点,将PPT的三维作图效率提高了10倍以上。

不仅如此,ThreeD同时支持目前科研绘图最重要的两个素材库Servier Medical Art和ScienceSlide,专业素材超过15000个 ,而且绝大多数都是矢量,可以非常灵活的进行二次编辑。

ThreeD插件零售价99元,对于购买课程的学员,可免费下载和使用

在这节课中,我们对ThreeD插件的各个功能进行了非常细致的讲解。

一键将二维图形变成三维图形一键设置三维参数底边垂移功能及用法顶底相接功能及多层结构的画法ThreeD插件的阵列分布功能及用法ThreeD插件三维递进功能及用法ThreeD环绕分布的概念及用法一键导入海量素材库如何建立自己的素材库

第11节 《iSlide插件》

iSlide插件可以帮助我们快速得到具有周期性、渐变性特征的图形,是iSlide阵列分布功能的重要补充。这节课我们通过纳米阵列、Mexenes剥离片层等图形详细讲解了iSlide插件的绘图板块。

iSlide矩阵布局功能及用法iSlide环形分布功能及用法iSlide补间动画功能及用法二维纳米阵列的画法简单晶格结构的画法Mexenes剥离片层结构的画法

第12节 《英豪插件》

英豪插件是一个非常小众但强大的插件,其线条编辑功能和形状分布功能相当好用,在PPT绘图中找不到替代者。本节课对于英豪插件绘图相关功能的介绍,可能是目前能够找到的最详细齐全的。

英豪插件的三种沿线分布功能及其区别卵泡组织的画法噪波工具及用法形状补间功能及用法线条分段功能及用法柔性传感器的制作(补充)圆角工具及用法环形DNA的画法

第13节 《OneKey插件》

OneKey插件可以一键批量设置多个对象的属性,比如尺寸、位置、旋转、填充等等。另一方面,OneKey很好地补充了PPT图片处理能力的不足。在这节课,我们除了介绍Onekey的各项功能的用法,还细讲解了一些基本的图片处理概念,比如加色混合、减色混合,正片叠底等等。

一键转图功能及用法一键设置多个对象的尺寸地一键设置多个对象的参数值球棍DNA的制作减色混合和加色混合的概念正片叠底的原理及应用滤色的原理及应用如何导出满足论文投稿要求的高分辨率图片

第14节 《透视法和拼接法》

这节课讲解了突破PPT3D功能限制的两种重要方法:透视法和拼接法。这两种方法均为此教程作者原创 ,非常巧妙,可以快速制作出纳米花、通道结构等形貌复杂的图形。

透视法的原理及手法拼接法的原理及手法纳米花的制作通道及支架结构的制作

第15节 《积分法》

积分法是本教程开创 的一种绘图方法,利用ThreeD等插件强大的批量设置功能,积沙成塔,对PPT的三维作图限制进行了“暴力”破解,极大扩展了PPT3D绘图的边界 。本教程方法和案例均为首次公开

积分法的原理及手法聚合物缠绕碳纳米管的制作三维曲面的制作扭曲结构的制作DNA三维模型的制作三维嵌段聚合物的制作

第16节 《渐变锐化》

渐变锐化是突破PPT3D功能限制的第四种方法,此方法同样为本教程作者原创 。本方法巧妙借助PPT的渐变功能,实现了以一敌多的效果。

渐变锐化的原理及手法双面粒子的制作嵌段聚合物的制作环形嵌段聚合物的制作抗体的制作1/4剖面球的制作套环的制作

第17节 《剖面》

这节课从剖面形状和光影关系两个基本原理出发,讲解了如何用PPT绘制几何体的剖面,得到球的双剖面、球的三剖面、核壳结构、多层核壳结构、空心球体、多孔空心球体、剖面晶体等科研绘图中高频使用的图形。

手绘剖面的原理及方法不同立体图形的剖面形状光影关系三面剖球的画法多层核壳结构的画法多孔空心球的画法剖面晶体的画法

第18节 《渐变中心》

“渐变中心”的具体概念一直混沌不清,没有人给出准确的定论和描述,导致这个技术一直没有得到推广,即便对于极少使用这个功能的PPT高手,也基本是基于半经验的。本节中,我们对“渐变中心”进行了重新挖掘和试验,首次明确 了“渐变中心”的真正概念

此外,任意形状的路径渐变会调用圆形路径一直都是大家无可奈何的事实。我们首次发现 了让形状的路径渐变使用其自身路径的方法。借此方法,PPT路径渐变的用途将被大大扩展。

射线渐变内中心和外中心的概念路径渐变内中心和外中心的概念英豪插件渐变中心工具参数详解渐变路径为形状本身的设置方法高仿真泡孔电镜图的PPT画法

第19节 《快捷操作》

本节内容介绍了PPT绘图时最常使用的快捷键,以及根据自己使用习惯自定义PowerPoint用户界面的方法。多个重要的快捷键都鲜为人知。 掌握本节,PPT绘图效率可再提高30%以上。 另外,通过对PPT界面进行自定义,我们可以将自己常用的功能进行整合,形成一个符合自己操作习惯的独有“插件”

PPT绘图最重要的30个快捷键PowerPoint界面的定制方法如何生成一个“独有插件”

在前面的课程中,我们通过大量简单的案例打好了基础。这一篇再进一步,针对科研工作中常见的场景,集中展示了大量相对复杂的图形 的制作方法,对前面内容进行复习的同时,探索 PPT科研绘图的边界和可能性

第20节 《实验器具》

在这一节课中,我们讲解了6种常用实验器件的画法,包括:

镜头 电极 注射器 圆底烧瓶 移液枪 以及烧杯。

从图中可以看到,使用PPT进行绘图,可以得到媲美C4D 等专业三维建模软件的效果,而且出图清新脱俗,别具一格。

第21节 《机械臂》

在这节课,我们通过制作机械臂3D模型,讲解了复杂三维形状参数的调整思路,并为学习了集中常见的三维动画:整体旋转、部件弯曲、部分扭转以及开合抓取动画的制作方法。

第22节 《超分子包合》

在这节课,我们通过5种常用的超分子包合主体(柱[5]芳烃、柱[6]芳烃、葫芦脲、环糊精、杯芳烃)的制作,复习并强化了PPT剖面手绘技术。通过PPT的自定义动画功能制作出超分子主客体包合的动画效果。

第23节 《晶格》

在这节课,我们通过6种不同类型的晶格的画法,集中复习了ThreeD插件、iSlide插件、OneKey插件及英豪插件的多对象批量设置功能。

第24节 《细胞膜》

在这节课,我们讲解了4种细胞膜的画法,每一个都是真正的3D图形:

第25节 《2D平面绘图》

细胞信号通路图看似复杂,实际都是由简单的部件拼合而成的。很多教程针对几张特定的图或者案例进行演示,这样的教学方式非常浪费时间而且意义不大。实际上,只要掌握了平面绘图的几个关键技法 ,比如描边技法、渐变手法、阴影类型、高光效果的制作,再复杂的图形都信手拈来:

第26节 《配色》

一张图好不好看,很大程度上是由配色决定的。但配色是一个很大的难点。我曾试图寻找一些配色漂亮的科研绘图案例做参考,发现即使在Nature和Science,配色漂亮的论文配图也非常稀少。这节课,我们针对科研工作者在配图中存在的四大问题:暗沉、刺眼、枯燥、冲突,提出了具体的解决思路:

第27节 《素材》

这节课我们讲解了如何将不同的素材,包括矢量素材、视频素材、3D素材等,从AI、Chem3D以及3Ds Max等作图软件导入到PPT里。除此之外,我们推荐了一些非常实用的素材网站,并顺便解决了如何在PPT中进行抠图的问题。

28节 《抽象》

科研绘图的目的是表达,而不是写实,片面追求图形的“真实”,没有必要,而且绝不可取。图形表达的本质,是剥离掉无关和次要的细节,并通过图形强化表达的核心要点和逻辑。PPT固然是一个轻量化的小巧的绘图工具,但正是因为它的小巧和灵活,使得我们能够拨开技巧的迷雾,更加接近“抽象”这个绘图的本质。

那么在科研绘图中,应该如何进行合理抽象,清晰地表达论文的核心思想?这节课通过两个案例,我们给出了答案。

PPT作的图可以通过自定义动画,非常方便地转变为动态的原理动画,这是PPT绘图的一个重要优势。所以PPT做的图不仅可以用在论文里,还可以用在答辩上,会议报告上,乃至科研报奖中,最大限度地发挥一张图的价值。

在本篇中,我们对PPT的动画技术进行了简单的入门讲解。

第29节 《平滑切换》

平滑切换是PowerPoint2019更新的新功能,它可以在图形的两个状态之间自动生成渐变动画效果,非常强大。这节课,我们对平滑切换的使用范围和技巧进行了讲解。

第30节 《动画基础》

这节课,我们讲解了科研PPT中最高频使用的动画效果,包括:添加、生长、旋转、变色

、放大缩小、移动动画等。将这些基本的动画效果叠加起来,我们就可以制作出非常炫酷的原理动画。

在这一篇,针对学员的问题,我们将不定期进行一些更新和答疑。

第31节 《椭球的剖面》

部分学员反映,剖面技术相对较难,对于复杂形状剖面的制作思路不够清晰。因此这节课我们对第17节的内容进行了补充,通过线粒体和叶绿体两个案例,展示了椭球剖面的制作思路和技巧:

课程免费试看章节

对于一个软件的掌握,不在于照猫画虎 地学习过特定几个案例,而在于 对软件参数和作图方法的深度理解

这个课程以参数和方法 讲解为中心:对于每一个参数或方法,首先通过原理动画和插图 详细解释其概念,以帮助学员形成深度的理解,然后通过大量案例 对其进行发散,帮助学员学会灵活运用。这样不仅可以建立完整的知识体系 ,而且课程信息密度大幅增加 ,案例数量和知识量达到普通课程的4~5倍

比如在《棱台》一节中,课程先通过动画讲解了棱台宽度和高度两个基本概念:

而后使用大量案例对其应用场景进行展开。以下视频为此节内容免费试看:

“课程颠覆了我对PPT的认知”

如何购买课程

请扫描上图二维码进入课程链接。

相关问答

mastercam2022口罩机如何建模?

您好,要在Mastercam2022中建模口罩机,可以按照以下步骤进行操作:1.在Mastercam中创建一个新的零件文件。2.使用绘图工具创建口罩机的基本轮廓。可以使用...

用电流 传感器 和电压 传感器 等可测干电池的电动势和内电阻.①...

[最佳回答](1)实验电路图如图所示.(2)记录数据后,打开“坐标绘图”界面,设立坐标,点击“直线拟合”,得出实验结果.纵轴截距为1.4V,所以E=1.4V,内阻r=△U△I=1...

半桥差动电路为什么能消除非线性误差?

因为半桥测量时会受零漂和蠕变的影响,同时,绝缘电阻过低也会造成应变片和试件之间的漏电而产生测量误差。由于敏感栅金属丝电阻本身随温度发生变化,试件材料...

【如图1所示为用速度 传感器 和拉力 传感器 验证“质量一定时加...

[最佳回答](1)根据表格中的数据描点作图,如图所示.(2)对比图象可知,实际图象没有过原点而是和横坐标有交点,造成原因为没有完全平衡摩擦力.(3)A、要保持小车(...

机电和机电一体化技术人员是干什么的?有哪些任职要求? 申请方

[回答]很多同学在找机电和机电一体化技术人员相关工作的时候了解一下机电和机电一体化技术人员到底是干什么的?以及任职有那些要求都是很有必要的,这样能...

SAI的钢笔那里的笔压怎么用啊? - EpApAvuf 的回答 - 懂得

=w=首先我们先新建一接着。看到笔~这时候我们会发现!嘿我们刚刚画的这条线上出现了几个点~【会觉得很神奇吧!然后!随便点住一个点~往左拖~往右拖~XD...

带电绕组温升测试仪的使用方法?

电绕组温升测试仪是用于测试电机、变压器等带电绕组温度上升的仪器,可以帮助检测电机等设备是否运转正常和温度是否过高。使用带电绕组温升测试仪需要按照以下...

让小球从斜槽的不同高度处滚下.利用光电门 传感器 和碰撞传...

[最佳回答](1)由题,利用光电门传感器和碰撞传感器可测得小球的水平初速度和飞行时间,底板的标尺可以测得水平位移,用直尺可以测得小球抛出时的高度,所以首先要...

知道了三轴加速度 传感器 的XYZ方向的加速度分量,如何计算其矢...

[最佳回答]假设三轴加速度传感器的XYZ方向的加速度分量分别为ax,ay,az,则可以先在XY平面将ax与ay矢量合成为axy,其大小为axy=(ax^2+ay^2)^0.5然后在axy与az所...

手机感应器一档就黑屏,坏了吗?-ZOL问答

笔记本用于绘图方面的用哪个AMDR7还是i7?8946浏览9回答wps目录自动生成后肿么链接不到文档3488浏览4回答Steam的愿望单看不见怎么处理1.2万浏览4回...

展开全部内容