LusoRobótica - Robótica em Português

Robótica => Iniciantes => Tópico iniciado por: Magnun Serpas em 29 de Janeiro de 2013, 21:19

Título: Arduino e Xbee
Enviado por: Magnun Serpas em 29 de Janeiro de 2013, 21:19
Olá, venho tentando ver se tal código funciona, entretanto não consegui êxito nas tentativas, não consegui alterar o brilho de led, nem sequer ele acendeu, peço a ajuda de todos aqui:

http://lusorobotica.com/index.php?topic=319.0 (http://lusorobotica.com/index.php?topic=319.0)

// SENDER

int analogValue2, analogValue5, val2, val5;

void setup()
{
// start serial port at 19200 bps
Serial.begin(19200);
}

void loop()
{
// read analog input
analogValue2 = analogRead(2);
analogValue5 = analogRead(5);

val2 = map(analogValue2, 0, 1023, 253, 0);  // 254 and 255 for SYNC
val5 = map(analogValue5, 0, 1023, 253, 0);

Serial.print(254, BYTE); //SYNC char
Serial.print(val2, BYTE);

Serial.print(255, BYTE); //SYNC char
Serial.print(val5, BYTE);

delay(150);
}


/ RECIEVER

byte incomingByte, sensor1, sensor2;

void setup() {

// start serial port at 19200 bps
Serial.begin(19200);
Serial.println(”Ready!”);

pinMode (5, OUTPUT);
pinMode (6, OUTPUT);

delay(1000);

}

void loop() {

if (Serial.available()) {
incomingByte = Serial.read();

Serial.print(int(incomingByte));

if ((int(incomingByte) == 254)) {
sensor1 = Serial.read();
Serial.print(”Sensor 1 = “);
Serial.print(int(sensor1));
}

if ((int(incomingByte) == 255)) {
sensor2 = Serial.read();
Serial.print(”  Sensor 2 = “);
Serial.print(int(sensor2));
}
}

analogWrite (5, sensor1);
analogWrite (6, sensor2);
}
Só estou a querer acender apenas um led.
Título: Re: Arduino e Xbee
Enviado por: tops72 em 29 de Janeiro de 2013, 22:37
Boas ja os configuras-te aos dois??Com o +++,o AT.....
Título: Re: Arduino e Xbee
Enviado por: Magnun Serpas em 29 de Janeiro de 2013, 23:04
Configurei ambos...
Título: Re: Arduino e Xbee
Enviado por: tarquinio em 29 de Janeiro de 2013, 23:26
Boas.
Acho que primeiro deverias tentar perceber se é um problema do Arduino ou dos xbees...
Eu ligaria os dois arduinos por cabos cruzados (ligar os TX's de cada arduino com os RX do outro), e ligar tb um GND comum se eles tiverem com alimentações separadas.

Se eles comunicarem, então já sabes que o problema tem a ver com a parte wireless. Se mesmo assim não funcionarem, entao há algum problema no código do arduino.

Para testares os Xbees à parte (assumindo que tens um adaptador pala ligar o xbee ao pc) podes fazer um teste de echo... Ligas um xbee ao pc, no outro ligas directamente o TX ao RX, abres o serial monitor com a velocidade certa (que tem de ser a mesma que usaste no Serial.begin() nos arduinos) e tudo o que escreveres deveria ser enviado de volta. Se isso não acontecer, ou a velocidade está mal configurada ou eles não estão bem configurados para falar um com o outro....
Título: Re: Arduino e Xbee
Enviado por: Magnun Serpas em 30 de Janeiro de 2013, 00:03
Já fiz tudo isso, mas de nada adiantou, tenho o adaptador, e fiz esses testes aí, tenho para mim, que o problema está no código.
Título: Re: Arduino e Xbee
Enviado por: microbyte em 30 de Janeiro de 2013, 00:35
Mas o 1º teste que te foi indicado (sem os XBees) funcionou?
Título: Re: Arduino e Xbee
Enviado por: Magnun Serpas em 30 de Janeiro de 2013, 02:09
Funcionou sim, sem problemas!
Título: Re: Arduino e Xbee
Enviado por: tarquinio em 30 de Janeiro de 2013, 02:29
Mas e tambem fizeste o 2º teste? Tens a certeza que os dois xbees estão a comunicar um com o outro? E a 19200baud?

Se os arduinos comunicam directamente um com o outro, então tambem deveriam comunicar bem atraves dos xbees (assumindo que estes estejam bem configurados e ligados). O arduino não sabe, nem precisa de saber por onde é que os dados vão, apenas a que velocidade tem de os enviar. Por isso de dizes que está tudo a funcionar bem ligando as cabos directamente,  tem de dar para colocar tudo a funcionar sem mudar nada no código dos arduinos...
Título: Re: Arduino e Xbee
Enviado por: Magnun Serpas em 31 de Janeiro de 2013, 01:39
Está tudo configurado da maneira correta, mas não sei a causa/razão de não estarem funcionando. Tudo bem! Vou abrir outro tópico e tentar fazer do meu jeito, daí vocês vão me ajudando.