|
本帖最后由 smching 于 2015-2-3 17:59 编辑
这里教你怎样使用Vixen软件与Arduino控制灯光效果
Vixen在华文里不懂称为什么。用Google翻译之,很滑稽,泼妇也
Arduino也没有真正的华文名字,直接翻译,就称它为阿癫佬吧
在泼妇(软件)与阿癫佬(硬件)的软硬兼施之下,你可以隨心所意的控制灯光效果了。
这里先简单的介绍一下泼妇(Vixen)
Vixen是一个免费的灯光效果设计软件。 通过电脑和一些硬件,任何人都可以设计与音乐同步的灯光效果显示。
Vixen支持不同的控制器,其中通过DMX(如果需要,可以自制一个OpenDMX,非常简单)可以控制许多市面上销售的专业形DMX设备(fixture),最常见的就是disco场所的激光灯光。
请看泼妇如何与阿癫佬配合
最新的版本是Vixen3,其中最吸引人之处是支持预览。与Vixen2比较,Vixen3应用有些难,且缺少了Vixen2中的某些常用功能。此教程是基于Vixen2,请下载Vixen2,并安装到你的电脑, 但你必须先安装Microsot.NET Framework 2.0在你的电脑上
Arduino代码
由于Arduino Mega拥有12个PWM输出和多个数字(Digital)输出,所以用了它来控制灯光。这里我隋便写了几行代码,上载至Arduino Mega,与Vixen2测试了一下,可以正常运行。如果你不需要多个PWM,只要稍微更改代码就可以用在不同的Arduino了。 - /*
- 16 Channels Lighting Controller
- By smching ([url=http://ediy.com.my]http://ediy.com.my[/url])
- Allow Arduino Mega to communicate with Vixen via generic serial plugin
- */
- #define CHANNELS_COUNT 16
- ////////// PWM pin
- #define Ch1 2 // PWM Pin 2
- #define Ch2 3 // PWM Pin 3
- #define Ch3 4 // PWM Pin 4
- #define Ch4 5 // PWM Pin 5
- #define Ch5 6 // PWM Pin 6
- #define Ch6 7 // PWM Pin 7
- #define Ch7 8 // PWM Pin 8
- #define Ch8 9 // PWM Pin 9
- #define Ch9 10 // PWM Pin 10
- #define Ch10 11 // PWM Pin 11
- #define Ch11 12 // PWM Pin 12
- #define Ch12 13 // PWM Pin 13
- /////////// digital pin
- #define Ch13 18 // DIGITAL Pin 18
- #define Ch14 19 // DIGITAL Pin 19
- #define Ch15 20 // DIGITAL Pin 20
- #define Ch16 21 // DIGITAL Pin 21
- int Ch[CHANNELS_COUNT] = {Ch1, Ch2, Ch3, Ch4, Ch5, Ch6, Ch7, Ch8, Ch9, Ch10, Ch11, Ch12, Ch13, Ch14, Ch15, Ch16};
- int incomingByte[CHANNELS_COUNT]; // array to store the values from serial port
- void setup()
- {
- Serial.begin(9600); // set up Serial at 9600 bps
- for (byte i=0; i<channels_count; i++)="" pinmode(ch[i],="" output);="" declare="" channel="" pin="" as="" an="" output[/i]
- [i]}[/i]
- [i]void loop() { [/i]
- [i] if (Serial.available() >= CHANNELS_COUNT) {[/i]
- [i] for (int i=0; i<channels_count; i++)="" {="" [/i]
- [i] incomingByte = Serial.read(); // read each byte[/i]
- [i] if (i<12) { //arduino mega consists of 12 PWM[/i]
- [i] analogWrite(Ch, incomingByte[/i][i]); // Write values to channel pins
- } else {
- digitalWrite (Ch[i], incomingByte[i]);
- }
- }
- }
- }
复制代码
注意:上面代码编辑将会不成功,也许是copy与paste时,Geek-workshop.com翻译错误吧?在此还保留着错误的代码。我在11#更正了(03/10/2013)
启动与设定Vixen
- 打开Vixen
- 点击Sequence>New event sequence>Vixen standard sequence
- 当出现New Sequence Wizard,点击Next按钮
- 点击Next按钮以便使用100毫秒Event Period
- 点击Next按钮,不使用Profile
- 输入Channel以配合你的控制器。由于使用了16 Channels设计的Arduino,所以这里输入16,然後点击Next按钮继续
- 点击Setup Plugins按钮以便设定Vixen插件,如图
- 在Available Plugins里双击Generic serial以便启动串行插件
- 在Plugins in Use里点击Generic serial
- 点击Pugin Setup以便设定设定值串口设置
- 选择Arduino使用的串口以及Baud reate,然後点击OK按钮,如图
- 点击Next按钮继续下一步骤
- 点击Next按钮跳过Audio and Extent Patterns(需要与声频同步时才设定)
- 输入Sequence Time,默认是一分钟
- 点击Create It按钮,然後输入一个文件名字,再点击Save以保存文件
- 此时Vixen灯光效果设计窗口出现了
使用Vixen
- 选择Channel(你可以同时选择多个Channel)和Sequence Time,如图。现在选择了十个Channel和两秒Sequence Time。
- 完成你想要放置灯光效果的范围后,现在可以点击效果icon以便控制效果
- 重复步骤2以制造更多效果
- 点击Play/Pause/Stop icon起始播放灯光效果
想要怎样效果,就有怎样效果,非常方便
与声频同步
根据声频信号设计你的灯光效果
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|