亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

BLE Bot 9000

组件和用品

Arduino 101
× 1
Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit - v2 .3
× 1
SparkFun 多底盘 - 4WD 套件(基本)
[ 大使:Sparkfun 提供的坦克套件品种作为该装置的替代品。这些已被确定存在与其中包含的 5x AA 相关的电源问题。有关详细信息,请参阅已知问题。 ]
× 1
Adafruit 6 x AA 电池座,带 5.5 毫米/2.1 毫米插头
[ 大使:这件作品在套件中已知缺失。英特尔 USB 电池组可以在其位置为 Arduino 101 供电。]
× 1
5x AA 电池座
包含在机器人套件中。
× 1
组件包
包含 4 个支架立管、塑料/黑色螺丝、约 20 根电线、一个 3 英寸魔术贴条、可能是几节 AA 电池。
× 1
AA 电池
× 11

必要的工具和机器

烙铁(通用)
焊料(通用)
飞利浦螺丝刀
包含在 Sparkfun Bot 套件中

应用和在线服务

Arduino IDE
Johnny-Five
Arduino Firmata

关于这个项目

通知:

更新 来自 Drew 的 12/5/16:请点击已知问题 并在完成此构建之前查看它们。该套件的某些品种存在已知问题和缺失部件。我们已尝试概述常见问题。有的还在解决中。修复将在确认后合并到说明中。在 #intel 中向我报告任何其他问题 (@ReanimationXP) slack.hacksterlive.com 的频道 .谢谢!

不要炸毁 Arduino

我们收到了一些关于组装机器人并将 VIN 跳线留在电机护罩上的报告。在开始之前,请花点时间将其删除。为什么?请参阅为 Arduino 和 Shield 供电

介绍

该项目演示了如何使用 Arduino 101 上的内置 BLE 芯片从您的笔记本电脑控制一个小型 4x4 机器人。通过让您的计算机从 Arduino 101 本身接管控制权,您可以整合处理器密集型控制方法,例如计算机视觉、自动驾驶和高级反馈回路 (PID)。

硬件

让我们开始吧!这只小狗是什么来的?使用的机器人平台是 Sparkfun 的多底盘 4x4。它采用铝制框架相当耐用,并有许多用于附加传感器的安装点。

步骤:

1) 该套件需要一些简单的组装,但确实需要一些时间。按照套件随附的说明进行组装,但存在以下偏差:

- 在将盖子连接到机器人底盘之前,将 Arduino 101 安装在支架上(单独组件套件的一部分)到顶板(盖子)。如果您没有支架,只需以某种方式将 101 的底部绝缘并将其连接到盖子上。

2) Adafruit Motor shield v2.3 也需要一些组装,我们的意思是焊接。需要焊接头针。如果您收到组件套件中的母接头(如 A101 上的接头),请使用这些接头并丢弃正常的公接头。否则,请使用电机护罩附带的公头品种。您可以在此处找到焊接这两种类型的详细说明(向下滚动到男性/女性头部类型的相应部分):https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/install-headers .

如果您以前从未焊接过,您可能想练习一些您不介意燃烧的东西,因为接头焊接到位可能有点棘手。请一个经常焊接的人看你是最快的学习方式。通过在边缘焊接一个引脚来启动每个接头,拉紧接头,使它们与电路板齐平并完全笔直。您可以使用这种技术在焊接所有引脚之前对齐东西,这将几乎永久地将接头锁定到位。

最后做蓝牙标志旁边的 6 针网格母头。 它看起来像这样:[::] 将塑料侧插入 Arduino 101 使其完全齐平,将您现在完全焊接的电机护罩安装在顶部,并让 6 针网格的公侧穿过它。按下电机护罩,使其完全插入 101,然后焊接 6 针网格接头的公端。

3) 使用您焊接的接头将组装好的电机护罩连接到 Arduino 101 的顶部。

4) 使用跳线(公对公)将电机连接到电机屏蔽上的电机输出端子块,如下所示。确保匹配正确的负极和正极引线对,并遵循下面的接线图。注意:图中黄线为正极 , 和 红色 在实际电机上。 图中绿线为负极 , 黑色 在实际电机上。

5) 在继续之前检查 VIN 跳线是否没有连接。使用一对跳线连接到 5-count AA 机器人套件随附的电池组连接到电机屏蔽上的电压输入端子块,注意正极(红色)和接地(黑色)方向,如下图所示。

注意: 下图中的 2x AA 支架不准确 到现实生活中,您的套件中将没有一个 - 请使用 5x AA 支架 包含在您的机器人套件中。一些套件也不包含 4 个电机。在这种情况下,只需将合适的电机连接到 M1 和 M2,如电路板右侧和顶部两个电机所示。

6) 将桶形千斤顶焊接到第二个电池组的引线上。确保将红色正极引线焊接到桶形插孔的中心(较短)连接处。

注意 : 6x AA 电池座及其下方的桶塞未包含在第一批大使套件中。我们将很快为这批货物提供额外的 AA 支架和可能的额外组件。完成机器人的构建并跳到软件概述 暂时。

7) 用魔术贴条将 6 节 AA 电池组连接到机器人的后部:

将桶形插头连接到 Arduino 101 以打开电源。再次检查 VIN 跳线是否未连接。

机器人现在应该已经完全建造好了!确保两个电池组均已拔下电源,以免耗尽电量。

软件概览

机器人控制系统由两个主要软件组成。第一个是加载在 Arduino 101 上的 Firmata 服务器草图。 Firmata 允许您的计算机访问 Arduino 上的引脚 - 并且通过扩展与控制电机本身的电机屏蔽通信。 Firmata 还允许双向通信,因此如果将来您将传感器连接到您的机器人,您将能够将传感器数据发送回您的计算机。

第二个软件是在您的计算机上运行的 Firmata 客户端。有多种不同语言的 Firmata 客户端,但在这个项目中,我们将使用内置于 Johnny-Five 中的 Firmata 客户端。 Johnny-Five 是一个基于 Node.js 的 Arduino 机器人和物联网平台。更多信息可以在这里找到:http://johnny-five.io/。 Johnny-5 有许多有用的库,包括我们正在使用的 Adafruit Motorshield 的 Firmata 和配置。

为了让 Firmata 客户端和服务器连接,我们使用了一个 ble-serial 一个 node.js 库,用于通过 BLE 打开到 Arduino 101 的串行连接。https://github.com/monteslu/ble-serial

最后,为了读取键盘命令,我们将使用 keypess,这是一个用于读取按键的 node.js 库。 https://github.com/TooTallNate/keypress

加载 Arduino 草图

1) 要在 Arduino 101 上加载 Firmata 服务器草图,您首先必须下载并安装 Arduino IDE:https://www.arduino.cc/en/Main/Software

2) 安装基本 IDE 后,您必须安装 Arduino 101 板。以下教程涵盖电路板安装和基本编程,如果您不熟悉 Arduino,这是一个很好的起点:https://www.arduino.cc/en/Guide/Arduino101。简而言之,您需要通过 IDE 中的 Boards Manager 安装“Intel Curie Boards”包。完成后,Arduino /Genuino 101 将出现在 Board 子菜单中。

3) 通过 USB 线将 Arduino 101 插入您的计算机。

4) 在 Arduino IDE 中,转到 Tools -> Board 并选择 Arduino / Genuino 101 。没看到?返回第 2 步。

5) 转到工具 -> 端口并确保为您的电路板选择了正确的端口。如果您不确定要使用哪个端口,请拔下 Arduino 并查看哪个端口从列表中消失。

6) 安装 AdaFruit Motor Shield v2 包。转到 Sketch -> Include Library -> Manage Libraries,然后搜索“AdaFruit Motor Shield v2”。选择它,然后单击安装按钮。

6a) 如果您想测试您的机器人,请刷新以下 .ino 文件以测试您的电机。默认情况下,此文件将使您的机器人前进,后退,左转,然后右转 反复。 https://github.com/ReanimationXP/a101_motortest

注意!准备好让您的车轮移动!

如果您将 a101_motortest 程序刷入机器人,一旦草图开始执行,轮子就会开始移动。如果您想停止车轮,您可以拉 USB 电缆(关闭 Arduino 的电源)或拉电池之一。

7) 在 Arduino IDE 中,转到 File -> Examples -> Firmata -> StandardFirmataBLE 以加载 Firmata BLE 服务器草图。单击编辑器左上角的上传箭头,将草图上传到 Arduino 101。

如果草图加载成功,输出中的最后一条消息应该是“5 秒后开始草图”。

安装 Python 2.7.13

1) 您需要 Python 2.7.13 才能安装和编译 bluetooth-hci-socket Node.js 包。

2) 前往 https://www.python.org/downloads/。下载 Python 2.7.13 并安装。

加载 Firmata 客户端

1) Firmata 客户端将在 Node.js 上运行,如果您没有安装它,请转到以下链接并按照安装说明进行操作:https://nodejs.org/en/

2) 安装 Node.js 后,创建一个新文件夹以包含您的控制代码。

3) 打开 Node.js 命令提示符并导航到您的项目文件夹。如果您要在下一步中安装 Windows 工具,请在管理员模式下运行命令提示符。

4) 如果您使用的是 Windows 10,则必须安装 Windows 工具。使用以下命令执行此操作:

