我正在制作一个 3D LED Cube,以根据 chr 的流行 LED Cube Instructable 可视化音乐:http: //www.instructables.com/id/Led-Cube-8x8x8/
我怀疑需要在 Arduino 上运行太慢的计算(它会一次做很多事情)所以我想使用 Nexus 7 来进行计算。如何使用 USB 向 Arduino 和 Nexus 7(最重要的是整数数组)发送数据?
附件开发工具包似乎适合您的需求,http://developer.android.com/tools/adk/index.html
基本上你需要另一种方式来与 Android 平板电脑对话,对吧?
这里有一些基本想法:
1)将wifi添加到您的arduino,有很多方法可以做到这一点
最长的范围并且可能最昂贵
2)添加蓝牙并通过蓝牙连接
范围更有限,更接近硬件
3)添加NFC屏蔽并通过8gh P2P NFC进行通信
非常近距离,也许可用带宽对您来说是个问题
4)有点脏……如果我没记错的话,你可以破解 Nexus 7 来提供 USB OTG。
您将使用 FTDI(如 USB 到 USART 设备)并将您的电路板直接插入您 nexus 的 USB 插槽。
这可能涉及更改内核,我记得还有一些关于修改过的 USB 电缆为其添加电源,您需要将您的 nexus7 更改为 root 模式(这很容易,但涉及数据中断)。颇费一番功夫。
5)另一种有趣的方法,您可以使用显示屏、前置摄像头和 LED/光电二极管进行基于光的通信。
这比 NFC 的范围更有限。
我已经看到银行使用这种方法从网上银行与加密设备进行通信。
6)作为一个整理的想法。你说你有一个 ADK 斗篷,由于引脚限制,你不能使用它。您可以考虑在您的项目中添加第二个 AVR/arduino,它只是充当 android 和您的主 AVR 之间的中继。
您可以在 AVR 之间使用高速 (400k) I2C 或 SPI,因此如果您需要带宽,可以达到几兆位。
如果我没记错的话,大型 Arduino Mega2560 使用了这种方法,它还有一个小型 AVR,可用作 USB 继电器,而不是通常的 FTDI 方法。
与安卓平板电脑通信的方式有很多,我认为其中不少是可用的。
一旦您能够交流,您需要做的就是编写一个简单的协议,表演就可以开始了。