Adquira estes componentes na Loja do Lab de Garagem

Neste tutorial, vamos mostrar como utilizar o XBee, utilizando todos os componentes do XBee Wireless Kit Reail e o Arduino. Faremos três aplicações, em uma faremos uma demonstração como "Line Passing" entres os XBees, em outra um aplicação como "Leitura Analógica e Sensoriamento Remoto", e na última demonstração um "Link Serial" entres XBees, utilizando-se um Arduino para ligar ou desligar uma lâmpada.

 

Materiais Utilizados

1x Arduino

1x XBee Wireless Kit Retail

1x XBee Explorer

3x LEDs 5mm

3x Resistor 220Ω

3x Chave Tátil

1x LM35

1x Potenciômetros 10KΩ

2x Pilhas Lithium AA

1x Suporte Para Duas Pilhas

1x Multímetro1x Ferro de Solda

1x Módulo Relé

1x Lâmpada 110V

2x Protoboard

Alguns Jumpers

 

 

1. ZigBee IEEE 802.15.4

Os módulos XBee, são módulos RF (Rádio Frequência) que fazem comunicações no padrão ZigBee IEEE 802.15.4. O Protocolo ZigBee permite comunicações robustas e opera na freqüência ISM (Industrial, Scientific and Medical), sendo aqui no Brasil 2,4 GHz (16 canais) e em outras partes do mundo, e não requerem licença para funcionamento.

As Redes ZigBee oferecem uma excelente imunidade contra interferências, e a capacidade de hospedar milhares de dispositivos numa Rede (mais que 65.000), com taxas de transferências de dados variando entre 20Kbps a 250Kbps. O Protocolo ZigBee é destinado a aplicações industriais, portanto, o fator velocidade não é crítico numa implementação ZigBee.

Os módulos RF padrão ZigBee foram criados para economizar o máximo de energia possível. Com isso, é possível criar aplicações onde é possível ler sensores em campo remotamente, apenas utilizando pilhas ou baterias comuns, que durarão meses ou mesmo anos sem precisarem ser substituídas. Isso porque, os módulos ZigBee quando não estão transmitindo/recebendo dados, entram num estado de dormência ou em "Sleep", consumindo o mínimo de energia.

Diversas aplicações podem ser feitas utilizando o XBee:

 

Automação Comercial de Edifícios:

-Segurança

-Ventilação

-Controle de Acesso

-Controle de Iluminação

-Aquecimento

 

Eletrodomésticos:

-TV

-VCR

-DVD/CD

-Controle Remoto

 

Hospitalar:

-Monitoramento de Pacientes

-Monitoramento Corporal

 

Computadores e Periféricos:

-Periféricos Para PC

-Mouse

-Teclado

-Joystick

 

Controle Industrial:

-Controle de Processo

-Gerenciamento de Energia

-Rastreamento de Equipamentos

 

Controle Residencial e Comercial:

-Segurança

-Ventilação

-Controle de Iluminação

-Controle de Acesso

-Irrigação de Jadim

-Aquecimento

2. Especificações do XBee

Performance:
- Rendimento da Potência de saída: 1 mW (0 dBm);
- Alcance em ambientes internos/zonas urbanas: 30m;
- Alcance de RF em linha visível para ambientes externos: 100m;
- Sensibilidade do receptor: -92 dBm;
- Freqüência de operação: ISM 2.4 GHz;
- Taxa de dados de RF: 250.000 bps;
- Taxa de dados da Interface (Data Rate): 115.200 bps;
Alimentação:
- Tensão de alimentação: 2.8 à 3.4B;
- Corrente de transmissão (típico): 45 mA @ 3.3V;
- Corrente de Recepção (típico): 50 mA @ 3.3V;
- Corrente de Power-down Sleep: <10 µA;
Propriedades Físicas:
- Dimensões: (2.438cm x 2.761cm);
- Peso: 0.10 oz (3g);
- Temperatura de operação: -40 to 85º C (industrial);
- Opções de antena: Conector U.FL RF, Chip ou Chicote (whip);
Rede:
- Topologia de Rede: Peer-to-peer(Par-a-par), ponto-a-ponto, ponto-a-multiponto e malha;
- Manipulação de erro: Retransmite novamente (Retries) & reconhecimento (acknowledgements);
- Endereçamento: 65.000 endereços de rede disponíveis para cada canal;
- Opções de filtros: PAN ID, canais e endereços;
- Criptografia: 128-bit AES;
- Número de canais selecionáveis via software: 16 canais de seqüência direta;
Geral:
- Faixa de freqüência: 2.4000 - 2.4835 GHz;

 

Para informações mais específicas sobre o XBee, consulte o Datasheet ou o Manual.

