233浏览
查看: 233|回复: 0

[ESP8266/ESP32] 【DFRobot Beetle ESP32-C3开发板试用体验】III 模拟量数据采集...

[复制链接]
本帖最后由 喜欢DIY的老张 于 2022-7-15 00:15 编辑

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

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

1 恢复开发环境

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

Arduino_错误信息.png

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

2 搭建实验电路

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

微信图片_202207142106581.jpg

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开发板建立连接,收到开发版发来的数据。当改变模拟量输入电压时,可以看到数据的变化。

微信图片_20220714210658.jpg

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

串口监视器信息.png

实验过程的视频:
Esp32-C3 评测报告 3-1.m4v (6.72 MB, 下载次数: 2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail