jinglixixi 发表于 2022-5-16 12:21

【平头哥RVB2601创意应用开发】+语音提示型环境状态检测记录仪

本帖最后由 jinglixixi 于 2022-5-18 11:00 编辑

<ul>
        <li style="text-align:justify">项目背景</li>
</ul>

<p>环境是影响我们的重要生存条件,因而对它的状态检测是一件十分必要的事情。反应环境状态的参数有多种,这里仅选取温度、光照强度、大气压为主要检测对象。此外,为了便于确定数据采集的时间点,还配有RTC 实时时钟及检测数据的文本文件记录功能,从而构成一个功能相对完备的环境状态检测装置。</p>

<ul>
        <li>作品简介</li>
</ul>

<p>作品简介:</p>

<p>本作品是一款针对温度、光照强度、大气压等环境状态进行检测的装置,并基于平头哥RVB2601开发板来设计,其外观如图1所示。所使用的环境检测器件为光照强度传感器BH1750及温度大气压传感器BMP085,其显示功能利用板载LCD显示屏,其测试输入是使用开发板上的2个按键,其语音提示功能是板载的音频功能单元。</p>

<p>为进行检测数据的记录,是通过串口将检测数据发送到串行数据记录模块,并文本文件的方式加以保存。</p>

<p style="text-align:justify">图1作品照片</p>

<ul>
        <li>系统框图</li>
</ul>

<p>该作品的系统框图如图2所示,共有8个部分组成,其中光照强度传感器BH1750、温度大气压传感器BMP085及串行数据记录模块为自行扩展部分。</p>

<p>其中,扩展部分所占用的引脚资源为:</p>

<p>BH1750:</p>

<p>SCL--- PA7</p>

<p>SDA--- PA25</p>

<p>BMP085:</p>

<p>SCL--- PA4</p>

<p>SDA--- PA31</p>

<p>串行数据记录模块:</p>

<p>RXD ---PA23</p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri,sans-serif"><span style="font-family:&quot;微软雅黑&quot;,&quot;sans-serif&quot;"><span style="color:gray">图2 系统框图</span></span></span></span></p>

<ul>
        <li style="text-align:justify">各部分功能说明和解析</li>
</ul>

<p>1. LCD屏显示</p>

<p>在显示方面,可使用开发板所配备的LCD屏来完成。由于其显示功能相对简单,故对其显示功能进行了较大的功能扩展,如添加了字符与字符串显示函数、数值显示函数、中文字库及显示函数等,其显示效果可参见图1所示。</p>

<p>2. RTC计时与设置</p>

<p>为标记检测数据的时间点,使用了CH2601的片内RTC计时器,并提供了检测前的RTC设置功能,以确保显示时间的准确性,其显示效果如图3所示。</p>

<p>在设置时间时,K1键是用于调整数值,K2键则是用于确认处理。在进行检测内容切换时,RTC的实时显示功能是不发生改变的。</p>

<p align="left" style="text-align:left">图3电子时钟</p>

<p>3. 语音播放功能</p>

<p>为了发挥开发板的语音处理功能,在开机时采用了语音提示的方式来介绍作品的功能。其播放的内容是先由金舟文字语音转换软件来生成MP3文件,在由DataToHex软件生成数组数据以存放到程序中来供播放时使用,见图4所示。</p>

<p style="text-align:justify">图4获取音频数据</p>

<p>4. 光强检测功能</p>

<p>光强检测是由传感器BH1750来实现,该器件是一款I2C接口的器件,为便于灵活地使用引脚资源,这里是GPIO口模拟I2C的方式来驱动该传感器,其检测效果如图5所示。</p>

<p align="left" style="text-align:left">图5光强检测效果</p>

<p>5. 温度大气压检测</p>

<p>温度大气压检测是由传感器BMP085来实现,该器件是一款I2C接口的器件,为便于灵活地使用引脚资源,这里是GPIO口模拟I2C的方式来驱动该传感器,其检测效果如图6所示。</p>

<p style="text-align:justify"></p>

<p align="left" style="text-align:left">图6温度气压检测效果</p>

<p>6. 串行通讯与数据记录</p>

<p>对于检测的数据是通过串行通讯来进行输出,在测试可以由串口调试助手这样的工具来进行观察和审核,其内容如图7所示。</p>

<p>图7数据检测</p>

<p>在通过审核后,可直接将串口与数据记录模块连接到一起以记录检测的数据来生成文本文件,其显示见图8所示。</p>

<p>&nbsp;</p>

<p>图8 数据记录</p>

<p>五、作品源码</p>

<p>作品源码:</p>

<p>&nbsp;</p>

<p>六、视频演示</p>

