Go Down

Topic: Transmitindo data com Xbee's (Read 862 times) previous topic - next topic

victorfb

Eu estou tentando fazer com que dois arduinos comuniquem entre eles usando Xbee's. Mas quando eu tento mandar números eu recebo simbolos ASCII, por exemplo se eu digito 42 no monitor eu recebo um asterisco (*). Como é q eu posso mudar isso? O código que eu estou usando é esse
Code: [Select]
#include <SoftwareSerial.h>

#define Rx    0                     // DOUT to pin 6
#define Tx    1                     // DIN to pin 7
SoftwareSerial Xbee (Rx, Tx);

void setup() {
  Serial.begin(57600);               // Set to No line ending;
  Xbee.begin(57600);                //   type a char, then hit enter
  delay(100);
}

void loop() {
  if(Serial.available()) {          // Is serial data available?
    char outgoing = Serial.read();  // Read character, send to XBee
    Xbee.print(outgoing);
  }

  if(Xbee.available()) {            // Is data available from XBee?
    char incoming = Xbee.read();    // Read character,
    Serial.println(incoming);       //   send to Serial Monitor
  }

  delay(50);

Tens a certeza???

Quando mandas algo pelo monitor, mandas em ASCII, certo? Se mandas em ASCII, 42 são dois bytes... logo, com o código que tens em baixo, receberias um sinal EOT e SOH.
Se não estás a mandar em ascii, talvez tenhas de enviar 52 seguido de 50 para conseguires ver 42.
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

victorfb

É, não sei se é ascii eu tentei mandar 42 de novo e não mando o mesmo símbolo. Mas o importante é que quando eu tento mandar um número algum símbolo estranho aparece no monitor do transmissor e esse mesmo símbolo aparece no monitor do arduino que está recebendo.

Ok... diz-me só uma coisa... tens as XBees ligadas nesses pinos? 0 e 1?

Porque se tens, há qualquer coisa de errado já que esses são os pinos da UART. Queres explicar melhor como tens tudo ligado, o código que tens em ambos os lados e exactamente como estás a enviar dados... É com o serial monitor do Arduino?
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

victorfb

Ja consegui fazer funcionar. Eu achei outro código  aqui e agora ta funcionando direito. Obrigado

Go Up