LusoRobótica - Robótica em Português

Robótica => Tutoriais => Tópico iniciado por: guibot em 24 de Dezembro de 2008, 20:08

Título: Comunicação Serial com XBee
Enviado por: guibot em 24 de Dezembro de 2008, 20:08
Como tive alguma dificuldade em obter informação sobre comunicação serial entre 2 arduinos, aqui fica o resultado da minha pesquisa.

No Arduino emissor tenho 2 potenciómetros, no receptor atribuo o valor de cada potenciómetro a um led  :]


http://www.youtube.com/watch?v=1PxjZglyXYU (http://www.youtube.com/watch?v=1PxjZglyXYU)

Citar
// 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);
}

Citar
// 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);
}
Título: Re:Comunicação Serial com XBee
Enviado por: TigPT em 25 de Dezembro de 2008, 13:12
Parabéns pelo projecto, obrigado por partilhares, assim quando fizer-mos comunicação entre 2 Arduinos não começamos do zero ;)

Um abraço, e continua o bom trabalho.
Título: Re:Comunicação Serial com XBee
Enviado por: norbanvs em 29 de Dezembro de 2008, 22:51
Só por curiosidade... é possível fazer o mesmo sem utilizar o XBee? Quero dizer, ligar uns fios e tal de maneira a por dois Arduinos a comunicarem entre si directamente?
Título: Re:Comunicação Serial com XBee
Enviado por: Fifas em 29 de Dezembro de 2008, 23:49
claro...é o mais simples....o pin 1 e 2 (ou 0 e 1) do arduino sao comunicaçao serie ;) RX e TX respetivamente....(diz na placa ;D)
Título: Re:Comunicação Serial com XBee
Enviado por: guibot em 30 de Dezembro de 2008, 00:45
ligas o TX ao RX, e o RX ao TX... tens q tirar sempre os fios antes de fazeres upload do sketch  :)
Título: Re:Comunicação Serial com XBee
Enviado por: guibot em 01 de Janeiro de 2009, 03:48
fiz um update ao tutorial sobre comunicação Serial, agora tenho um setup com fios, e outro sem fios:
http://lab.guilhermemartins.net/?p=346 (http://lab.guilhermemartins.net/?p=346)

Feliz 2009  ;D
Título: Re:Comunicação Serial com XBee
Enviado por: silva_p em 05 de Janeiro de 2009, 14:06
que xbee é que compraram?
na sparkfun existem mts tipos:
XBee 1mW Chip Antenna   
XBee 1mW Wire Antenna   
XBee 2mW Series 2.5 Chip Antenna   
XBee 2mW Series 2.5 RPSMA   
XBee 2mW Series 2.5 U.FL Connection   
XBee 2mW Series 2.5 Wire Antenna   
XBee Pro 50mW Series 2.5 Chip Antenna   
XBee Pro 50mW Series 2.5 RPSMA       
XBee Pro 50mW Series 2.5 U.FL Connection     
XBee Pro 50mW Series 2.5 Wire Antenna     
XBee Pro 60mW Chip Antenna       
XBee Pro 60mW U.FL Connection
XBee Pro 60mW Wire Antenna   

quais são as diferenças e qual é que é o melhor?
Título: Re:Comunicação Serial com XBee
Enviado por: jagsilva em 05 de Janeiro de 2009, 17:04
Olá
Realmente é uma boa confusão...

Pelo que pude analisar há alguns dias, em relação aos módulos que trabalham a 2.4GHz, é assim:

Em relação às antenas existem:

Em relação à rede que se pretende implementar:

Dentro dos mesh existe:

Para cada um deles existe a versão normal e a pro. A diferença é no alcance que é de cerca de 30m para os normais e 100 para os pro ou como eles costumam dizer 100 e 1500m respectivamente em campo aberto.

A utilização deles depende do que se quer fazer. Se só queres interligar dois dispositivos que estão a 10 metros de distancia o melhor é comprar a versão normal da serie 1 porque são os mais baratos... Se a distancia for superior compras a versão pro.
Se pretendes fazer uma rede mesh... já não te posso ajudar mais (ainda não li esse capitulo)

Jaime
Título: Re:Comunicação Serial com XBee
Enviado por: TigPT em 05 de Janeiro de 2009, 17:33
Muito obrigado por partilhares, também tinha algumas duvidas relativamente aos modelos mas como ainda não estou a pensar comprar, não pesquisei sobre eles.

Sei que também existe uma versão a 896Mhz (se não estou em erro) que tem alcance de 30km com antena on chip. tenho que ver se encontro mais sobre isso e depois posto!
Título: Re:Comunicação Serial com XBee
Enviado por: jagsilva em 05 de Janeiro de 2009, 17:41
Dizem ele que o pro 868Mhz com antenas de alto ganho separadas o alcance é 80km.
No entanto nao sei se podemos usalos na europa... mas esta pequena tabela ajuda

http://www.digi.com/xbee/ (http://www.digi.com/xbee/)

jaime
Título: Re:Comunicação Serial com XBee
Enviado por: delphi em 06 de Fevereiro de 2009, 20:41
Com o X-CTU consigo ver toda a configuração do XBee, alterar alguns parâmetros, mas não consigo alterar o ID do Xbee (executar o comando ATMY1234).

O que é básico e que estou a fazer mal?

Obrigado,
Delphi
Título: Re:Comunicação Serial com XBee
Enviado por: jagsilva em 06 de Fevereiro de 2009, 21:37
Olá
No xctu é só clicar em cima da linha do MY e escolher o o novo valor.
Depois é preciso clicar no botão write para gravar a configuração.
Jaime
Título: Re:Comunicação Serial com XBee
Enviado por: delphi em 30 de Junho de 2009, 09:52
Olá,

Venho apenas aqui acrescentar que caso tenham 2 arduinos, e pretendam ligar o Xbee ao PC, não é necessário nenhuma placa usb, ou qualquer coisa do género.

Para ligar o Xbee ao PC, basta retirar o chip de um dos arduinos (MAS TIREM O CHIP COM CUIDADO QUE AS PERNAS TEM UMA CERTA TENDÊNCIA PARA DOBRAREM), liguem os pins GND e 3.3v do arduino aos do XBee, e aqui também ATENÇÃO: TX com TX e RX com RX.
Basta abrirem um programa que comunique com a porta COM e já está pronto a utilizar!!!!


Penso que esta dica também serve para qualquer micro/board/... que comunique por TX/RX.

Comprei uma placa xbee usb explorer e agora preferia ter comprado outro arduino. Um arduino faz muito mais do que a board de interface :)



Título: Re:Comunicação Serial com XBee
Enviado por: delphi em 06 de Julho de 2009, 11:46
Alteração de planos:

NÃO tirem o chip do arduino para ligarem um xbee ao pc.

Basta colocar o Arduino em RESET (ligar o pin GND ao RST) e ligarem como descrito em baixo, et voilá....!
Título: Re:Comunicação Serial com XBee
Enviado por: metRo_ em 06 de Julho de 2009, 23:19
em baixo onde? :P
Título: Re: Comunicação Serial com XBee
Enviado por: ghostbuster em 20 de Janeiro de 2010, 17:32
como fizeste para o xbee mandar a informação para o outro, sem teres nenhum parametro no arduino?(o id do xbee por exemplo)
Título: Re: Comunicação Serial com XBee
Enviado por: metRo_ em 20 de Janeiro de 2010, 17:44
Não faço ideia, mas tenta pesquisar na datasheet por mensagens broadcast.
Título: Re: Comunicação Serial com XBee
Enviado por: TigPT em 21 de Janeiro de 2010, 12:57
Deve de haver uma opção chamada Broadcast. Utiliza-a pois significa enviar para um endereço em que todos estão sensíveis.
Título: Re: Comunicação Serial com XBee
Enviado por: ghostbuster em 21 de Janeiro de 2010, 14:54
ja encontrei um tutu em portugues onde dava para definir o caminho do outro xbee por comando at, so a ultima duvida, os softwares do xbee funcionam com zigbit (zigbee) da atmel? e qual é a distancia maxima dos zigbit atmel ATZB-24-A2?
Título: Re: Comunicação Serial com XBee
Enviado por: msaleiro em 21 de Janeiro de 2010, 15:07
ghostbuster, os XBees vêm configurados de fábrica para funcionar em broadcast, por isso é k não precisas de configurar nenhum ID para por dois XBees a comunicar. Contudo, se queres definir endereços tens que configurar os XBees por comandos AT ou fazer um pequeno circuito para ligar a porta série e utilizar um software da maxstream que é o X-CTU que no fundo faz o mesmo, mas com um interface gráfico. Eu uma vez pus aqui no fórum um trabalho que fiz para a cadeira de Redes de Comunicação na UAlg em que tens isso tudo explicado tanto da parte teórica, como da parte prática ( circuito pa ligar a porta série, tutorial de configuração utilizando o X-CTU, código para dois pontos de comunicação em C para 8051 ). Procura isso que ainda deve andar por aí. Se não encontrares depois mando-te se quiseres.
Título: Re: Comunicação Serial com XBee
Enviado por: DanBar em 21 de Janeiro de 2010, 15:08
Aqui tens muita informação :

http://www.rogercom.com/ZigBee/ZigBee.htm (http://www.rogercom.com/ZigBee/ZigBee.htm)
Título: Re: Comunicação Serial com XBee
Enviado por: ghostbuster em 21 de Janeiro de 2010, 15:27
Aqui tens muita informação :