3. Como Configurar o XBee 

Para configurar o XBee, faça as conexões necessária utilizando-se um cabo Cabo USB (Tipo A para Mini B) e utilize o software X-CTU, disponível neste link. O X-CTU é um software criado pelo própio fabricante do XBee para enviar comandos de configuração, fazer atualizações e outra diversas ferramentas para você configurar seu XBee.

3.1) Conexões Para As Configurações

Conecte o XBEE no XBEE Explorer USB para configurá-lo, conforme a figura abaixo:

 Imagem 1 - Conexões para as configurações

Conecte o XBEE Explorer USB no seu computador e instale o driver FTDI. Este driver pode ser encontrado dentro da pasta "drivers", localizado dentro da pasta da IDE do Arduino. Utilizando um programa de comunicação serial como o X-CTU, você pode acessá-lo para configurá-lo via modo de comando.

3.2) Modo de Comando

 

Para se configurar o XBee, utilizaremos linhas de comando enviados pelo Terminal do própio X-CTU, existem diversos comandos, a relação de todos você encontrar no Datasheet ou no Manual do XBee. Para entrar em modo de comando digite no Terminal do X-CTU "+++", sem pressionar <Enter>, seu XBee deverá responder OK, para cada comando após entrar em modo de comando você deverá pressionar <Enter>.

 

Exemplo:

 

Imagem 2 - Terminal do X-CTU 

 

No exemplo, entro em modo de comando digitando "+++" e NÃO clique <Enter>, e o XBee responde OK. Digito cada comando com o parâmetro desejado e depois clico em <Enter>:

 

ATID 10 <Enter>: Configuração da Rede (Rede 10).

ATWR <Enter>: Grava os comandos com os parâmetros desejados no XBee.

ATCN <Enter>: Sai do modo de comando.

 

Repare que em todos os comandos, digitando-os corretamente e colocando uma parâmetro aceitável o XBee responde OK. Em todas as configurações do XBee, é ideal você utilizar os comando ATWR e ATCN, para que o XBee guarde as configurações.

3.3) Demonstrações

 

Nas demonstrações de aplicação(Passos 4, 5 e 6), utilizaremos alguns comandos com certos parâmetros para cada aplicação feita neste tutorial. Para ter acesso a todos os comandos disponíveis, com a descrição de cada um deles, consulte o Datasheet ou o Manual do XBee.

4. Line Passing

O Line Passing simplesmente reflete o estado de uma porta de entrada do XBee local à porta de saída do XBee remoto. Por exemplo, se colocarmos o estado lógico de uma Entrada Digital do transmissor em nível "1", a mesma Entrada Digital do receptor irá copiar o nível lógico "1".

 

4.1) As Configurações dos XBees

Tabela 1 - Configurações como Line Passing

4.2) As Ligações

Figura 2 - Ligações como Line Passing

5. Leitura Analógica/Sensoriamento Remoto

Nesta aplicação você poder ler valores analógicos em um XBee transmissor, e enviar a um XBee receptor, por exemplo, você pode fazer sensoriamento remoto ou controlar servomotores, lembrando que cada XBee possui duas saídas PWM. Como demonstração, utilizaremos um LM35 para ler a temperatura e transmitir o valor em mV de um XBee a outro, e também controlaremos o a intensidade de brilho de um LED ligado a um XBee, por meio de um potenciômetro ligado a outro.

5.1) As Configurações dos XBees

Tabela 2 - Configurações como Transmissão Analógica

5.2) As Ligações

- 5.2.1) Receptor (XBee + XBee Explorer + Resistência 220Ω + LED 5mm)

Figura 3 - Ligações do receptor analógico

- 5.2.2) Transmissor (XBee + XBee Explorer + LM35 +  Resistência 10kΩ + Potenciômetro 10kΩ)

Figura 4 - Ligações do transmissor Analógico

6. Link Serial

Essa aplicação permite que você escreva na serial do transmissor, e os mesmos caracteres sejam escritos na serial do receptor, por exemplo, se na serial do transmissor eu escrever "Laboratório de Garagem", na serial do receptor vai ser escrito também "Laboratório de Garagem". Como uma demonstração, faremos que quando na serial do transmissor for escrito os caracteres "L" ou "D" (Liga/Desliga), o receptor receba esses caracteres, passe eles para o Arduino que fará o acionamento ou não de uma lâmpada com um auxílio de um módulo relé, ou seja, se o receptor receber "L", o Arduino ligará a lâmpada, se o receptor receber "D", o Arduino desligará a lâmpada.

6.1) As Ligações

- 6.1.1) Receptor (XBee + XBee Shield + Arduino)

