Jeffrey Cross
Jeffrey Cross

使用Photon制作交互式魔术绳盒

图8-3和8-4显示了一对光子,它们具有诱人的弦线长度。一个是在木盒子里,增加了神秘感。

该项目摘自Make:光子入门。现在发售。

使用Photon的Magic Rope项目的灵感来自LeenaVenä-Olkkonen,Tobi Stockinger,Claudia Zuniga和Graham Dean,他们展示了如何制作公共装置,以便将世界各地的大型地图定位于各种一个城市的公共空间。

这些地图的地图上有一些短的绳索从地图上的洞中伸出,对应于世界各地的其他城市。这个想法是,这些城市中的任何一个城市(比如说伦敦)都可以在他们的地图上走到一条绳子上,拉上它,另一个城市(比如纽约)的配对绳索会被拉进地图,吸引了安装附近人们的注意力。然后可以在全世界范围内轻轻地交换绳索。

原始项目仅作为概念开发,实际上并未实现为真正的安装。在这个项目中,你将制作一对可以定位在不同城市的“纠缠”绳索。这可以作为与远房亲戚保持联系的好方法。

部分

要构建此项目,除了两个Photons / Core之外,还需要表8-1中列出的每个部件的两组。

本项目中使用的滑动电位器(电位计)是可变电阻器,用于自动音乐混音台。您可以通过在锅的长度上下滑动“滑块”来调节阻力,但也有一个小马达将通过使用齿形带驱动器移动滑块。

这些电动锅没有连接到引脚的引线,因此这是一个需要使用烙铁并将一些引线连接到引脚的项目。

软件

该项目的两端都有完全相同的软件运行,您可以在文件中找到它 p_15_Magic_Rope 在里面 PHOTON_BOOK 图书馆;代码示例可在此处下载。

该文件的原始版本有一些注释掉的额外命令,如果事件似乎没有通过,可用于调试项目。如果您需要使用它们,请参阅原始程序中的注释。

程序首先定义要使用的两个引脚。 A0用于电位器的电压输出,如果绳索完全拉出则为0V,如果绳索完全拉入则为3.3V。

布尔变量 轮到我了 用来跟踪轮到谁拉绳子。如果 轮到我了 如果设置为true,则轮到该设备拉绳。

该项目的两端都发布和订阅同一事件,因此变量 thisID 需要使设备知道自己的ID,并且可以忽略它自己的发布事件,只对来自其他Photon / Core的事件做出反应。

常数 maxPosn 是模拟输入读数,滑动罐处于完全拉入绳索的位置。设置略低于理论最大模拟输入值4095,以允许模拟读数的任何不准确。

第二个常数, minPosn相当于大约四分之三的牵引力,这就是“拉动”事件发布的门槛。

设置功能使必要的订阅“拉”将其与功能相关联 remoteRopePulled。它也调用该函数 moveSliderTo 将滑块定位在完全拉入位置,准备拉出。

循环功能读取模拟输入以找到 newLocalPosition。如果这个小于 minPosn 常数,此设备轮流移动,然后以此设备的ID作为参数发布“拉出”事件。

在绳索被拉到另一个Photon / Core上的情况下,功能 remoteRopePulled 将被召唤。该功能将提供拉动绳索的设备的ID,以便与之进行比较 thisID,接收Photon的ID,通过搜索中的字符串 thisID 在数据中传递的ID内。

如果事件来自远程光子/核心,滑块将完全拉入,并且 轮到我了 被翻转为真。

功能 moveSliderTo 处理滑块的所有自动移动。事实上,它只能拉动滑块。但你不能推绳,所以这很好。该功能将新位置作为参数,并保持向电机供电,直到测量位置不再小于所需位置为止。

硬件

该项目的面包板布局如图8-5所示。

电动水壶实际上是立体声设备,但我们这个项目只需要一个通道。这意味着有些引脚不需要连接引线。图8-6显示了电动锅的底面。您可以在右下方看到电机。

在组装面包板之前,您需要将一些电线焊接到电动锅腿上。电机引线很容易识别。如果您使用与我相同的电动锅,请将红色引线连接到最下面的电机引线(如图8-6所示),并将黑色引线连接到另一个电机引线。所有引线需要约6英寸长才能舒适地到达面包板。

在电机的远端,将红色引线连接到最右边的引线。这是在面包板上达到3.3V的领先优势。将黄色或橙色引线连接到电位器电机端的最右侧引脚。此引线是电位器的滑块,将连接到Photon / Core上的A0。最后,在此黄色导线旁边连接棕色或蓝色导线。这将连接到面包板上的GND。

最后,连接所有内容,如图8-5所示,特别注意晶体管和二极管,以确保它们是正确的方法。二极管的一端有条纹,应朝向面包板的顶部,晶体管有一个弯曲的边。

驱动电机会导致电压尖峰,二极管可以保护Photon / Core免受这些尖峰造成的意外损坏。

使用项目

要使用该项目,请启动魔绳的两端。在Photon / Core完成启动(闪烁绿灯)后,电机应在项目的两端激活,将滑块拉到轨道的一端。

拉上其中一根弦然后另一根。拉动第二个字符串时,应自动拉回第一个字符串。

你可以在这个项目中找到一个漂亮的木盒子,在一端钻出一根孔,一根钻孔,另一端是USB导线孔。

摘要

发布和订阅的使用非常强大,为人们可以通过Internet进行物理交互的协作项目开辟了各种可能性。

Simon Monk博士拥有控制论与计算机科学学位和博士学位。在软件工程。在回到工业界之前,西蒙花了几年时间作为一名学者,共同创办了移动软件公司Momote Ltd.他从十几岁开始就是一名活跃的电子爱好者。西蒙现在是一名全职作家;他的书包括 30个邪恶天才的Arduino项目, 邪恶天才的15个危险疯狂项目,和 针对邪恶天才的Arduino + Android项目.

注意:经过Simon Monk博士新书的许可,该项目摘录,Photon入门。该 来自Particle,Photon的19美元微控制器是开源的,支持WiFi的,是原始Spark Core的继承者。

分享

发表评论