有很多人问我,我是如何建造全尺寸R2-D2遥控系统的。所以今天,我将带你们了解到目前为止我已经做了什么,以及我将来打算做什么。当我第一次开始我的R2-D2建筑冒险时,我阅读了所有R2-D2论坛Reddit发布了其他人是如何做到这一点的。我发现有点令人失望。大多数建筑商只是在重新考虑其他人使用模型飞机遥控系统制定的10年计划。我想把一些更现代的东西放在一起,我可以在这些东西的基础上进行构建,并有API集成到其他东西中。

例如,我希望我的家庭自动化系统能够用R2-D2做一些事情,比如叫醒他或关掉他。R2-D2将住在我的剧场房间里,我希望他在电影前后都能活着睡觉,但在电影中保持沉默。最好的办法是在他体内装上某种计算机或微控制器。

全尺寸R2-D2控制系统视频

覆盆子皮受控R2-D2

R2-D2覆盆子皮 我最终登上了飞机 覆盆子皮对于R2-D2。对我来说,这几乎是一个完美的选择。我将快速回顾一下选择RPi的一些原因。

  • 低功耗-Raspbery Pi是一种低功耗设备。由于R2-D2由电池供电,因此节电至关重要。一台全尺寸的个人电脑并不是我希望一次充电就能运行8-12小时的选择。
  • GPIO-RPi具有用于控制伺服、继电器和其他设备的GPIO。
  • I2C -I2C协议是一种串行总线协议,允许多个设备通过两条导线相互通信。这意味着我可以远程控制Arduinos、马达控制器和任何支持I2C的设备。
  • 蓝牙-由于RPi集成了蓝牙,我可以使用Playstation 3或带有树莓派的XBOX One游戏控制器驱动和操作R2-D2。
  • Wi-Fi-通过RPi上的Wi-Fi,我可以在家庭网络上安装R2-D2,还可以开发iOS和Android应用程序来控制他。
  • Python-通过Python编程,我可以简单地自动化和控制R2-D2,并对其快速操作方式进行更改,而无需太多开发工作。

但是,使用一个 覆盆子皮与传统型号飞机遥控器相比:

  • 可靠性-让我们诚实。电脑崩溃,软件有缺陷。完全尺寸的R2-D2远程控制系统运行在 覆盆子皮. 时间会证明一切,但我希望它会坚如磐石。
  • 复杂性-这种类型的系统增加了许多一般DIYER可能无法自己完成的复杂性。毕竟,我正在编写Astromech操作系统来控制R2-D2。显然,不是每个人都能做到这一点。

最初,当我想到这一点时,不知何故,我的脑海中有一个想法,那就是我只需要一个单身汉 覆盆子皮但在完成我最初的R2-D2项目计划后,我意识到需要控制的设备太多了。仅在圆顶上就有20多个伺服系统,几乎和身体上的伺服系统一样多。然后添加圆顶电机控制器、驱动电机控制器、照明显示器、屏幕等。我很快意识到我需要扩展此设计。

Arduino控制的R2-D2

R2-D2 Arduino 进入Arduino Mega 2560。该设备基本上是一个扩展的Arduino Uno,基于ATmega2560微控制器。它有惊人的54个数字I/O引脚。我把其中一个放在R2-D2的圆顶上,另一个放在身体上。现在,我认为这已经足够了。然而,由于它们是通过I2C连接的,所以如果我决定需要这样做,添加额外的Arduino是非常容易的。

Arduinos还提供了 覆盆子皮不能提供给我(至少在Python中不容易)。硬件中的PWM!PWM或脉宽调制是一种在管脚上产生脉冲电压的方法,产生一种称为方波的东西。PWM对于控制伺服和步进电机非常有用。通过硬件PWM,您可以从这些设备获得更稳定、更平滑的结果。操作上的抖动要小得多。

全尺寸R2-D2遥控系统

让我来告诉你我创造了什么。我想如果你决定建立自己的,你会发现这至少有点有用。R2-D2内部是一个主大脑(如果你愿意的话),通过I2C总线连接多个Arduinos、电机控制装置等。Raspberru Pi负责控制和监控R2-D2内的一切。然而,对于某些事情,它只是向从设备发送命令(更详细地说),它们负责自己执行。例如,RPi通过I2C向圆顶电机控制器发送命令,以100的速度左转。电机控制器将保持圆顶向左旋转,直到它收到另一个执行不同操作的命令。

Astromech命令语言

为了简化所有这些工作,我创建了一种叫做Astromech命令语言的东西。这很简单。Astromech核心软件中有一个映射文件,将每个命令映射到按钮、传感器或其他输入。当按下按钮时,RPi将中断命令并对其进行处理。

每条命令都以#(或者你们年轻人的标签)开头。后面是一个单独的字母,表示特定的东西。D为圆顶,B为主体,M为介质,Z为电机控制器。我相信我还会继续添加。我最近为一系列命令添加了S,这样我就可以让R2-D2做一些演示了。

命令后面是一组参数。例如#DDP01OP是打开圆顶面板1的命令。

天体机械控制语言 最终会有一个API,允许任何东西(通过身份验证)命令R2-D2做一些事情。这可能是一个家庭自动化系统,一个iOS或Android应用程序,甚至是一个网页。无需了解R2-D2的内部工作原理。

以下是其他命令的一些示例:

  • # DHP02CT -中央全息投影仪2
  • #BDD+055-以55度的速度旋转穹顶
  • #M010-播放媒体文件10(一首歌)
  • #BBP05–切换车身面板5(如果打开,则关闭/如果关闭,则打开)
  • #S004-运行一系列命令–允许我将一系列命令与音乐相结合,以便R2-D2可以“跳舞”

在未来几个月的某个时候,我将把我的Astromech操作系统公开给任何想使用它的人,帮助我扩展它。就目前而言,它处于太多的混乱状态,无法这样做。在它的发展周期中还为时过早。

如果你想参观我的R2-D2,请看上面的视频。在视频的最后,我做了一个完整的介绍。如果你想读更多关于我的r2 - d2构建你都可以看到在这里.你可能还会发现R2-D2零件清单有帮助的。

[转换套件表格=939012]