Faça a montagem conforme a figura abaixo, conecte o cabo USB do Arduino ao seu computador, e identifique qual porta COM seu computador vai reconhecer o Receptor.

Imagem 3 - Montagem: XBee + XBee Shield + Arduino

Faça as ligações do módulo relé, utilizando os 5V e o GND do Arduino e pino IN, conecte ao pino digital D8.

- 6.1.2) Transmissor (XBee + XBee Explorer)

Conecter o XBee no XBee Explorer, conecte o cabo USB do XBee Explorer no seu computador, e identifique qual porta COM seu computador vai reconhecer o Transmissor.

Imagem 4 - Montagem: XBee + XBee Explorer

6.2) As Configurações dos XBees

Tabela 3 - Configurações como Link Serial

6.3) O Sketch


#define lamp 8
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
char lido;
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
pinMode(lamp,OUTPUT);
Serial.println("Este eh o Receptor");
Serial.println("Digite na Serial do Transmissor");
}
void loop()
{
if (mySerial.available())
{
  lido = mySerial.read();
  if(lido == 'l' || lido == 'L')
  {
   digitalWrite(lamp,HIGH);
   Serial.print("Lampada Acesa");
  }
  if(lido == 'd' || lido == 'D')
  {
   digitalWrite(lamp,LOW);
   Serial.print("Lampada Apagada");
  }
}
}

 

É isso ai Garagistas! Esperamos que tenham gostado deste Tutotial, até a próxima! 

 

Referências

https://sites.google.com/site/toucatronic/zigbee/comandos-at

https://www.sparkfun.com/datasheets/Wireless/Zigbee/XBee-Datasheet.pdf

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

 

 

Exibições: 64784

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Daniel Floriani da Silva em 18 março 2014 às 15:48

preciso identificar de qual nodo escravo (xbee que envia mensagens) mandou um pacote de dados para o nodo mestre (xbee receptor). alguém sabe como fazer? parece que em cada pacote enviado já tem o endereço incluso, só resta obtê-lo..

Obrigado desde já!

Comentário de Danilo Dene em 10 março 2014 às 9:31

No exemplo do link Serial, foi utilizado 2 xbee, consigo utilizar 5 xbee usando esse mesmo método?

Obrigado

Comentário de Eliezer da Silva Letao Junior em 15 fevereiro 2014 às 3:23

Não tenho o USB do XBee Explorer, posso configurar os XBee usando o Shield XBee + Arduino?

Comentário de Rafael Carra Costa em 29 janeiro 2014 às 21:50

olá,

     Os meus Xbees não aceitam o atmy, eu acredito que por isso não esteja conseguindo a comunicação entre os dois. Meus xbees são classe 2.

Quem puder me ajudar eu agradeço.

Obrigado

Comentário de Tiago Colombi da Silva em 28 novembro 2013 às 14:56

Quero colocar um arduino se comunicando com o outro via xbee para quando eu atuar na entrada digital do arduino emissor uma saida digital correspondente atue no receptor, quero fazer isso a uma distancia de 1 km, alguem pode me indicar o material que preciso e como fazer???

Comentário de Paulo Rochel em 9 novembro 2013 às 20:33

Boa Noite pessoal,

Estive tentando Seguir os passos do tutorial para o Link Serial. no entanto quando eu coloco o Arduino mega, já com o Shield e o módulo XBEE na USB no PC e na outra USB o XBEE explorer com outro módulo, o X-CTU não reconhece duas Portas Seriais. Ele reconhece uma na COM 7 (para o meu caso é a que esta conectada o XBEE explorer com o módulo) e na outra ele Aparece o Arduino Mega, sem reconhecer o XBEE Shield.

Alguem poderia me ajudar? Por favor

Comentário de RENAN SIQUEIRA LUCAS QUEIROZ em 21 outubro 2013 às 17:46

Olá amigo, poderia me ajudar, tenho 2 xbee serie 2, 2 arduinos. gostaria de usar um arduino controlando outro em wireless,  eu consegui configura os xbee um se comunica com o outro, não acho configurações para coloca no arduino e como configura.

 poderia me ajudar???

att. Renan

Comentário de Amauri Silva Leal em 26 setembro 2013 às 3:17

Olá amigo, gostaria de saber como ficou a configuração dos Xbees? Um coordenador e um router? e o Modo de comunicação, é api?

Comentário de Carlos Carvalho em 23 setembro 2013 às 0:14

E pra ler os dados? que software ou API utiliza?

Comentário de Renan Medeiros em 19 agosto 2013 às 9:47

Estou tentando fazer um projeto para enviar um texto e esse texto ser mostrado num display. Gostaria de fazer via wi-fi. É possível? Como?

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço