上一篇对开发板进行了简单的测试,确认电路都完好。这一篇主要是介绍搭建硬件电路。
为了方便在户外测试,我计划做成能单独工作的两个系统模块,分别用充电宝供电,其中标签端模块需要带屏幕显示,可以观察测量距离。经过我翻箱倒柜凑齐以下电路板。如下图。
图1 用于测试的实验板
带屏幕的板卡是我以前做过的一个产品淘汰的不合格品,基于STM32单片机设计,带显示、串口、按键等,比较适合做标签端控制。另外一个带屏蔽罩的板卡是基于Arduino编程的评估板,带串口,适合做基站端。
基站端比较简单,先安排这个硬件搭建。如下图,Arduino板对应接口都引出来了,只需要对应的连起来就行。
图2 Arduino板接口
先用杜邦线连接起来,测试电路通不通。如下图是连接好的。
图3 Arduino板连线
在Arduino IDE里面编写一个测试程序,设置一下NodeMCU-BU01的工作模式为基站,然后程序就一直读取NodeMCU-BU01模块的输出并上传,以方便观察状态,如下图。
图4 程序设置基站模式
把另外一个模块连接到电脑串口,两个模块放一起,测试是否正常通讯。如下图。
图5 两模块联测
通过串口调试助手观察通讯结果,下图可见两模块能够正常测距,说明电路连接没有问题。
图6 通讯成功
然后把NodeMCU-BU01模块和Arduino板之间用线焊接起来,杜邦线很容易接触不良,不适合移动测试。通过充电宝给两个板板供电,就可以自由移动了,如下图,基站部分就做好了。
图7 基站搭建完成
接下来搭建标签端硬件。由于使用的不是成品开发板,整个弄起来非常繁杂,需要拆件,跳线,焊接调试接口等,整整用了我一天的时间才把硬件调整好,最终的成品如下图,虽然看着有点丑陋,但是电路是好用的。
图8 标签端电路搭建完成
标签端电路除了把NodeMCU-BU01模块和MCU板连接起来外,我还把通讯用的TX和RX线分别接了一个USB转串口的接收端,这样方便观察两个板卡的收发数据实况。有调试串口协议需求的同学,如果没用过此方法,强烈推荐试一试,真的提高不少编程效率。
在STM32上编个简单的测试程序,如下图,通过4步把NodeMCU-BU01模块设置成标签模式。
图9 程序设置标签模式
通过两个监视串口可以看到,两个板板通讯正常,NodeMCU-BU01模块连续播报测试距离,如下图。
图10 MCU通讯成功
至此,硬件测试环境搭建完成,下一步开始设计单片机程序,实现在屏幕上显示实时测量的数据。