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: 64778

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 Roberto S. Santos em 25 julho 2016 às 20:53

Boa noite.

Gostaria de saber se tem como fazer o Xbee transmissor usando uma bateria e o recebtor conectado ao meu pc.
O transmissor enviaria uma série ID e o recptor receberia na tela, assim eu poderia identificar qual o transmissor que esta ativo naquele momento ?
Teria como fazer isto ?

Comentário de diego fraga em 7 abril 2016 às 20:01

Tenho uma dúvida.

É possível fazer a comunicação sem fio entre duas placas arduinos utilizando xbee de forma que a informação a ser enviada de um para o outro é o status dos pinos configurados como entradas nos arduinos? Nos exemplos que vi até agora sempre é enviado uma informação digitada no monitor serial, mas não é nisso que estou interessado. meu objetivo é enviar o status de todas as entradas de um arduino (0 ou 1) para o outro, e deste para o primeiro. Havia pensado em criar uma variável que conteria as informações das entradas e enviar o valor contido nessa variável para o outro arduino e fazer o mesmo no outro. Alguém ja fez algo do tipo? tem como? ajudem :D

Comentário de Rogério Neves Galvão em 25 agosto 2015 às 18:36

Como eu posso configurar o xbee como repetidor do line passing?
Alguém aí pode me ajudar?

Comentário de Alex Marracini em 3 fevereiro 2015 às 0:40

Da pra fazer sem o xbee explorer?

Comentário de Leandro Zilli em 15 setembro 2014 às 12:22

Olá, tenho 2 Xbee pro s2 que já se comunicam via serial, até fiz um programa que acende ou apaga um led enviando um caractere qualquer... estou tentando programar para utilizar as portas pwm... enfim, ambos Xbee's não aceitam os comandos ATMY, ATIR, ATIT, ATUI, ATIA, não tenho o retorno de OK... agradeço qualquer ajuda...

Comentário de Augusto César em 3 julho 2014 às 23:18

Gostaria de saber como que faz essas configurações do xbee

Comentário de Davi Stanford em 12 junho 2014 às 12:42

tem que ter um arduino no receptor nesse exemplo da lampada , pois minha intenção e sem fios adicionais nos interruptores da casa ! e se eu precisar puxar fiação pra todos os quartos perde o sentido de usar o Xbee.

Comentário de Davi Stanford em 12 junho 2014 às 1:31

Minha intenção e colocar um Arduino com 1 Xbee emissor como se fosse em uma caixa central para ele receber dados via celular e enviar para outros Xbee receptores ao redor da casa , isso e possível?

Comentário de Fabiano Molina Morassutti em 8 abril 2014 às 10:36

Bom dia!

Uma dúvida. Neste exemplo do arduino vc usou uma lâmpada, dois comandos liga/desliga. Eu consigo por mais comandos? 4 acionamentos de motores (frente, ré, esquerda e direita) com uma shiled super motor driver pra fazer os dois sentidos, dois servo motores fazendo horário e anti horário (mais 4 comandos). Serão 4 pinos motores e 4 pinos botões, 2 pinos para servos e mais 4 pinos para botões. Eu preciso de 14 pinos, poderia seguir a mesma linha #define motor1 8, #define motor2a 11 e assim por diante até obter todos os comandos que preciso e depois adicionar uma letra para cada execução?

Comentário de torbem de barbi cazelli em 4 abril 2014 às 14:13

Preciso de ajuda para configurar xbee , para que eu possa enviar uma variavel para o xbee-a e no xbee-b seja reproduzido como um valor analogico (pwm).

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço