所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
用掌控板和mind+获取、存储和展示环境温湿度
珠韵 珠韵 2020-07-05 21:58:33
4
1
简单

        在我们的科学探究实验中,数据的获取和展示是两个重要的环节,今天我要分享的是一个关于实验数据的获取存储和展示的项目。 

        一、 项目的主要内容: 

        获取环境的温湿度,发送到服务器,电脑上用曲线图展示过去24小时的温度变化。 

       二、 所需的主要器材: 

        掌控板*1 

       掌控扩展板*1 

       DHT11温湿度模块*1 

       三、 所涉及的知识点 

        1.wifi连接设置。

        2.DHT11温湿度传感器的应用。 

        3.NTP网络时间。 

        4.TinyWEBDB数据存储、更新和读取。

        5.实时模式中画笔的应用。 

        四、项目思路 

        掌控板连接DHT11模块,然后进行编程。定时读取DHT11的温度和湿度值,根据读取的时间把数值发送到TinyWEBDB中。Mind+在实时模式下,读取TinyWEBDB中的数值,绘制出数据变化曲线图。 

        五、对掌控板编程。

         1.掌控板接扩展板,然后接上DHT11模块,我接在P1口。 

        2.Mind+选择上传模式,添加主控板“掌控板”,添加传感器“DHT11/22温湿度传感器”,添加网络服务“Wi-Fi”、“ TinyWEBDB”、“NTP”。 

projectImage

        3.首先进行Wifi设置,然后设置TinyWEBDB数据库的相关参数。(关于TinyWEBDB数据库的玩法,我将会另外撰文介绍分享。)然后设置NTP。 

        4.接下来就是把温湿度的值发送到数据库中。 先判断,掌控板时钟中的“分”是不是“1”,如果是“1”,就发送温湿度数据。我预设48个TinyWEBDB标签,分别是1~48,其中1~24存储1~24时的温度数值,25~48存储的是1~24时的湿度值。所以发送湿度值的时候,我要加上24。 然后等待100秒,等100秒过去后,“分”已经变成2了,继续等待直到下一个分钟的1的出现。从而实现每1小时发送一次。 

projectImage

        5.为了方便查看当前的温湿度,我设置了按“A”键发送当前的温湿度,并在OLED中显示。

projectImage

        实物效果如下:

projectImage

数据库截图如下:

projectImage

       6.在实验中,我有几个问题要交流一下:

         A.程序写入板子的时候,软件出现冲突警告提示,意思是使用WIFI可能会导致DHT11数据读取异常,由于我手里暂时没有合适的湿度传感器,所以,我就忽略了这个提示。 

        B.获取板子时间出错,读取的时间为“4294967295”或者“-1”,换了几个时间服务器测试,还是经常出错,具体原因还不清楚,这几天继续琢磨。

         六、在mind+实时模式中进行编程 

       1.设置TinyWEBDB的参数。 

projectImage

        2.添加舞台背景2个,1个是坐标背景,一个是20px的格子背景(舞台横向是480px,24小时的话,刚好是20px一格,刚刚好)。按空格可以切换背景。

projectImage

       3.开始绘制曲线。 先绘制温度曲线,用红色,绘制在页面上半部分。 

         说明一下几个变量的用途

         “shi”先用来存储当前系统时间的“时”,然后在绘制曲线时,每循环一次就变化一次。

         “shi2”用来存储从24时开始到倒数计数。 例如现在是17点,我要先画出17、16、15…… 1的曲线,然后再画24、23…… 18的曲线,刚好是一天的变化。

         “X”存储的是X的坐标,把读取的温度数值,转换成X坐标值。 程序不是很复杂,用两个循环,画出温度的变化。 

projectImage

        然后绘制湿度变化曲线,用绿色,因为湿度数据的标签是25~48,所以第一组循环需要“shi”加上24。“shi2”要设置为48。

projectImage

        最后看一下曲线效果,从图中,我们可以看出过去24小时温度和湿度的变化。 

projectImage
projectImage

        上面分享的仅仅是一个思路,还有好多地方是需要改进改良的。大家有好的建议,请留言。

         本范例的源程序已经上传到码云。后续还会对程序进行改进,欢迎关注本文。 

         https://gitee.com/zslqg/fenxiangyuanma2020

Makelog作者原创文章,未经授权禁止转载。
4
1
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]