http://www.rogercom.com/ZigBee/ZigBee.htm (http://www.rogercom.com/ZigBee/ZigBee.htm)

muito bem explicado, obrigado.

Quem quiser modulos zigbit e bluetooth baratos deem uma vista de olhos... http://shop.strato.de/epages/61427429.sf/de_DE/?ViewObjectID=6340256 (http://shop.strato.de/epages/61427429.sf/de_DE/?ViewObjectID=6340256)
Título: Re: Comunicação Serial com XBee
Enviado por: _ze_pedro_ em 27 de Janeiro de 2010, 13:02
tenho uma pequena grande duvida lool

eu quero comunicar 2 arduinos com o xbee

vou ter um sensor de temperatura 2 motores que vao estar num carro

depois vou ter de controlar

a minha duvida é

por os xbee a comunicar e em termos de programaçao por exemplo no xbee que envia

ter "1" do pin 3 e o arduino que recebe vai por os motores a funcionar para a frente
e o sinal do sensor como envia.lo e conseguir ler o sinal nas saidas do arduino

gostava de saber em termos de programaça uma ideia para perceber melhor como se faz essa programaçao eu tenho alguns conhecimentos de C mas nao muito

podem.me ajudar?;)

cump.
ze pedro
Título: Re: Comunicação Serial com XBee
Enviado por: naf18 em 13 de Novembro de 2010, 19:25
Alguém sabe se é possível enviar um float usando o xbee shield?
Estou a ter alguns problemas nisso!
Título: Re: Comunicação Serial com XBee
Enviado por: njgomes em 20 de Dezembro de 2010, 02:10
Alguém sabe se é possível enviar um float usando o xbee shield?
Estou a ter alguns problemas nisso!

podes enviar a arte inteira e depois a parte decimal.
eu faço isso. o xbee que recebe esta ligado a um pic que depois faz os calculos.
Título: Re: Comunicação Serial com XBee
Enviado por: njgomes em 20 de Dezembro de 2010, 02:13
boa noite.

eu comprei a uns tempos no site www.drois.it (http://www.drois.it) 2xbee pro de 2.4g cfom antena pelo preço de um em portugal. mais portes claro mas estes foram diluidos por um 990.005 e por um 990.002.
Título: Re: Comunicação Serial com XBee
Enviado por: senso em 20 de Dezembro de 2010, 13:42
Usando ponteiros e referências podes mandar um float ao "parti-lo"  em 4 bytes.
Título: Re: Comunicação Serial com XBee
Enviado por: Lideman em 08 de Agosto de 2011, 13:52
Quais foram os equipamentos utilizados? teria como colocar uma lista com os nomes? Ajudaria muito, pessoas que estam começando como eu, tem dificuldades em relação aos nomes. Isso devido a infinidade de modelos disponíveis no site do fabricante de x-bee.
abs.
Título: Re: Comunicação Serial com XBee
Enviado por: Jpensk em 28 de Setembro de 2011, 20:52
Pessoal,

Sou novo no forum e estou montando uma rede zigbee em empresa de saneamento. Quando eu tenho vários xbee's acoplados a arduinos enviando a um coordenador, os dados ficam todos truncados, pois todos mandam ao mesmo tempo. Minha rede tem 1 coordenador, 1 roteador e 4 end device.

Qual a melhor forma de realizar essa comunicação de forma ordenada e sem confusões? Alguém já fez isso no arduino IDE? Tem algum modelo de programa?

No aguardo e urgente!!!
Título: Re: Comunicação Serial com XBee
Enviado por: andre_f_carvalho em 28 de Setembro de 2011, 22:18
tens de usar endereços diferentes para cada um para saberes de onde vêm os dados
Título: Re: Comunicação Serial com XBee
Enviado por: engenhocas4you em 29 de Setembro de 2011, 02:50
O programa para fazeres as modificações é este:  X-CTU

Podes também encontrar aqui alguma info:

http://rogercom.com.br/index.htm (http://rogercom.com.br/index.htm)
Título: Re: Comunicação Serial com XBee
Enviado por: cvicente em 16 de Abril de 2012, 12:06
Caríssimos,

Há uns tempos atrás comecei a desenvolver um bilbioteca em C++ (bastante modesta para já), para o XBee DIGI API.

Embora esteja longe de estar estável e ser ainda defecitária em funcionalidades, pode no mínimo dar-vos jeito para alguma coisa, nem que seja para reaproveitarem código. No máximo, a contribuição e críticas constructivas!   ;D

Fica aqui a o link: http://code.google.com/p/zigbeelib/ (http://code.google.com/p/zigbeelib/)

Cumps,

Carlos