Jeffrey Cross
Jeffrey Cross

走在安装交互式LED艺术展览的幕后

柏林艺术家西蒙娜·琼斯(Simonne Jones) - 一位体现艺术,科学和技术融合的人 - 让我为她的装置设计了一个交互式照明系统。宇宙的秘密 (SOTU)是Simonne在德国柏林Platoon Kunsthalle的艺术家驻留期间设计的混合媒体艺术装置和音乐表演。

Simonne的愿景是创造一种完全身临其境的体验,鼓励观众在科学背景下探索他们对存在的好奇心。她设计了一种混合媒体绘画的新颖组合,探索了物理学和宇宙学的概念(由Simonne Jones设计),一种运动检测,无线可控LED照明系统(由ArbitraryY ... AKA me)和自定义视觉+ VJ性能(由Jem the Misfit提供)这导致了一场真正独特的表演。

在此之前,我在波音公司担任了15年的软件和系统工程师,开发软件和IT解决方案,虽然没有人在看,但他对系统工程流程很着迷。操作,要求,模拟,测试,设计的概念哦,我的!系统思考让我垂涎三尺,好像我的口袋里塞满了Chick-O-Sticks。

SOTU是我从未有机会成为我职业生涯的一部分的项目类型。这个项目将满足我从头到尾设计系统的愿望。它像我想象的那样神奇。

排,Kunsthalle,柏林,德国。

(L)Simonne Jones和(R)Jemma Woolmore又名Jem the Misfit在Platoon Kunsthalle演出

SOTU做了什么?

简而言之,SOTU是一系列交互式,可控制的运动检测LED照明画。触发后,SOTU系统将为观察者创造一种照明体验,以赞美绘画的主题。他们是如何运作的?

首先,在展览期间,人们被允许穿越舞台并与艺术品互动。当他们进入“激活区”(AZ,绘画前的可配置区域)时,其LED将点亮并通过编程的照明方案,直到它们退出该区域。如果一个观察者进入(可配置的)“警告区域”(WZ),灯光会不稳定地闪烁红色(一个很酷的Python线程应用程序),直到它们离开这个区域。这是艺术品,可以告诉观察者“远离绘画。”(蒙娜丽莎需要这样的安全系统。)

展览模式运营概念(ConOps)

在演出期间,西蒙娜演奏了一套她的音乐,并将这些画作无缝地用作表演工具。她通过在他们面前跳舞并用她的乐器库触发它们来激活灯光。

性能模式ConOps

SOTU系统概述

在本文中,我将概述所涉及的硬件及其相关功能。我还将介绍使用乐器控制绘画所必需的软件子系统。艰苦的系统描述(请记住,我是波音公司的软件工程师超过一分钟,因此需要预先记录文档的仇恨)可以在SOTU系统描述文档中找到。

下面给出每个组件的图表和描述。 SOTU的核心是Raspberry Pi + Arduino mashup。 Raspberry Pi的计算能力和Raspbian Linux操作系统与Arduino的实时处理功能相结合,创造了一个小型,低成本,强大的计算二重奏,非常适合这种应用。

SOTU单元 - Raspberry Pi Model B,Adafruit Pi Plate,Arduino Uno R3,Edimax USB 802.11n / g / b WiFi Dongle,4GB SDHC卡4类,10K电位器,Sparkfun Arduino Protoplate,Maxbotix LV-EZ1范围传感器,Sparkfun 16× 2个LCD显示屏,模拟RGB LED灯条(30个LED /每条),12V 2A电源(Arduino,LCD,范围传感器和LED电源),5V 2A电源(Raspberry Pi,WiFi加密狗电源)

硬件和系统功能

覆盆子皮

Raspberry Pi提取了大部分加工重量:

  • Communications Server - 打开声音控制(OSC)服务器,处理所有传入的OSC消息。
  • Webserver - Apache httpd。适用于基于Web的LED控制
  • 远程访问 - SSH和VNC。用于Raspberry Pi和VNC上的远程软件开发的SSH,用于在Arduino IDE中进行开发。
  • 无线连接 - 与SOTU无线网络的连接
  • LED控制 - 用于LED调光的软件脉冲宽度调制(PWM)

请注意,每个Raspberry Pi设备都连接到名为“[PLTN]”的专用无线网络。

LED驱动板

我在Adafruit Pi-Plate上安装了两个独立的晶体管和电阻电路,为LED供电。然后将该板连接到Raspberry Pi I / O面板,并成为LED灯条的连接点。每幅画都衬有两个可独立控制的条带。

LED驱动板由Adafruit PiPlate制成。

Arduino和Protoshield

Arduino和protoshield负责以下事项:

  • 距离感应和距离测量 - 测量观察者的距离
  • 12V和5V配电 - 为Arduino,Raspberry Pi,LED,LCD屏幕和范围传感器供电
  • LCD屏幕 - 显示绘画名称

Arduino Uno和SparkFun的Protoplate

范围传感器和LCD屏幕

我们在每个画布上切孔,以便安装范围传感器(绘画中心)和LCD屏幕(右下角)。范围传感器用于确定观察者与绘画的距离,最终用于激活LED。液晶显示屏显示了绘画的名称。

(R)范围传感器和连接到Arduino Uno的LCD屏幕。 (L)SOTU单元安装在绘画上。

大爆炸:Simonne Jones的宇宙诞生。 Squint ......范围传感器安装在死点

生产

采购,组装和测试需要将近两个月才能完成所有六个单元的准备。我不得不购买和接收所有零件,像疯了一样焊接,安装操作系统和SOTU软件,功能测试em,最后是标签盒。

那时我的家成了电子实验室

组装好的SOTU单元准备安装

Simonne和我在Platoon Kunsthalle的艺术家实验室进行了标签组装

软件

SOTU是一个复杂的软件系统,由开源模块,第三方软件,自定义Arduino程序,范围传感器数据处理算法,自定义程序化LED照明控制和效果库,通信层,用户界面,系统健康监控,维护脚本组成。 ,OSS / COTS工具,测试工具和Web控件。呼吸。我用Python和PHP编写了所有自定义代码。

SOTU软件架构和数据流程图

使用乐器进行绘画控制

关键的系统功能是为Simonne提供一种机制,用她的乐器照亮绘画,即她的MIDI键盘和底鼓。按一个键或踢鼓,灯激活。我构建了多层抽象,使我更容易编程自定义照明功能并激活远程光源。

RGB LED调光(PWM)

操作连接到Raspberry Pi的RGB LED需要脉冲宽度调制(PWM)。 B型只有一个能够硬件PWM的GPIO引脚。这种限制要求我使用软件PWM(硬件PWM仿真)。当我构建SOTU时,最好的库是RPi.GPIO v0.5.2a(Python包,现在非常过时的版本)和pi-blaster。 Raspbian Wheezy的内核不适用于实时应用程序;使用软件PWM时可能出现抖动。 pi-blaster比这个版本的RPi.GPIO要小得多。

pi-blaster使您可以通过简单地将十进制值写入OS文件系统上的文件来调节给定GPIO引脚的功率输出(即控制亮度),如下所示:

echo“2 = 0.2”> / dev / pi-blaster

这会将连接的LED调节到20%的亮度。

采用Python的程序化LED控件

接下来,我使用pi-blaster在Python中构建LED控件抽象层。我构建了一系列允许我以编程方式编写的类:

  • 在绘画上的任何LED条上设置任何(RGB)颜色
  • 激活绘画上任何LED灯条的效果:
    • 淡化 - 颜色之间淡化
    • 旋转 - 旋转一系列颜色
    • pulse - 在颜色之间来回切换
    • flashFade - 设置一种颜色然后将其淡化为关闭

使用这些功能,我通过模拟与绘画主题相关的物理原理,创建了伴随每幅画的自定义照明播放方案。看一下视频演示 大爆炸:宇宙的诞生 在我的SOTU原型上运行的回放脚本。

SOTU原型。我建造了一个1米x 1米的帆布框架,以确保正确测量线长。

Raspberry Pi Control with OSC

SOTU中抽象的下一层是启用远程控制。输入Open Sound Control。 OSC是一种通信协议,使乐器,数字音频工作站(DAW),计算机和其他多媒体工具能够在网络上相互通信。 OSC协议使用简单的客户端服务器机制; “OSC客户端”将“OSC消息”发送到接收和处理它们的“OSC服务器”。典型的处理涉及基于所接收的特定消息触发系统功能(称为“回叫”)。 OSS社区再一次让我回来......有一个很棒的图书馆名为pyOSC供所有人使用。

使用pyOSC的回调机制,我创建了映射到Python LED控件功能(效果,设置颜色等)的OSC地址。我现在可以通过简单地从任何OSC客户端发送OSC消息来执行绘画上的所有LED功能(有关其他客户端的详细信息,请参阅SDD),如下所示:

/ osc / led r1 1 solid / osc / led b2 0.3 solid

这将使LED灯条1变为100%红色亮度并剥离2至30%的蓝色亮度。

pyOSC的回调机制具有类似于taffy的灵活性。我能够将它用于许多其他事情,例如操纵和监视关键Linux服务(httpd,ssh,rangeSensor等),使用Processing监视系统运行状况(服务状态等)并远程关闭它们(当正确时)当然提供授权密钥)。

绩效整合

Simonne在她的现场表演中使用Ableton Live作为她的DAW以及一套MIDI控制器和乐器。 Ableton Live使用MIDI和OSC进行内部通信。例如,当在连接的外部控制器上按下键时,Ableton接收MIDI事件消息并使用它来触发在Ableton中配置的事件(例如音乐样本或从合成乐器播放音符)。好的,我们现在可以访问与键盘按下相关的消息。踢鼓怎么样?我们不得不把她的底鼓转成一个支持MIDI的设备。我们将一个压力传感器连接到鼓上,并将其连接到另一个连接到她的笔记本电脑的MIDI控制设备。每次鼓声,然后我们接收MIDI开/关消息。

Simonne的鼓手(Mathias Brendel)用低音鼓的每一次踢光点亮了“宇宙的死亡”

Ableton本身暴露其内部MIDI和OSC通信。我现在可以访问来自键盘和鼓组的所有MIDI事件消息。 Ableton Live是BizNiz。

最后一步是将这些信息从Ableton中取出并将它们传送到不同的画作中以点亮它们。

消息饥饿的第三方工具

最后的集成要求我将这些消息从Ableton中取出,将它们转换为SOTU系统OSC消息,并将它们路由到绘画中。无需在这里重新发明轮子。 OSCulator是一款价格合理且价格合理的MIDI / OSC路由工具,它还拥有与Ableton Live的原生集成。从她的乐器中取出MIDI事件信息并将它们作为OSC信息传送到画作中,这是微不足道的。

以下是SOTU show的OSCulator配置示例:

SOTU OSCulator OSC / MIDI路由。请注意,地址空间已更新为使用/ osc代替/ pltn。

这里,OSCulator在端口9001上侦听传入消息。如果在她的键盘上按下对应于MIDI消息99的键,则接收值1(开)。 OSCulator配置为将这些OSC消息发送到绘画3(“PLTN3”)以将其变为红色。

/ osc / led r1 1 solid / osc / led r2 1 solid

释放该键后,OSCulator收到值0并路由以下OSC消息以关闭绘画(创建闪光效果):

/ osc / led allOff

每幅画上的灯都可以通过颜色和效果进行定制,并可以使用她的乐器进行控制。

怎么样?

这些画作在一个由牛奶箱组成的舞台上以半圆形展示,类似于Q-bert运动场,作为展览的布局和Simonne现场音乐表演的舞台。节目精力充沛,人群喜欢他们所看到的:

西蒙娜“扮演”她的画作

整个2013年夏天,宇宙的秘密也在柏林艺术和音乐节的柏林重拍节上展出,并在德国不来梅演出期间使用。

Simonne Jones在德国不来梅

2013年德国柏林重拍节

柏林Remake节日,柏林德国2013年

结论

SOTU在每个展览和表演中表现都非常出色。虽然Raspberry Pi通常被吹捧为爱好计算机,但我可以证明它对于真实(ish)时间的交互式艺术和性能应用程序来说也是非常好的。我将这项项目的大部分成功归功于Raspberry Pi的强大功能。

构建具有这种复杂性的系统是一个充满接口,后勤,开发,操作,测试和部署挑战的问题。我在建立SOTU时忍受了所有这些挑战,结果是我磨练现有技能并获得许多新技能。好好玩Raspberry Pi Foundation,完成任务。

SOTU是一种问题,它将来自不同学科的创作者联合起来,并使所有工程师都兴奋不已。在这个项目中,我经常利用你们的集体知识,这是我最宝贵的资源。 Con Amor de ArbitraryY

附加功能

西蒙娜在接受3SAT电视采访时描述了她对宇宙秘密的哲学和艺术视野。

分享

发表评论