Comunicação entre Arduino+Xbee & Arduino+Xbee

Fala Pessoal, 

Estou tentando transmitir via radio uma string, e estou tendo algumas dificuldades.

Na verdade até consegui bons resultados, mas não consigo entender o por que de alguns comportamentos estranhos.

Código no Transmitter:

int axisRoll = 0;
int axisPitch = 1;


const int ez_left = 7;
int rollVal;
int pitchVal;


long pulse_left, cm_left;


void setup() {
Serial.begin(9600);

pinMode(axisRoll, INPUT);
pinMode(axisPitch, INPUT);
pinMode(ez_left, INPUT);

}

void loop() {

rollVal = analogRead( axisRoll );
rollVal = map( rollVal, 305 , 600 , -90 , 90 );

pitchVal = analogRead( axisPitch );
pitchVal = map( pitchVal, 308, 603 , -90 , 90 );

// Left Sensor
pulse_left = pulseIn(ez_left, HIGH);
cm_left = ( pulse_left/147 ) * 2.54;


Serial.println( "<"+String ( rollVal ) + "," + String ( pitchVal ) + "," + String ( cm_left )+ ">" );
delay(200);

}

Código no receiver:


char inData[50];
int index = 0;
int busy = 0;
char messageFrag;

int header = 0;
String message;

void setup() {

    Serial.begin(9600);

}

void loop() {

    if ( Serial.available() > 0 ) {

        messageFrag = Serial.read();

             if ( header == 1 ) {
                inData[index] = messageFrag;
                index++;
             } else {

             if ( messageFrag == 60 ) { // beggining of the message
                     header = 1;
                 } else if ( messageFrag == 62 ) { // end of the message
                    header = 0;
                    printPacket();
                } else {
                    inData[index] = 0;
                    index++;
                }
            }
        }
 }

void printPacket() {
    for (int i = 0; i < 50; i++) {
        if ( inData[i] != 0 && inData[i] != 60 && inData[i] != 62 ) {
            Serial.print( char ( inData[i] ) );
        }
    }
    Serial.println("");
    index = 0;
    inData[index] = 0;

Bom, a mensagem que eu esperava receber a cada 200 milisegundos seria:

10,10,165 ( ou algo do tipo)

No entendo, estou recebendo 4 mensagens seguidas de um intervalo de 1 segundo aproximadamente e depois mais 4 mensagens e assim vai...

Alguém faz idéia do que acontece?

Paz,

TF

Exibições: 504

Responder esta

Respostas a este tópico

Olá.

Inicialmente, como esta a comufiguracao de Xbee? Poste a prints do X-CTU :) 

Depois, tem um pequeno grupo XBEE aqui no LdG, add lá se puder.

t+

Gustavo, obrigado pela resposta e pela dica do grupo, já estou lá :)

A configuração das Xbee's foi a mais básica possível, fiz pelo Coolterm (mac).

Xbee Transmitter:

ATMY5678

ATDL1234

ATDH0

ATID1111

Xbee Receiver:

ATMY1234

ATDL5678

ATDH0

ATID1111

Alguma pista?

Olá.

Tenho uma pista sim... segue abaixo:

Xbee Transmitter:

PAN -> "qualquer numero"

DH -> DH Xbee Receiver:

DL -> DL Xbee Receiver:

Xbee Receiver:

PAN -> Mesmo número da PAN do Transmitter

DH -> DH Xbee Transmitter

DL -> DL Xbee Transmitter

Depois me diga se funcionou.

T+

Ahhh

O Xbee Receiver será o COORDENADOR AT

o Xbee Transmitter será o END DEVICE AT

Valeu

Olá gustavo e tiago,  estou com enormes duvidas sobre o xbee em modo api,  vocês poderiam me dizer como chegou a esse grupo Xbee aqui do Ldg.  procurei nos topicos do forum e nada. como os acho ?

Weider,

Este grupo "XBEE" fui eu quem criei :)

API é a nata do Xbee, estou fazendo vídeos-aula explicando algumas coisas legais do Xbee. Se quiser, vou postando aki e você pode ir seguindo também.

T+

Gustavo,

  Cara, na ansia de aprender sobre o Xbee API, eu cheguei ao EXTREMO de traduzir o livro Building Wireless Sensor Networks do Robert Faludi,  o livro é considerado o top no mundo todo no assunto Xbee Arduino,  consegui tambem um livro em espanhol sobre xbee, mas ele é Horrivel, e por ultimo comprei o livro Instrumentação eletrônica sem fio do Jadeilson de Santana Bezerra, mas esse na parte geral de Xbee é pra lá de otimo, mas na parte de aplicação em si é voltado a usuários PIC que programam em Assembly(coisa de doidho !).

   Bem, sobre o Building Wireless Sensor Networks do Robert Faludi, eu levei quase 3 meses, pois traduzi paragrafo a paragrafo, corrigindo diagramação e tudo mais.

   Terminei semana passada, e até agora não passei a ninguem,  caso você deseje, me passe seu email, que você será o primeiro sortudo a ter acesso a essa magnifica obra em portugues.

   Fico aguardando.

    meu email é: weideraju@gmail.com

Tiago, fez a configuracao abaixo?

t+

Olá Gustavo,

Mil desculpas pela demora no feedback.

Aqui onde moro (Australia) tivemos um feriadão e fui viajar pra relaxar um pouco, mas enfim.

Descobri que tem um XCTU pra Mac, alias descobri um monte de outras coisas.

Mas vamos lá, para o meu projeto eu preciso da troca de mensagens entre os Xbee's+Arduino's. Basicamente o Arduino B vai enviar informações de sensores para o Arduino A ( que opera como terminal para telemetria e tb controle remoto ), esse por sua vez vai enviar de volta instruções para o Arduino B.

Com essa configuração COORDINATOR & END DEVICE eu consigo isso?

Paz,

Thiago Facchini

Olá Tiagão e gustavo,

    Caras vou colocar essa pergunta aqui e tambem no forum em aberto ok.

    Queria saber se aqui no Lab de Garagem não tem um como criar um forum, grupo, local, sei lá, exclusivo para discurssão de um tema.

   É que eu queria criar algo onde abrisse um forum sobre COMUNICAÇÃO SEM FIO, e dentro subtopicos englobando Xbee, 433mhz, Nrf24l01+ 2.4ghz e tudo que tivesse na área da comunicação sem fio,  tudo em um só lugar,  e ai ?  já existe ou dá pra criar ?

Fala Weider,

Cara, eu acho que o grupo que o Gustavo criou seria para atender a esse propósito entretanto o "forum" ou "grupo" do ldg não possui muitos recursos.

O que seria ideal na minha opnião de newbie, seria montar uma base de conhecimento, mas sinceramente acho que no ldg não rola. Não sei a política de uso dos forums e grupos aqui, mas se for para o bem de todos e felicidade geral da nação eu poderia criar um fórum desses phpbb com um pouco mais de recursos... sei la...

Abraços!

Olá Thiago.

Exatamente, COORDINATOR e END DEVICE vão fazer com que vc consiga enviar a string sem problema algum, como se fosse um " cabo usb".

T+

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço