Bom Dia, estou tendo problemas com a comunicação do Arduino e o Vixen, quando vou mandar um comando para ligar os Leds ele simplesmente não liga. O que pode ser?
Bom dia Lucas! Analisando o seu código vejo que faltou alterar a parte do "for".
for(int i=0; i<10;i++)
essa parte é relacionada a contagem dos pinos no Arduino e deve ser igual a quantidade de portas que você está utilizando que no caso é 12 portas, então altere o 10 para 12 que é a quantidade de portas que você selecionou.
Faça essa alteração e veja se funcionou, caso esteja enfrentando o problema volte a postar o mesmo aqui.
O numero de portas programadas na programação deve ser o mesmo numero de portas configuradas no vixen, verifica se ativou no canto superior direito a opção pra executar as funções ao mesmo tempo, nao lembro ao certo o nome.
Dica: use um cabo grosso usb de qualidade, e se for usar muitos reles liguem fonte 5v direto nos reles
Bom dia Lucas! Analisando o seu código vejo que faltou alterar a parte do "for".
for (int i=0; i<10;i++)
essa parte é relacionada a contagem dos pinos no Arduino e deve ser igual a quantidade de portas que você está utilizando que no caso é 12 portas, então altere o 10 para 12 que é a quantidade de portas que você selecionou.
Faça essa alteração e veja se funcionou, caso esteja enfrentando o problema volte a postar o mesmo aqui.
Bom verifiquei aqui e aparentemente está tudo certo no Vixen, fiz de acordo com o video do Light Show Brasil Como configurar Arduino com Vixen Lights.
Porém no meu código eu acrescentei 2 Leds a mais, vou deixar o esboço aqui das alterações que fiz.
Aqui está o código que fiz as alterações
//==========================>Definição dos pinos e nomes das variáveis int Led1 = 2; int Led2 = 3; int Led3 = 4; int Led4 = 5; int Led5 = 6; int Led6 = 7; int Led7 = 8; int Led8 = 9; int Led9 = 10; int Led10 = 11; int Led11 = 12; int Led12 = 13; int i = 0; int incomingByte[12]; void setup() { //==========================>Velocidade da comunicação Serial Serial.begin(9600); //==========================>Define como saída pinMode(Led1, OUTPUT); pinMode(Led2, OUTPUT); pinMode(Led3, OUTPUT); pinMode(Led4, OUTPUT); pinMode(Led5, OUTPUT); pinMode(Led6, OUTPUT); pinMode(Led7, OUTPUT); pinMode(Led8, OUTPUT); pinMode(Led9, OUTPUT); pinMode(Led10, OUTPUT); pinMode(Led11, OUTPUT); pinMode(Led12, OUTPUT); } void loop() { if (Serial.available() >= 12) { for (int i=0; i<10;i++) { incomingByte[i] = Serial.read(); } // Pinos do Arduino analogWrite(Led1, incomingByte[0]); // Pino 2 analogWrite(Led2, incomingByte[1]); // Pino 3 analogWrite(Led3, incomingByte[2]); // Pino 4 analogWrite(Led4, incomingByte[3]); // Pino 5 analogWrite(Led5, incomingByte[4]); // Pino 6 analogWrite(Led6, incomingByte[5]); // Pino 7 analogWrite(Led7, incomingByte[6]); // Pino 8 analogWrite(Led8, incomingByte[7]); // Pino 9 analogWrite(Led9, incomingByte[8]); // Pino 10 analogWrite(Led10, incomingByte[9]); // Pino 11 analogWrite(Led11, incomingByte[10]); // Pino 12 analogWrite(Led12, incomingByte[11]); // Pino 13 } }
Verificou as configurações do Vixen?
O numero de portas programadas na programação deve ser o mesmo numero de portas configuradas no vixen, verifica se ativou no canto superior direito a opção pra executar as funções ao mesmo tempo, nao lembro ao certo o nome.
Dica: use um cabo grosso usb de qualidade, e se for usar muitos reles liguem fonte 5v direto nos reles