LusoRobótica - Robótica em Português

Robótica => Iniciantes => Tópico iniciado por: Magnun Serpas em 31 de Janeiro de 2013, 02:00

Título: Arduino, Xbee controle do brilho de led
Enviado por: Magnun Serpas em 31 de Janeiro de 2013, 02:00
Olá a todos. Estou tentando usar 2 arduinos e 2 xbee pra alterar o brilho de um led remotamente.

No arduino 1, estou usando um potenciômetro ligado a porta analógica 2, para ler os valores e mandar via serial pelo módudo xbee 1 ( série s1).

Segue o código:

int valoranalog = 0, val1=0;
void setup()
{
Serial.begin(9600);
}

void loop()
{
valoranalog = analogRead(2);
val1 = map(valoranalog, 0, 1023, 0, 255);
Serial.print(val1);
delay(150);
}

No Ardunio 2, tenho um led ligado ao pino 11 ( resistor em série de 200 ohns), e um módulo xbee 2 ( série s1).
Segue o código:

int valorrecebido=0;
void setup()
{
  Serial.begin(9600);
  Serial.flush();
  pinMode(11, OUTPUT);
}
void loop()
{
  if(Serial.available())
  {
    valorrecebido=Serial.read();
    analogWrite(11,valorrecebido);

  }
}

Ambos os xbee foram configurados com o adaptador corretamente. Entretanto não estou conseguindo alterar o brilho usando a pwm no pino 11. Aguardo algum ajuda de vocês.
Título: Re: Arduino, Xbee controle do brilho de led
Enviado por: tarquinio em 31 de Janeiro de 2013, 04:00
Huh? Não percebi porque é que decidiste fazer outro post exactamete com a mesma pergunta... Quem vir este post vai provávelmente perguntar-te as mesmas coisas do outro...
Anyways, eu sugeria-te tentares testar os dois em separado, para confirmar se está tudo a funcionar bem na comunicação.

Por exemplo, podes usar só o arduino que envia os dados, e ligar o receptor ao PC e abrir o Serial Monitor ligado ao Xbee, e ver se recebes alguma coisa. Depois podes fazer algo parecido tambem para enviar os dados.
Título: Re: Arduino, Xbee controle do brilho de led
Enviado por: Magnun Serpas em 31 de Janeiro de 2013, 04:47
Se vc observar os códigos são completamente diferentes, e os arduinos e os xbees já foram testados!
Título: Re: Arduino, Xbee controle do brilho de led
Enviado por: tarquinio em 31 de Janeiro de 2013, 15:15
Sim ok o código é diferente mas pelo que disseste no outro post, o outro código estava a funcionar, por isso é que tinha sugerido testares os dois arduinos em separado. Se eles funcionavam bem ligados directamente, então o problema não era do código... Quando muito, seria por estares a usar uma baud rate trocada ou não suportada (no Serial.begin).
No outro código estavas a usar 19200, neste estás a usar 9600. Mudaste as velocidades dos dois xbees tb quando mudaste o código nos arduinos? Quando eu comecei a trabalhar com xbees, qdo as coisas não funcionavam muitas vezes era por me esquecer de trocar a velocidade num dos lados ;)

O código que colocaste neste post é que não funciona mesmo, porque estás a enviar:
Código: [Seleccione]
Serial.print(val1);
que envia os valores em texto, e do outro lado estás a ler em binário, assimas coisas não batem certo... Tens que usar Serial.write(valor) ou Serial.print(valor, BYTE);
Título: Re: Arduino, Xbee controle do brilho de led
Enviado por: senso em 31 de Janeiro de 2013, 16:02
Para além de que o serial.print mete ai um /n ou /n/r ou um /r, sei que ele mete mais tralha no fim da linha, e depois é um bocado mais chato de ler os dados.
Título: Re: Arduino, Xbee controle do brilho de led
Enviado por: Magnun Serpas em 31 de Janeiro de 2013, 18:32
Opa amigo, as velocidades são as mesmo de 9600, vou tentar usar o Serial.write, aí se caso der certo eu posto aqui, se não der, voltamos a conversar, devo colocar aqui ainda hoje os resultados da averiguação.
Título: Re: Arduino, Xbee controle do brilho de led
Enviado por: microbyte em 01 de Fevereiro de 2013, 00:56
Que configuração fizeste aos XBees?