亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

如何使用 Vixen Lights 和 Arduino 配置 NeoPixels

组件和用品

Arduino Nano R3
× 1
Arduino UNO
× 1
像素条 60 像素 x 米
× 1
电阻 470 欧姆
× 1
5v、40Am 电源
× 1
面包板(通用)
× 1
杜邦电缆
× 1

必要的工具和机器

烙铁(通用)
锡焊

应用和在线服务

Vixen Lights
Arduino IDE

关于这个项目

本教程为英语和西班牙语(este tutorial esta en ingles y español),向下滚动以更改习语。

什么是泼妇灯?

Vixen Lights 是用于 DIY 照明自动化显示的软件。最新版本 3.x 是一个完整的重新设计,以支持可寻址的“像素”灯。

您可以在 http://www.vixenlights.com/downloads/ 下载本教程基于 3.4u2 64 位版本。

什么是像素?

一个像素是由三基色(红色、绿色和蓝色)组成的 3 个发光二极管 (LED) 的集群。这三种颜色 (LED) 的强度可以变化以产生其他颜色。我在示例中使用的 WS2812B 像素包括一个集成电路 (IC) 芯片,该芯片在一个端口上接受数据,显示寻址到它的信息并将数据传递到下一个像素。对于我的显示器,我购买了 5 米长的字符串,每米有 30 个像素或 5 米有 150 个像素。可寻址的 RGB“像素”条通常可以被识别,因为它们有 3 条线。一根用于电源,一根用于接地,一根用于数据。相比之下,RGB“哑”条可以通过它们有 4 条线来识别。通常电源一个,红、绿、蓝各一个

RGB 像素使用大量功率。虽然 Arduino 板可以使用内置电压调节器为几个像素供电,但您很快就会耗尽电量。因此,我们将要使用外部电源为灯供电。所需电压取决于您购买的特定灯。我使用的灯是 5V(伏特)。电源的另一个要求是确保它有足够的功率来支持您使用的像素数量。全白时的每个像素大约需要 60 毫安。适用于 150 个 RGB 像素,电流约为 9A(安培)。

不幸的是,大多数 LED 灯条上使用的细铜线会导致“电阻”,从而导致电压水平下降。如果像素上的电压降得太低,则会导致各种问题,例如闪烁、灯光昏暗或无法点亮。为避免这些问题,您可能会发现需要在 RGB 像素条内的点处“插入”电源。您可以剪断带子,然后将数据线跨过并添加一组新的电源线和接地线,它们会回到您的电源。但请注意,电源线的距离也会引起电阻并导致电压下降。为避免这种情况,您必须根据电源要求使用足够粗的电线。下图是选择合适功率大小的一个不错的起点

就电源而言,越大越好。您将需要能够提供比您需要的更多功率(安培)的东西。就我而言,我订购了几个中型电源,40 安培和 60 安培。可以使用多个电源,但必须将电源的所有地线连接在一起。

Arduino 控制器

许多主流的 Arduino 板都可以用作控制器,成为运行 Vixen Lights 的计算机和实际 RGB Pixel Strips 之间的中间人。

各种主板具有不同的硬件限制,例如处理器速度、内存 (RAM) 大小和存储大小。然而在测试中,我们发现最大的限制因素是串口的速度。大多数 Arduinos 的速度不能超过 115,200 bps。当我们以 115,200 bps 的速度将 150 像素(又名 450 色)的三种颜色中的每一种的颜色代码推送到串行端口时,我们可以计算出完成传输需要 45 毫秒。这意味着我们可以每 50 毫秒(或每秒 20 次)安全地刷新每个像素。

本教程中的代码基于 David Hunt - blog.huntgang.com

配置 Vixen 串口

为了使用 Arduino 控制器,您必须在 Vixen 3.x 中对其进行配置。使用

记录了以下过程

步骤 1.- 为右上角的菜单添加一个通用串行控制器。

步骤 2.- 设置控制器的输出数量。这个数字应该是像素数的 3 倍。在我的示例中,我配置了 30 个像素,这意味着我将输出计数设置为 90。

步骤 3.- 在右下角单击 Gera 图标,现在我们将配置 COM 端口。为此,我们将为 Arduino 选择 COM 端口。我的例子是 COM13,但你的可能会有所不同。我们还想将波特率配置为 115200,其余的设置就可以了。

步骤 4.- 在这里,我们将在标题中添加像素数,以便 Arduino 知道它应该接收多少像素。像素数必须为 300 或更少,并且必须以三位数的形式输入。我的示例再次使用 030 像素,因此我将在它前面加上两个零。此时,您应该会在 Arduino 上看到一堆闪烁的闪光,因为它现在正在接收串行数据。

为像素配置元素

步骤 5.- 在左上角你会看到一个下拉框,选择 Single Item,点击 Add Green 按钮,并将其命名为 Pixel Strip。

步骤 6.- 接下来我们将右键单击我们刚刚创建的像素条,我们将选择添加多个。要添加所有像素,我们将选择编号项,定义名称(我使用像素条),然后选择要生成的像素数(在我的示例中为 30)。在单击“确定”之前,您应该会看到列表中的所有名称。

步骤 7.- 现在我们将突出显示像素条并配置颜色处理属性。我们将选择“它们可以是任何颜色:它们是全 RGB 并混合成任何颜色。”

步骤 8.- 在我们结束之前的最后一步是将 Element 修补到控制器。为此,请突出显示左侧的 Pixel Strip 和右侧的 Generic Serial 控制器。未连接的补丁点的数量应该匹配。剩下要做的唯一一件事就是点击 Patch Elements to Controllers,然后你就准备好迎接圣诞灯饰了。

步骤 9.- 如果您成功了,您的图形视图应该如下所示。

创建我的第一个序列

步骤 10.- 打开 Vixen 并点击 New Sequence...

步骤 11.- 从工具菜单导入音频,我使用的是 mp3。

步骤 12.- .如果你成功了,你的屏幕看起来像这样,你可以使用缩放工具放大或缩小,这将有助于时间轴。

步骤 13.- 现在我们回到工具,音频并选择节拍/小节检测器,这个过程将有助于完美地将效果与音频结合起来。你会看到很多白线。

步骤 14.- 从左侧菜单调用效果,有 2 个子菜单,基本照明,像素照明,这两个菜单都可以与像素一起使用,让我们点击追逐,拖放您的像素带线,使用鼠标调整效果大小。

步骤 15.- 选择效果,在菜单中你会看到更多改变方向、颜色、脉冲、深度等的选项,玩效果,你也可以激活效果预览。

步骤 16.- 点击左上角的播放,玩得开心,youtube 有很多示例。

注意:如果您的 Arduino 已连接到计算机并打开 Vixen 软件,您将看到 Arduino 上的 RX 闪烁,这意味着 Arduino 正在等待 Vixen 的指示。

查看演示

西班牙语 - Español

Que es Vixen Lights?

Vixen Lights es un software de DIY (hágalo usted mismo) secuencias de luces。 La ultimo 版本 3.x se rediseño completamente para soportar píxeles RGB inteligentes。

Lo puedes descargar en la siguiente liga http://www.vixenlights.com/downloads/ Este 教程 está basado en la versión 3.4u2 64 位。

像素问题?

Un pixel es un cluster de 3 leds queconsiste en 3 coloures primarios (rojo, verde y azul)。 La intensidad de estos colores puede varias para crear otros colores。 La tira con pixeles WS2812B que se está usando tiene unchip que acepta data en un Puerto, despliega la información asignada y la pasa la data al siguiente pixel。 Para este ejemplo se trata de una tira de pixeles de 4mts, con 60 pixel x Metro。 Se puede identificar muy fácil una tira de pixeles vs una tira de RGB, la tira de pixeles utiliza 3 cable, +5v, Tierra y Data, mientras una de RGB utiliza 4.

Los pixeles RGB utilizan mucha energía。 Mientras el Arduino puede alimentar algunos pixeles usando su fuente de regulador interno, pero rápidamente se quedará sin corriente。 Por esto debemos utilizar una fuente externa para alimentar las luces, El voltaje requeridodependenterá el las especificaciones de las luces que haya comprado。 La tira de leds inteligentes que se está usando utiliza 5v, pero también hay que tomar en thinkación el consumo de amperes。 Cada 像素 cuando se encienden los 3 leds al 100% 消耗 60mA,es decir cada led 消耗 20mA,si thinkamos los 60 pixeles por Metro tenemos un consumo de 3.6A x cada Metro.

Desafortunadamente las pistas de cobre que se usan en la mayoría de las tiras de leds causan restencia por lo cual sufren una caída de voltaje。 Si el voltaje cae muy bajo tendrás problemas con tus luces como parpadeos, atenuación。 Para evitar estos problemas, se necesita insertar voltaje cada 50 pixeles, solo corta la pista, aliméntala y el Data solo crea un jumper。 También tomemos en Cuenta que si las tiradas de cable son largas debemos tomar en Cuenta el grosor del cable para evitar pérdidas.

Lo Grande siempre es mejor cuanto una fuente de poder se refiere, para este tipo se recomiendan fuentes de poder de 40A o 60A o utilizar varias.

Arduino como 控制器

La mayoría de las tarjetas de Arduino se pueden usar como controladores que sirven de interface entre la computadora que corre Vixen Lights y las titas de pixeles.

Solo que varias tarjetas están limitadas por la velocidad del procesador, tamaño de memoria y tamaño de almacenamiento, pero la mayor limitante es la velocidad de puerto serial。 La mayoría de los arduinos no pueden ir más rápido de 115,200 baudios, el topo de pixeles es de 300 para que se puedan refrescar cada 50ms.

Si quieres incrementar el número de pixeles tienes que incrementar en Vixen la frecuencia de actualización a 100ms.

Este 教程 esta basado en el 教程 de David Hunt - blog.huntgang.com

配置 el Puerto Serial en Vixen

Para poder utilizar el Arduino como controlador, tienes que primeo configurar dentro de Vixen 3.x el siguiente proceso.

步骤 1.- Agrega un Generic Serial Controller del menu

步骤 2.- Ahora definiremos el # de salidas de nuestro controlador, si en mi caso use 30 pixeles debo multiplicarlo x 3, es decir cada pixel tiene 3 leds en su internal, lo que da igual a 90 salidas。

步骤 3.- En la parte下级 derecha dar clic en el engrane, ahora a configurar el puerto COM. Para hacer esto dadamos clic en el puerto y seleccionamos el puerto que tiene asignado el Arduino, también configuraremos el velocidad de los baudios a 115200, el resto se queda como esta.

步骤 4.- Configuraremos el Texto de Encabezado, en mi caso es>>030<<, esto le indica al código instalado en arduino el número de pixeles que estará recibiendo, siempre el número se debe ingresar en valor de 3 important coes d inicio,sino tendrás error en los pixeles。

配置 Elemento para Pixeles

步骤 5.- En la esquina Superior izquierda dentro del cuadro de selección、seleccionamos Single Item、damos clic en el botón verde con un signo de +、nómbralo como Pixel Strip。

步骤 6.- Sobre el nombre de Pixel Strip que acabas de crear da clic derecho y selecciona 添加多个。 Para añadir todos los pixeles, seleccionaremos ítem numerados,define un nombre, (you use Pixel Strip) y luego selecciona el número de pixeles que en mi caso con 30. Verás todos los nombres antes de dar clic OK。

步骤 7.- Ahora seleccionamos el Pixel Strip y configuraremos las propiedades del Color Handiling, que se encuentra en la esquina lower izquierda en un cuadro que dice Configure:, da clic y selecciona Color Handiling。 Seleccionaremos “它们可以是任何颜色:它们是全 RGB 并混合任何颜色” .

步骤 8.- Este es el paso final donde asignamos los elementos al controlador, para hacer este paso selecciona del lado izquierdo y el controlador genérico del lado derecho bajo el nombre que le hayas puesto。 El número de puntos sin conectar debe ser el mismo。 Lo único que queda es darle clic en el botón Patch Elements y ya está listo.

步骤 9.- Para comprobar que esta Correcto deberás ver un ejemplo como el de la vista gráfica。

Crear mi Primera Secuencia

步骤 10.- Abrir Vixen y dar clic en New Sequence.....

步骤 11.- 导入 nuestro Audio,优先使用 mp3 格式

步骤 12.- . Así debe de verse nuestra pantalla, pueden notar que la onda de música está cargada en la parte Superior, en la barra Superior pueden encuentran dos lupas una de + y otra -, que sirven para alejar o aumentar la línea de tiempo donde estaremos trabajando。

步骤 13.- Vamos a correr un proceso paradetectar los Beats de la música, ya que nos ayudará a la hora de armar las secuencias, podrán observar en la imagen las líneas blancas alineadas a los Beats de la música。

步骤 14.- De nuestro lado izquierdo hay un menu de Effects, Basic Lighting, Pixel Lighting, ambos menus puedes ser utilizados con Pixeles, vamos a dar clic en Chase

步骤 15.- Seleccionamos el efecto en la línea de tiempo, del lado derecho se activará un menu de configuración del efecto, donde podremos modificar, intensidad, dirección, color, etc.

步骤 16.- YouTube 中的 Da clic en PLAY、diviértete、hay mucho 教程。

注意:Una vez que conectes tu Arduino y abras Vixen Light deben empezar a parpadear los leds Rx, esto indica que Arduino está esperando recibir información por el puerto Serial.

代码

  • 快速引导图书馆
  • Arduino 代码
Fast Led LibraryArduino
安装到您的文档 - Arduino - 库
无预览(仅限下载)。
Arduino 代码Arduino
只需复制并粘贴到 arduino IDE
/*Vixen Lights 3.x - 用于可寻址像素的 Arduino 通用串行使用此代码非常简单,只需将一根电线(WS2811 或 WS2812)数据线连接到 Arduino 的第 6 针并上传这段代码。确保您已正确安装来自 http://fastled.io 的 FastLED 库 完成后,只需从外部电源为您的 Pixel 灯条供电。接下来在 Vixen Lights 3.x 中配置一个通用串行控制器,并为通道数添加 3 x 像素。将通用串行控制器配置为使用 115200、8、none 和 1。然后创建您的元素并添加“多个项目(1 x 像素数)。最后选择您的像素元素并将它们设置为 RGB 像素,然后再将它们修补到控制器输出。您现在应该准备好开始测试了。有关完整教程,请查看 blog.huntgang.com 创建于 2014 年 11 月 8 日 作者:Richard Sloan - www.themindfactory.comAnd David Hunt - blog.huntgang.comVersion 1.4*/// 您必须下载并安装来自 http://fastled.io/ 的库 #include // 设置此代码将处理的最大 LED 数量以避免内存不足#define NUM_LEDS 300 // 设置用于连接到LED像素条#define DATA_PIN 6CRGB leds[NUM_LEDS];void setup() { // 定义串口速度Serial.begin(115200);}void loop() { // 设置一些计数器/临时存储variables int cnt; unsigned int num_leds; unsigned int d1, d2, d3; // 开始无限循环以接收和处理ess serial data for(;;) { // 将计数器设置为 0。此计数器会跟踪接收到的像素颜色。 cnt =0; //开始等待在串行总线上接收到的报头 //第一个字符 while(!Serial.available()); if(Serial.read() !='>') { 继续; } //第二个字符 while(!Serial.available()); if(Serial.read() !='>') { 继续; } //从串行总线中获取要使用的像素数的第一个数字 while(!Serial.available()); d1 =Serial.read(); //从串行总线中获取要使用的像素数的第二个数字 while(!Serial.available()); d2 =Serial.read(); //从串行总线中获取要使用的像素数的第三个数字 while(!Serial.available()); d3 =Serial.read(); //获取标题的结尾 while(!Serial.available()); if(Serial.read() !='<') { 继续; } while(!Serial.available()); if(Serial.read() !='<') { 继续; } // 根据头部数字中提供的字符计算像素数 num_leds =(d1-'0')*100+(d2-'0')*10+(d3-'0'); // 确保像素数不超过允许的数量 if(num_leds> NUM_LEDS) { continue; } // 让FastLED 库知道我们将处理多少像素 FastLED.addLeds(leds, num_leds); // 遍历每个像素并读取每种颜色的值 do { while(!Serial.available()); leds[cnt].r =Serial.read(); while(!Serial.available()); leds[cnt].g =Serial.read(); while(!Serial.available()); leds[cnt++].b =Serial.read(); } while(--num_leds); // 告诉 FastLED 库是时候更新像素条了 FastLED.show(); // WOO HOO...我们都完成了,准备重新开始! }}

示意图

使用 470 ohms 电阻器 - usar una restencia de 470 ohms 使用 470 ohms 电阻 - usar una restencia de 470 ohms

制造工艺

  1. 使用按钮通过 PWM 调光灯光
  2. 使用 ARDUINO 的超声波悬浮机器
  3. 使用 Arduino、1Sheeld 和 Android 的通用远程控制
  4. 使用 Arduino 和智能手机的 DIY 电压表
  5. 温湿度数据记录仪
  6. IOT - 使用 ESP8266、Arduino 和超声波传感器的智能罐
  7. 使用 Arduino 的频率和占空比测量
  8. 如何使用 Arduino 测量地球质量
  9. Sonar 使用 arduino 并在处理 IDE 上显示
  10. Car Counter using Arduino + Processing + PHP
  11. 生日快乐:灯光和声音
  12. 如何使用 Arduino 和 Processing IDE 制作指南针