Maker World 提供的简单而强大的用户接口解决方案

作者:European Editors

投稿人:DigiKey 欧洲编辑

Arduino 系列等小型计算机板不单单是一种有价值的学习工具。专业工程师也一直积极采用该生态系统,以应对众多传感和控制挑战。这些挑战各不相同,从简单的互连传感器到控制机器或简单机器人上的电机或致动器。 Arduino 微控制器板与 I/O 或电机驱动扩展板的组合,可以满足项目的运动控制需求。由于 Arduino 等生态系统的开源性质,意味着很多在线发布的项目为定制应用奠定了基础。在制造商网站或独立 GitHub 上,都提供了很多预先编写的代码。图 1 是来自 GitHub 的用于控制基于 Arduino 的机器人的代码片段。

开源项目代码的图片

图 1: 开发人员社区提供了一个平台,用于查找和共享开源项目的代码。

用户接口选择

在连接的另一端,需要用户接口。机器人手臂或电动探头等设备可能只需要对一系列的基本运动进行控制,例如前行/后退、左移/右移、顺时针/逆时针旋转。

智能手机应用?

一种解决方案是使用智能手机作为主要用户接口控制器。这种解决方案已经得到了广泛采用,例如在消费者需要与智能系统进行交互的应用中,例如家庭采暖或照明系统、安全设备、无人机。智能手机具有诸多优势,例如高分辨率彩色显示屏可以显示具有吸引力的仪表,以及先进的多点触控功能,还有包括蜂窝、Wi-Fi® 和蓝牙® 在内的全面的连接功能。智能手机无处不在,因此只需加载新产品附带提供的应用,即可轻松将智能手机转变为合适的控制器。

但是,对于某些项目而言,开发定制应用可能产生很高成本,耗费大量时间,而且这并非开发团队的专长。

多种 Android 应用通过 Google Play 商店提供,让用户能够使用智能手机,通过蓝牙控制基于 Arduino 的机器人。它们为开发人员提供了多种可下载的现成用户界面,可以免费或低成本获取。但是,这些应用通常适用于无线电控制型玩具,外观和体验可能不太适合最终应用。另一方面,有些应用(例如 Arduino BT 操纵杆)显示简单的图形,可以提供专业的外观,有些应用(例如 RemoteXY)则可以按需分别配置旋钮、按钮和滑动条。

使用硬件用户输入模块进行开发

有多种模块有助于开发定制型控制面板,简化硬件和机械设计工作。这些模块包括操纵杆和按钮,可以采用不同的组合形式。它们非常适合控制不同方向的运动,可通过多种方式,简单地连接到微控制器板。我们可以使用多种选项来添加无线电模块,以实现无线远程控制,相对于智能手机而言,这样可以提供更大的便利性。

SparkFun COM-09032 拇指操纵杆可将前行/后退和左移/右移运动转化为模拟电压,并且集成了一个可用作“选择”输入且独立于操纵杆方向的按钮。它附带了自身的分线板,可简化与主机的连接,仅使用五条电线:电源、接地、X 和 Y 输出电压、“选择”按钮状态。SparkFun 还提供了示例代码,用于从操纵杆读取输入电压,并在串行输出端将它们显示为数字值(图 2)。

用于从 SparkFun 操纵杆读取值的示例 Arduino 代码的图片

图 2: 用于从 SparkFun 操纵杆读取值的示例 Arduino 代码

连接到其他硬件生态系统

其他一些制造商也提供了操纵杆模块,它们可以使用与图 2 示例相似的软件,简单地连接到 Arduino 板。另外,连接到其他硬件生态系统,也可为开发人员提供更多样的选择。Maxim MAXREFDES72 适配器提供了一个示例,它让 Arduino 用户能够将外设模块从 PMod™ 生态系统连接到他们的项目。利用这种连接 PMod 的便利接口,开发人员能够访问多种模块,不仅包括 Digilent JSTK2 PMod™ 操纵杆模块,还包括 Digilent PmodBTN 按钮开关模块,它的四个按钮用于用户控制功能,另外还有一些模块,包括 16 按钮键盘

一体式控制板

操纵杆和按钮是一种经过验证的组合,能够控制各种可能的用户输入 - 任何游戏发烧友都认同这一点!典型游戏控制器的布局和功能(操纵杆位于按钮旁边)很直观,非常适合各种命令,包括移动、定位、致动某个机制,例如台架、机器人手臂、夹钳。

DFRobot DFR0008 提供一个操纵杆和四个带色码的按钮,作为一个完全组装的模块,为 XBee 无线电模块提供附加针座。DFR008 让开发人员能够充分利用 XBee 生态系统,从而简化了从市场上大量 XBee 模块中选择并添加无线连接的工作。这些模块包括 Digi XB24-API-001 IEEE 802.15.4 2.4 GHz 无线电板,以及 XB8-DMUS-002 sub-GHz 868 MHz 模块,它适合在欧洲的免许可证使用。

对于希望在 Arduino 项目中使用 XBee 无线连接进行试验的开发人员而言,Digi 的 XBee/Arduino Educational Pack 包括了 Arduino 微控制器板、可选的 XBee 模块、按钮和操纵杆模块,非常适合构建各种类型的用户接口。XBee 用户还可以依赖于开发资源,包括软件工具和示例代码,以帮助进行开发。

保持 GUI 选项开放

开源生态系统还为开发人员提供了自由度,如果愿意,他们可以充分运用自身的技术技能,例如使用模块(例如带有集成电阻触摸屏的 4D Systems ULCD-32PTU-AR 3.2 英寸彩色 TFT)开发嵌入式图形用户界面。套件带有适配器,可通过标准针座连接到 Arduino 板,还有一条电缆,用于将适配器连接到显示屏。Arduino 针座可用于堆叠其他 Arduino 扩展板,例如无线电模块。我们还可使用几种旨在简化图形用户界面开发的工具集。这些工具集包括用于开发代码的入门级环境,以及名为 ViSi 的图形化设计工具,该工具可以通过“点击放置式”的对象放置来协助生成代码,另外还包括高级 ViSi-Genie 环境。在 ViSi-Genie 中,用户只需放置对象,设置驱动对象的事件,即可自动生成代码。

结论

我们可以通过多种途径在 Maker World 中成功开展项目。很多示例和工具集可以帮助开发人员克服艰难的挑战,让软件在目标硬件上投入运行。

用户输入装置用于处理运动控制和致动,用户可以通过蓝牙来连接智能手机应用,从而设置这些装置,或者对其进行配置,使用硬件作为单独模块或完全集成的操纵杆/开关扩展板。开发人员还可以充分利用来自其他生态系统的输入装置或无线模块,例如 PMod 和 XBee,它们为我们成功开展项目提供了更多途径。这些模块价格实惠,凭借开源社区中的代码和专业知识,可以轻松进行集成。

 

免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。

关于此作者

European Editors

关于此出版商

DigiKey 欧洲编辑