查看: 738|回复: 1

[教程] 当M5StickC 遇上UIFLOW系列(四)I2C与I/O扩展

[复制链接]
麻雀虽小,五脏俱全,别看M5StickC小巧,外接能力不简单。可能有人会疑惑,M5StickC只有一个接口,要么接I2C,要么接I/O,如果有多个外设,接口不够用,该怎么办呢?带着这个疑问,我们来看看如何外接Unit进行扩展。
先来介绍两个新的Unit,一个叫做HUB,一个叫做PbHUB

unit_hub_01.png unit_pbhub_p1.png.jpeg

HUB是一款GROVE 接口的拓展器,其功能是能将1个GROVE 接口拓展为3个,使得能够同时连接更多的Unit传感器。
PbHUB, 是一款GPIO GROVE PORTB扩展器,能够将单路GPIO GROBE 接口拓展至六路.内部集成MEGA328,且搭载驱动程序.Port B 中的两条数据总线与ESP32的GPIO36和GPIO26连接,可根据需求编程配置多个端口的输入(支持模拟输入)、输出。
简单来说,如果想外接多个IIC设备,使用HUB,想接多个IO设备选择PbHUB,如果既要使用IIC又要使用IO那么可以结合这两个Unit使用。
所以大可不必担心,接下来我们利用UIFlow来看一下如何同时使用。
以下的例程借助TOF和REALY模块进行演示。

屏幕快照 2019-08-20 20.36.59.png

在虚拟UI里拖动title和label绘制菜单栏、标签,label用来显示TOF的数据。从Units中找到ToF和Pb.HUB添加,两者都是IIC接口。实物连接:HUB可以直接连接到GROVE A接口,TOF接到HUB,Pb.HUB输入端连接到HUB,输出端连接RELAY。下面是示意图,通过两个HUB可以拓展出3个IIC 和6个IO。

202408ic79u5nck4uy5y9z.png
程序验证起来比较简单,如果TOF距离小于50厘米开启继电器,否则关闭。找到单元模块,已经可以看到TOF和PBHUB,TOF可以直接读取数值,而PBHUB的模块较多,可以读取指定引脚的数字值,也可以写入指定引脚的数字值,还可以读取模拟量和控制LED,如果我们接了多条灯带想独立控制那么将是不错的选择。

屏幕快照 2019-08-20 20.39.31.png

程序很简单,直接看图

屏幕快照 2019-08-20 20.40.14.png

简单解释一下,端口有引脚0和引脚1的设置,分别对应的是G26/G32和G36/G33,而RELAY连接的是G26/G32,所以要用引脚0进行控制。
实验证明IIC与I/O是完全可以同时使用的,除此之外在Ma5StickC的顶部还有2个端口,也就是G26/G36,方便我们连接外设,关于它的使用,将在后续教程中介绍。

szjuliet  版主

发表于 2020-7-1 09:06:09

这个设计挺好,根据需要拓展接口
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

硬件清单

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

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

mail