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 Multímetro1x Ferro de Solda
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
Comentar
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 ?
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
Como eu posso configurar o xbee como repetidor do line passing?
Alguém aí pode me ajudar?
Da pra fazer sem o xbee explorer?
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...
Gostaria de saber como que faz essas configurações do xbee
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.
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?
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?
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).
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
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)