npm install --global --production windows-build-tools 

5) 安装以下 NPM 模块:

npm install johnny-fivenpm install keypressnpm install ble-serial npm install bluetooth-hci-socket 

6) 在 github ( https://github.com/martinkronberg/Firmata-BLE-Bot ) 下载控制代码并确保 control.js 在您的项目文件夹中。如果需要,您可以克隆存储库,但更新的机会相当小......

运行代码

我们现在准备开始驾驶机器人!确保两个电池组都已插入并从您的项目文件夹中运行:

node control.js 

如果一切正常,您将收到类似于以下内容的消息:

1476382259569 已连接[object Object] 

现在,当您点击“w”时,机器人将向前行驶,“s”将向后行驶,“a”和“d”将使机器人左右转动。

您可能会收到“找不到兼容的 USB 蓝牙 4.0 设备”之类的消息。确保您的计算机支持蓝牙并且已启用蓝牙。

请注意,您可以在 Windows 中检查设备管理器以查看您的 PC 是否支持蓝牙。查找名为“Bluetooth Radios”的子树。

Blynk 版本

如果 Node 和 Firmata 不适合您,您可以改用 Blynk.cc 库。这易于使用,跨平台,具有移动设备接口。

1. 下载 Blynk.cc 库并将其安装到 Arduino。这可以通过 Arduino 库管理器完成。撰写本文时的版本为 0.4.7。

2. 将以下草图下载并刷入您的 Arduino 101:

https://github.com/ReanimationXP/a101_blynk_base

3. 下载 Blynk 应用程序。在应用内创建以下界面:

已知问题

缺少零件: 6x AA 电池座及其' Barrel Jack, Tank 套件只有 2x 电机,而不是 4x。

油箱套件的电源问题: 看来 Sparkfun 油箱套件有一个缺陷——它附带的电池座不够强大,无法驱动油箱带。解决方案是移除表带,用 2S (7.4v) 锂电池更换 5x AA 电池座,具有显着的 mAh(例如 750mah),和/或使用您的英特尔 USB 电池组之一为 101 供电。

此外,如果 Sparkfun 底盘随附的电池座似乎无法正常工作,则电池可能没有正确就位。向下推的同时将它们拉回,您会感觉到它们卡入到位。

蓝牙/BLE 问题: BLE 支持有最低要求。计算机必须支持蓝牙 4.0 或更高版本,Windows 8.1 或更高版本,才能保证支持 BLE(低功耗蓝牙)。根据驱动程序堆栈和硬件差异,某些计算机可能仍存在问题。大多数智能手机与 BLE 更兼容。我们正在研究使用 Blynk 平台来控制 101,它现在包括 BLE 支持。详细信息将在可用时发布在这里。

我们还被告知,如果未正确供电,Arduino 101 的 BLE 部分会非常脆弱。确保为 Arduino 101 连接足够的电源。我建议使用强大的 5v USB 电源,2 安培左右,以排除掉电问题。

与 Arduino 101 的螺丝兼容性: 组件套件中的螺丝头太大而无法安装在 101 上。解决方法是用机器人套件中的一些银色螺丝代替它们,反之亦然。您也可以使用魔术贴方块,这样电路板就可以牢固地固定和绝缘,而且很容易拆卸。

图书馆: 您需要将 Firmata 库升级到至少 2.5.3(2.5.3 以下的版本不包含 Firmate BLE 草图)

这里有一些资源可以让您在举办聚会时更轻松。最后两个链接需要安装 Adafruit Motor Shield v2 库。

  • 此 BLE Bot 9000 教程:http://bit.ly/blebot1
  • Pete Hoffswell 的直流电机测试脚本:http://bit.ly/blebot2
  • 使用 Blynk 的 BLE 手机控制机器人:http://bit.ly/blebot3

代码

触摸屏控制
使用 Express 服务器从触摸屏控制您的机器人! (对于更高级的黑客。)https://github.com/monofuel/blebot9000
机器人控制代码
带有运行机器人代码的 Github https://github.com/martinkronberg/Firmata-BLE-Bot

示意图

底盘组装PDF

制造工艺

  1. 血糖仪测试套件
  2. 玩具模型套件
  3. 开源工具包支持预测性维护
  4. Kit 支持能量收集物联网设计
  5. Kit 提供毫米波开发平台
  6. 可用的 BLE 模块降低成本
  7. 开发套件简化了 BLE 网状网络
  8. Raspberry Pi 3 入门套件连接指南
  9. Hologram Nova 入门套件
  10. 构建 MonkMakes Raspberry Pi 机器人套件
  11. Intellisaurus – 恐龙机器人套件
  12. 关于 ISO 9000 的 8 件事