【DFRobot Beetle ESP32-C3开发板试用体验】III 模拟量数据采集与BLE上传

描述

本文来源电子发烧友社区,作者:张一工, 帖子地址:https://bbs.elecfans.com/jishu_2293580_1_1.html

原定的这次开发版评估的最终目标是实现数据采集并通过BLE上传到手机,通过手机可以看到采集到的数据,应用场景是电力电子技术实验室的实验数据记录。

目前的情况是因为疫情根本就无法进入学校,当然更无法进入实验室;而且想到即使可以进入实验室现场,被采集信号的前端处理要花费很多精力,而目前重要的事情应该是把基本的环节跑通,所以,决定采用简化的方法来完成这次评测。

1 恢复开发环境

前一段时间因电脑死掉重新恢复系统,原来配置好的Arduino平台下ESP32开发环境需要重新安装,又是痛苦地重复刚拿到开发板时的安装过程,不过毕竟是安装过一次(其实不止一次),有了些经验,痛苦度低了一些。安装完成后“D9”接地,编译下载了“Blink”小程序,没问题。然后准备开始着手真正的项目,不料下载总是出错。

DFRobot

上网查询,发现遇到这个问题的人不少,但我并没有找到有效的解决方案。反复试验各种办法,甚至重新安装了Arduino,仍然不行。只好在半夜发求救帖子到我们的开发板测试群,马上就得到了大神“@HonestQiao|乔楚”的回音,非常明确肯定地说:D9先接地再连接电脑。一试果然灵光。现在只要是下载程序就要来这么一下,而以前是不用的呀!无论如何,总算是可以继续前进了。

2 搭建实验电路

采集3路模拟信号,是数值不同的直流可调电压,通过一个可调直流电源通过电阻分压得到。本来还想再多采集几路,编程后发现,只有0、1、2三个引脚可以直接用来做模拟信号采样,其他引脚大概在初始化程序中设置成了其他功能(引脚功能复用),实在没时间仔细研究了,只好先用这三个。

DFRobot

3 编程与实验

程序主要是由两个示例程序拼接、修改而来:“BLE_notify”和“AnalogRead”,“BLE_notify”通过蓝牙发送数据,而“AnalogRead”是模拟量读取程序。主要的修改包括:“AnologRead”中,原来仅仅是一路模拟量采集,现在扩充成三路,相应地,通过串行口(USB模拟)的输出数据也扩充成三路数据;“BLE_notify”中,原来是对一个32位变量不断增1,然后通过BLE的notify方法向外发送。所做的修改就是把模拟量采集得到的数据,通过BLE的notify功能发送出去。在修改过程中遇到的主要麻烦是:示例程序提供的notify发送函数所要求的参数类型是“uint8_t”,和模拟量采集、再经过ADC(模/数转换)后的数据类型不符,为了数据类型的转换费了点儿周折。

在手机端,用“nRF Connect”APP可以ESP32-C3开发板建立连接,收到开发版发来的数据。当改变模拟量输入电压时,可以看到数据的变化。

DFRobot 
在PC端,通过Arduino IDE自带的串口监视器,可以看到采集的数据,与手机端收到的数据是一致的。

DFRobot

实验过程的视频:
 

ESP32-C3_评测报告_3(开发板体验视频,详见作者原文链接地址)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分