24040| 8
|
[教程] 【mind+】多块主控板之间进行串口通讯的方法 |
我们在做项目中经常会遇到这些问题: 1、要接一堆传感器,结果主控板端口不够用了。 2、要接一堆传感器,但是各种电子模块之间有冲突,例如红外接收和声音播放冲突了,dht11和软串口冲突了,等等等等。 3、要使用大电流设备容易干扰传感器的数值,例如大功率电机影响到模拟输入的稳定性。 4、两个板子比较远要进行无线通讯,例如做一个蓝牙手柄控制小车。 5、要同时监听多个状态,单线程不够用。 等等。。。 这些情况下最简单的方法就是使用多个主控板,把不同的功能分开来运行,多个板子之间进行通讯即可。 那么问题来了,如何进行两个板子间通讯呢?我们选取常用的串口通讯为例。我们要实现的目的是: 一个UNO板采集dht11传感器数据,然后每隔几秒钟发送一次给另外一个UNO板解析出来并显示到屏幕上。 分析一下: 板A采集多个数据,发送给板B,使用串口通讯的话每次只能发送一个字节,因此数据要拆分发送。 硬件上:其中硬件连接就使用硬件串口TX和RX,注意交叉连接以及两个板子的GND要连接到一起。 软件上:需要板A发送多个数据,例如温度为20,湿度为60,如果发送2060,那么板B收到后不知道哪个是温度哪个是湿度,因此我们要规定一下发送顺序,例如发送1,20,2,60,这样B板收到1就知道接下来的是温度,收到2就知道接下来的是湿度数据了。 硬件连接形式如下: 左边为接收端,右边为发送端 板A程序如下: 板A定时发送数据,发送数据时采用1,数据1,2,数据2的形式方便板B收到之后可以知道多个数据分别是什么 板B程序如下: 板B接收到串口数据后根据1和2分别取出对应的值以显示出来 效果: 更多应用: 以上两个板子怎么实现连接可以使用多种方式就有多种效果了,关键是掌握通讯的过程和方法。 使用两个蓝牙串口透传模块,一个设为主机一个为从机,就可以轻松实现无线传输或者蓝牙小车等 使用一个物联网模块+XBEE组网模块或者microbit板子的无线广播功能,就可以把学校里面多个班级的噪音实时传输到物联网平台了 更多想法欢迎分享。。。 |
73.19 KB, 下载次数: 4539
接线图 svg
93.58 KB, 下载次数: 4691
程序文件
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed