当M5StickC 遇上UIFLOW系列(四)I2C与I/O扩展-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3407|回复: 1

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

[复制链接]
发表于 2019-8-20 20:24 | 显示全部楼层 |阅读模式
本帖最后由 vany5921 于 2019-8-20 20:30 编辑

麻雀虽小,五脏俱全,别看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的GPIO36GPIO26连接,可根据需求编程配置多个端口的输入(支持模拟输入)、输出。
简单来说,如果想外接多个IIC设备,使用HUB,想接多个IO设备选择PbHUB,如果既要使用IIC又要使用IO那么可以结合这两个Unit使用。
所以大可不必担心,接下来我们利用UIFlow来看一下如何同时使用。
以下的例程借助TOF和REALY模块进行演示。

屏幕快照 2019-08-20 19.25.06.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。

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

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

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

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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-29 00:53 , Processed in 0.086792 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表