En ocasiones los visitantes de mi blog me piden insistentemente que se añada a la serie de conversores DMX512 uno sin muchas pretensiones que pudiera usarse desde Arduino, un circuito simple que permitiera tenerlo a mano en el prototipado de instalaciones multimedia en museos, espectáculos y lugares similares. Ese día ha llegado, ahora puedes encontrar un shield para Arduino UNO en mi tienda, en esta web que te permite enviar comandos DMX512 a una instalación sin importar su tamaño.
Una vez hayas conectado SB DMX512 Shield puedes usar el siguiente ejemplo que te permite seleccionar diferentes comandos y enviarlos por los pines de comunicación entre Arduino UNO y SB DMX512 Shield (Pin_02 para RX y Pin_03 para TX).
Cuando hayas compilado y "subido" este ejemplo a la memoria de tu Arduino UNO debes ir hasta el menú 'HERRAMIENTAS' del editor de Arduino y selecciona la opción 'Monitor Serie', posteriormente asegúrate que tienes la misma configuración que puedes ver en la imagen de más abajo.
Si ahora escribes 1 y pulsas sobre el botón de 'ENVIAR' deberías ver la versión del firmware del conversor, eso significa que todo ha ido bien. Las opciones 2 a 7 envían diferentes comandos sobre los registros 001, 002 y 003 que en tu caso podrían no tener ningún efecto visual si el dispositivo DMX512 que tienes conectado no posee esos registros o sus valores no están dentro de lo esperado. Deberás cambiarlos por los tuyos.
No olvides que hay un LED Verde que te indica que el conversor está recibiendo comandos correctos. Este led es muy útil porque siempre que se encienda significa que el comando que has enviado es correcto y si el dispositivo DMX512 que tienes conectado no hace nada es porque debes revisar si estás escribiendo el valor adecuado en el registro correcto...
Una vez hayas conectado SB DMX512 Shield puedes usar el siguiente ejemplo que te permite seleccionar diferentes comandos y enviarlos por los pines de comunicación entre Arduino UNO y SB DMX512 Shield (Pin_02 para RX y Pin_03 para TX).
#include <SoftwareSerial.h>#define rxPin 2#define txPin 3int cmd = 0;SoftwareSerial mySerial (rxPin, txPin);void setup(){pinMode(rxPin, INPUT);pinMode(txPin, OUTPUT);mySerial.begin(19200);Serial.begin(57600);}void loop(){if (Serial.available() > 0) {cmd = Serial.read();if (cmd == '1')mySerial.print ("!\r");if (cmd == '2')mySerial.print ("S001V255\r");if (cmd == '3')mySerial.print ("S002V255\r");if (cmd == '4')mySerial.print ("S003V255\r");if (cmd == '5')mySerial.print ("S001V000\r");if (cmd == '6')mySerial.print ("S002V000\r");if (cmd == '7')mySerial.print ("S003V000\r");}// Leer respuesta, si la hubieraif (mySerial.available() > 0)Serial.write(mySerial.read());}
Cuando hayas compilado y "subido" este ejemplo a la memoria de tu Arduino UNO debes ir hasta el menú 'HERRAMIENTAS' del editor de Arduino y selecciona la opción 'Monitor Serie', posteriormente asegúrate que tienes la misma configuración que puedes ver en la imagen de más abajo.
Si ahora escribes 1 y pulsas sobre el botón de 'ENVIAR' deberías ver la versión del firmware del conversor, eso significa que todo ha ido bien. Las opciones 2 a 7 envían diferentes comandos sobre los registros 001, 002 y 003 que en tu caso podrían no tener ningún efecto visual si el dispositivo DMX512 que tienes conectado no posee esos registros o sus valores no están dentro de lo esperado. Deberás cambiarlos por los tuyos.
No olvides que hay un LED Verde que te indica que el conversor está recibiendo comandos correctos. Este led es muy útil porque siempre que se encienda significa que el comando que has enviado es correcto y si el dispositivo DMX512 que tienes conectado no hace nada es porque debes revisar si estás escribiendo el valor adecuado en el registro correcto...
Comparte este post
2023-05-08 17:02:37
Tags: #DMX512, #Arduino, #ShowControl
Posts relacionados