<p>视频简介:</p>

<p>该视频演示了环境状态检测记录仪,从上电显示中文主界面并以语音方式提示作品功能,到以按键设置系统时间、切换功能显示界面及输出检测数据的过程。</p>

<p>视频链接:</p>

<p><iframe allowfullscreen="true" frameborder="0" height="450" src="//player.bilibili.com/player.html?bvid=12S4y1b7MT&amp;page=1" style="background:#eee;margin-bottom:10px;" width="700"></iframe></p>

<p>七、项目总结</p>

<p>项目总结:</p>

<p>由于缺少较为详细的资料支持,开始时走了不少的弯路,单是创建一个可下载的开发环境就占去一半的开发时间,现在看来应使用最新版本的软件,并关闭杀毒软件的干扰。此外,以F7进行编译较为节省时间,尽量少用重新编译。在掌握了使用规律后,CDK这款开发工具还是比较好用的。</p>

<p>在作品的设计,加深了对开发板的了解,并对板载的资源进行了较为前面的利用,并扩展了对数字式传感器的驱动和使用。尽管作品的功能已相对完整,但还存在一定的改进空间,如添加无线通讯功能来实现与收集通讯等。有时间的话,还可以进一步的完善。</p>

<p>帖子分享链接汇总:</p>

<p>【平头哥RVB2601创意应用开发】+ 初识RVB2601开发板</p>

<p>https://bbs.eeworld.com.cn/thread-1195649-1-1.html</p>

<p>【平头哥RVB2601创意应用开发】+开发环境构建与下载测试</p>

<p>https://bbs.eeworld.com.cn/thread-1202462-1-1.html</p>

<p>【平头哥RVB2601创意应用开发】+GPIO的使用</p>

<p>https://bbs.eeworld.com.cn/thread-1202611-1-1.html</p>

<p>【平头哥RVB2601创意应用开发】+OLED屏的显示驱动</p>

<p>https://bbs.eeworld.com.cn/thread-1202648-1-1.html</p>

<p>【平头哥RVB2601创意应用开发】+RTC电子时钟</p>

<p>https://bbs.eeworld.com.cn/thread-1202654-1-1.html</p>

<p>【平头哥RVB2601创意应用开发】+LCD屏显示功能扩展</p>

<p>https://bbs.eeworld.com.cn/thread-1202798-1-1.html</p>

<p>【平头哥RVB2601创意应用开发】+光照强度检测</p>

<p>https://bbs.eeworld.com.cn/thread-1202826-1-1.html</p>

<p>八、其他</p>

<p>值得指出的是,板载的外设对系统的资源占用的更多,大大地限制了功能扩展的空间,在作品设计时只好将驱动GRB_LED的引脚用于驱动数字式传感器,所以检测的对象会受到限制。</p>

<p>&nbsp;</p>

wangerxian 发表于 2022-5-16 13:51

<p>开机那一段话,一共占了多少个字节?</p>

jinglixixi 发表于 2022-5-16 17:01

wangerxian 发表于 2022-5-16 13:51
开机那一段话,一共占了多少个字节?

<p>9873 Byte</p>

wangerxian 发表于 2022-5-17 09:03

jinglixixi 发表于 2022-5-16 17:01
9873 Byte

<p>还不少,只用单片机内部ROM存不了多少语音数据。</p>

jinglixixi 发表于 2022-5-17 09:49

wangerxian 发表于 2022-5-17 09:03
还不少,只用单片机内部ROM存不了多少语音数据。

<p>没错,用这种方式不适合用来进行数据的语音播报,原打算的语音播报功能只能放弃。</p>

wangerxian 发表于 2022-5-17 10:05

jinglixixi 发表于 2022-5-17 09:49
没错,用这种方式不适合用来进行数据的语音播报,原打算的语音播报功能只能放弃。

<p>如果扩展SD卡或Flash,把音频存在SD或Flash应该可行吧。</p>

jinglixixi 发表于 2022-5-17 10:30

wangerxian 发表于 2022-5-17 10:05
如果扩展SD卡或Flash,把音频存在SD或Flash应该可行吧。

<p>如果有SD卡支持的会好些,在容量上受制约比较小,使用Flash在容量允许的情况下,用起来比较方便,可以随用随取,无需为响应速度而设置缓存。</p>

wangerxian 发表于 2022-5-17 15:22

jinglixixi 发表于 2022-5-17 10:30
如果有SD卡支持的会好些,在容量上受制约比较小,使用Flash在容量允许的情况下,用起来比较方便,可以随 ...

<p>是啊。</p>
页: [1]
查看完整版本: 【平头哥RVB2601创意应用开发】+语音提示型环境状态检测记录仪