Control Components Avanzados

Site: QSC
Course: Q-SYS Control 101 Training (Spanish)
Book: Control Components Avanzados
Printed by: Guest user
Date: Saturday, 23 November 2024, 4:09 AM

Description

Descripción de la lección

Sumérgete en algunas aplicaciones avanzadas de los Control Components como, Comportamiento Personalizado de un Fader, Botones no Binarios, Status Combiner/E-mailer y Páginas Protegidas por Contraseña.

Transcripción de video

0:08
Una vez que te sean familiar los Control Components, puedes iniciar a combinarlos para crear
0:13
resultados más interesantes. Como el juego de Trampa para Ratones o una máquina Rube Goldberd,
0:20
puede conectar estos componentes para disparar un evento solo bajo alguna condición en específico.
0:26
Puedes ponerte muy creativo con el uso de los Control Components y llevar a cabo una amplia
0:31
variedad de tareas. Eventualmente toparás con pared – puedes llevar a cabo muchas cosas con estas
0:36
herramientas sencillas, pero llegará un punto en el que necesitarás emplear un lenguaje de
0:41
codificación más complejo como nuestro Script o el Block Controller. Sin embargo, en este video,
0:48
iremos a través de algunos ejemplos de cosas que puedes llevar a cabo con los Control Components,
0:53
así como revisar algunos componentes que tenemos pendientes y no hemos visto. Si quieres conocer
0:59
alguno en particular, siéntete con la libertad de ir directamente donde cada sección comienza.
1:07
Aquí hay una situación bien común – necesitas colocar un fader para un micrófono en una UCI, pero
1:14
esa interfaz será operada por un humano y – no sé si has conocido a los humanos antes – muchos de
1:20
ellos son terribles. Si les das un fader, es una garantía de que llevarán ese fader hasta arriba, lo cual
1:27
nunca es una buena idea.
1:30
En lugar de eso, puede añadir un Custom Control con un Level Fader y personalizar el rango de este
1:36
fader. Yo voy a restringir este entre -20dB y +5dB, ya que creo que es toda la flexibilidad que
1:44
realmente necesitan. Conectaré este control a mi perilla de ganancia original y la añadiré a la UCI. El
1:51
usuario nunca sabrá la diferencia. Él pensará que está llevando a tope el sistema, sin embargo, aún
1:57
hay mucho margen.
1:59
Tomemos tambiél el botón de mute del canal para que el usuario pueda apagar el micrófono. Como
2:04
he limitado el valor mínimo del fader a -20dB y este es un rango todavía audible, sería bueno que
2:10
este botón de mute se encendiera automáticamente cuando el usuario lleve el fader hasta abajo.
2:16
Para ello podemos añadir una sencilla Control Function.
2:20
No importa el rango que hayas determinado para este fader, sé que cuando llega hasta abajo, su
2:25
parámetro de .Position es 0. Voy a añadir una sentencia comparativa con otro control que ya tenga
2:32
una posición de 0. Añadiré un botón toggle el cual, por defecto está apagado y a seleccionar un
2:39
Control Function en “Position Equal”.
2:42
Cuando el fader esté en la hasta abajo su posición es 0, lo que equivale al botón toggle que también
2:47
está en posición 0, así que eso satisface la condición de la función de Control “Position Equal”, la que
2:54
entregará un 1 a la salida y activará mi botón de Mute. Ahora, cuando bajo totalmente el fader, se
3:01
activa automáticamente el Mute.
3:03
Si muevo de nuevo el fader, su posición ya no corresponde a la del botón toggle, enviando un 0 que
3:08
desactivará el Mute. Aún puedo activar manualmente el Mute, pero cuando elijo mover el fader,
3:14
abrirá automáticamente el micrófono de nueva cuenta. Hemos hecho una solución sencilla a un
3:20
problema sencillo.
3:25
Los botones son geniales para comportamientos binarios – cuando necesitas un 1 o un 0, son
3:30
perfectos. Pero ¿qué pasa si quieres un botón con dos valores? Por ejemplo, digamos que queremos
3:35
un botón de toggle para darle ganancia a un Audio Player entre una configuración alta y una
3:40
configuración baja de nivel. No queremos mutearlo o desmutearlo, sino que la ganancia alterne entre
3:46
5dB y -10dB. ¿Cómo podemos hacer esto? Hay muchas maneras de llevar a cabo esto, todo depende
3:53
de cómo trabaje tu cerebro. Veamos algunos métodos.
3:57
La forma más sencilla en la que pienso es usar Snapshots – puedes usar un 1 o un 0 para activar un
4:03
botón de Load (cargar) en un Snapshot, el cual llame un valor guardado para tu control de ganancia.
4:10
Creemos un nuevo banco de Snapshot y asociemos la perilla de ganancia con ese banco. Después,
4:16
coloquemos la ganancia en +5dB y guardemos el Snapshot 1, coloquémosla a -10dB y guardemos el
4:24
snapshot 2.
4:26
Tomaré un flip-flop – debes recordar que sus LEDs “out” y “no out” alternan basados en el estado del
4:33
flip-flop. Expondré los pines de control para llamar los Snapshots 1 y 2 y los conectaré con el flip-flop.
4:41
Ahora, puedo colocar este botón de State (estado) en una UCI, dando al usuario un solo botón que
4:48
tiene el efecto de cargar diferentes valores a una perilla de ganancia.
4:52
Veamos otro método – Podemos usar un Control Router que directamente envíe un nuevo valor al
4:58
control de ganancia. Aquí tenemos dos custom knobs (perillas personalizadas), una la colocamos en 5
5:06
y la otra la colocamos en -10. El Control Router determina cuál de ellas pasará. Podemos exponer los
5:13
pines de control para la selección de entrada 1 o entrada 2, y usar nuestro flip-flop para alternar
5:19
entre estas opciones.
5:21
Ahora, si no deseas usar el flip-flop, puedes usar otro botón para activar la primera opción del router
5:27
o del snapshot, y usar una Control Function para Invertir la posición de ese botón, de tal manera que,
5:33
cuando el botón está apagado, enviará una señal de encendido a la segunda opción del router o del
5:38
snapshot. Esto tiene el mismo efecto, es solo un ejemplo de la flexibilidad de estos componentes de
5:45
control.
5:50
Veamos este componente de control – El Status Combiner. Este es un componente extraño que solo
5:56
acepta controles de Status (estado). Puedes encontrar controles de estado en casi todos los
6:02
elementos del inventario o componentes dependientes de la red. Probablemente reconozcas estos
6:08
controles de status de la UCI predeterminada “Inventory Status” que enlista la salud de cada
6:14
dispositivo en tu diseño.
6:16
Aun cuando esta UCI es útil, te puede llevar algo de tiempo el ver cada uno de los estados en un
6:22
diseño con muchos elementos. Puedes combinar todos los estados en una sola ubicación conectando
6:28
su Status Control al Status Combiner.
6:32
En la parte alta, el Status Combiner enlista el peor estado de todas las entradas. Si todo está
6:37
corriendo adecuadamente en tu diseño, dirá OK. Pero si se desconectara uno de mis periféricos, por
6:43
ejemplo, ese dispositivo desaparecería de la red y se registrará como Fault (falla).
6:50
Puedes personalizar una etiqueta por cada entrada para que te diga exactamente qué dispositivo
6:55
está experimentando algún detalle, y si quieres ignorar algún dispositivo en particular, puedes
7:01
suprimir su estado, lo cual quita temporalmente el elemento problemático de la lista del Status
7:07
Combiner.
7:09
Tenemos otro video disponible donde en una versión más joven de Nate que muestra cómo usar el
7:15
Status Combiner para enviar un email a ti o a un técnico. Se ve como esto – cuando el LED de falla se
7:21
enciende, podemos activar el botón de Send (enviar) en el componente E-mailer. El mensaje de este
7:29
email puede llenarse con la cadena de texto que obtenemos del control “Combined Status (estado
7:35
combinado)”, el cual describe el error.
7:38
Sin embargo, hay un problema con esta configuración. Si el recinto reinicia el sistema o tiene un corte
7:45
eléctrico, habrá un breve periodo donde el Core esté activo pero sus periféricos estén inicializándose.
7:52
No quieres que te llegue un email diciéndote que tu sistema está roto solo porque tuvieron un corte
7:58
de energía así que, ¿cómo podemos evitarlo?
8:02
Utilicemos algunos Control Components para resolver esto. Sabemos que, si el sistema se está
8:07
reiniciando, estará todo OK en alrededor de 30 segundos. Usemos esto para validar si es que
8:14
presionamos o no el botón de Send. Colocaré un Control Delay entre el LED de Falla y el control de
8:20
Send, y lo ajustaré a 30 segundos.
8:24
Al término de estos 30 segundos, queremos comparar el estado actual del LED para saber si la falla
8:29
sigue pasando. Tomaré una Control Function y lo configuraré como “Logic And”. Esto requiere que
8:36
ambas entradas sean verdaderas. Así que, si la falla ha esperado 30 segundos entonces el primer pin
8:44
será verdadero, y si la falla aún está ocurriendo, entonces el segundo pin será verdadero y la función
8:51
activará el botón de send del E-mailer.
8:54
Si ya pasaron 30 segundos y el sistema se ha restablecido, entonces el LED original de Fault será falso,
9:01
lo cual no satisface las condiciones de la función y no se enviará el email. De nuevo, una solución
9:08
sencilla para un problema sencillo.
9:13
Una de las preguntas finales que siempre recibo es, si se puede agregar una contraseña a una página
9:19
en particular de una UCI. Si bien puedes restringir una UCI completa a un usuario, requiriendo que él
9:25
acceda con un número PIN, no es una manera nativa de solicitar un código de acceso para una página
9:31
en específico. Sin embargo, con todas las herramientas que hemos visto en los Control Components,
9:36
puedes utilizar tu propio método. Existen algunas maneras de hacerlo, y esto es algo que podría ser
9:41
mucho más sencillo con algo de scripting, pero aún no lo conocemos, así que veamos cómo hacerlo
9:47
con los pines de control.
9:48
Una de las formas en las que trabajo es, me gusta escribir la función deseada y entonces reemplazar
9:54
cada segmento con una herramienta a mi disposición. Aquí está lo que deseo hacer: “Si el usuario
10:00
coloca la contraseña adecuada y presiona enter, entonces la página de la UCI debe cambiar”. Bueno,
10:07
puedo ver que voy a necesitar una “Logic AND” para validar “si coloca contraseña adecuada” y
10:12
“presiona enter”.
10:14
Así que tengo una Logic AND y un botón momentáneo para “Enter”. Pero ¿cómo puedo obtener una
10:19
contraseña del usuario y probar si es correcta? Bueno, me llegan a la mente varias opciones, pero
10:26
déjame mostrarte mi favorita. Para obtener una contraseña del usuario, necesito un teclado. Y no le
10:32
digas a nadie, pero me robaré uno del componente del Softphone.
10:36
Si este diseño no está utilizando el número máximo de Softphones, no hay daño alguno en crear uno
10:42
solo para usar su teclado. Añadiré todos los botones a mi página de UCI. Aquí está el truco que me
10:49
gusta para validar la contraseña – Crearé un nuevo Snapshot Bank y lo asociaré con el Dial String o
10:56
“cadena de marcado” - ese el número telefónico- con ese snapshot.
11:00
Entonces colocaré la contraseña correcta y lo guardaré como Snapshot 1. Hay un pin de control
11:07
disponible en cada snapshot que puede que no conzcas – Expondré este llamado “Match 1”. El
11:14
control “Match” es un LED que se enciende cuando el diseño está en un estado que coincide con la
11:20
configuración guardada en el snapshot.
11:22
Así que, si alguien escribe el mismo número que he guardado en el Snapshot 1, el snapshot Match se
11:29
encenderá, indicando que coincide. Así que usaré esto para la primera mitad de mi Logic AND. Ahora,
11:37
cuando alguien coloca el número correcto Y presiona el botón enter, ¡tenemos un 1!
11:43
De nuevo, hay un número de formas en las que podemos usar este 1 para cambiar la página de la
11:48
UCI, pero voy a activar otro Snapshot, ya que pienso que es la más sencilla. Crearé otro Snapshot
11:54
Bank y lo asociaré con el control de página actual del touchscreen que quiero afectar. Seleccionaré la
12:01
página secreta y grabaré el snapshot y conectaré mi Logic AND para activar este snapshot.
12:07
¡Tada! Tengo un teclado, meto el código y la página cambia. Puedo darle al usuario un botón de
12:14
navegación para regresar a la página principal. Probablemente hay algunos retoques que puedo
12:20
hacerle a este diseño. Por ejemplo, si el usuario coloca un código incorrecto – o si el LED de Match
12:26
NO está activo después de presionar el botón Enter, entonces quiero que se active el botón “Clear”
12:32
(limpiar) del PinPad para borrar lo que se escribió.
12:35
Te apuesto que puedo diseñar un contador que se incremente cada vez que coloquen una contraseña
12:40
errónea. Si lo intentan tres veces, podría disparar una alarma###, enviar una señal desde el GPIO a la
12:51
iluminación del cuarto###, apuntar las cámaras de Q-SYS a esa posición e indicar a las matrices de
12:58
video que envíen esa señal de la cámara a cualquier TV del recito###, mientras llama a la policía ##y
13:05
me envía un email… etc.
13:08
El punto es que, te puedes divertir mucho con las Control Functions. Realmente recomiendo que
13:13
pases algo de tiempo jugando con ellos, y espero que estos videos te hayan inspirado algunas ideas.
13:19
Tenemos un ejercicio en la Hoja de Trabajo del entrenamiento de Control para que pueda
13:23
completarla, pero siéntete libre de desafiarte a ti mismo pensando en un problema e ideando la
13:28
solución. Si encuentras algo que no puedes hacer, tal vez sea hora de echar un vistazo al scripting o al
13:34
Block Controller. Diviértete jugando y nos vemos la próxima.