Olá garagistas no tutorial de hoje irei demonstrar como utilizar o Mini XBee Shield como XBee Explorer para configurações , e como comunicar o Garagino com o Arduíno UNO através do XBee Shield. Lembrando que estamos utilizando os XBee series 1.
Materiais Utilizados
1x Arduino
1x XBee Shield
3x LEDs 5mm
3x Chave Tátil
1x Kit Garagino Rev 1 Básico (1x Garagino Rev 1 + 1x Módulo Conversor USB/Serial)
1x Cabo USB Mini-B - 1,80 metros
1. Mini XBee Shield
Figura 1- Mini XBee Shield
O Mini XBee Shield simplifica a interface do XBee com o Garagino. Com este shield você pode enviar comandos diretamente para o seu módulo XBee(Como um Xbee explore por exemplo),além disso, a barra de 6 pinos disponível na placa serve para você conectar o módulo Conversor USB/Serial e enviar comandos diretamente para seu XBee, sem a necessidade de ter um Garagino.
Os pinos de comunicação serial do XBee (D-IN e D-OUT) estão ligados diretamente a barra de 6 pinos, Através de jumpers (RX e TX) podemos selecionar o modo de interface do Garagino com o XBee, via Hardware Serial (Hard - D0 e D1) ou via Software Serial (Soft - D2 e D3) A alimentação é retirada do pino de VCC do Garagino e regulada na placa para 3.3V antes de ser fornecida ao XBee.
Para informações mais específicas sobre o XBee, consulte o Datasheet ou o Manual.
2. 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óprio fabricando do XBee para enviar comandos de configuração, fazer atualizações e outra diversas ferramentas para você configurar seu XBee.
2.1) Conexões Para As Configurações
Conecte o XBEE e o conversor serial no Mini XBee Shield, conforme a figura abaixo:
Figura 2 - Mini Xbee Shield MODO XBee Explorer
Nessa configuração não tem a necessidade de se usar o Garagino, Após conectar o cabo USB no seu PC abra o X-CTU.
2.2.1) Identificação
Figura 3- Identificando o XBee
A porta COM sera identificada logo no inicio, clique em Test / Query para verificar se o XBee esta funcionado corretamente, ira aparecer o Serial Number na tela e um "OK".
2.2.2) Lendo o dispositivo
Figura 5- Lendo o dispositivo
Na figura acima iremos fazer a leitura dos dados do XBee, automaticamente ele ira reconhecer o modelo.
2.2.3) Reset de fabrica
Iremos configura lo de fabrica.
Figura 6- Zerando de fábrica o dispositivo
2.2.4) Configuração do transmissor
Figura 7- Comandos do de configuração modo transmissor
Conforma a tabela acima iremos configurar o XBee como transmissor, abaixo é realizado a configuração do endereço de rede como exemplo, o mesmo é realizado para os demais.
Figura 8- Inserindo comandos
Após setar todas as configurações da tabela referente ao transmissor sera feito o upload para o XBee.
Figura 9 - Realizando upload
Para configurar o receptor é o mesmo processo apenas mudando o XBee e os comandos, agora referente a tabela abaixo:.
Figura 7- Comandos do de configuração modo receptor
3. Link Serial e Pressionamento de tecla
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 for pressionada alguma tecla ou ou for digitado na serial do transmissor os caracteres "L" ou "D" (Liga/Desliga) , ele enviara esses caracteres "L" ou "D" para o receptor. Que ira interpreta lo e fará o acionamento de 2 LEDs, ou seja, se o receptor receber "L", o LED vermelho ira acender e o LED verde apagar, se o receptor receber "D", o LED verde ira acender e o LED vermelho apagar. Lembrando que essa é uma programação simples para fins didáticos, pode ser implementados varias outras informações facilmente.
3.1) As Ligações
3.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.
3.1.2) Transmissor (XBee + Mini XBee Shield + Garagino)
Conecte o XBee e o Garagino no Mini XBee Shield, conecte o cabo USB no seu computador, e identifique qual porta COM seu computador vai reconhecer o Transmissor.
4. Sketch Transmissor
#include <SoftwareSerial.h> //Biblioteca Serial
SoftwareSerial XBeeSerial(2, 3); // RX, TX
#define IN0 8//Define botão 1
#define IN1 7//Define botão 2
void setup()
{
Serial.begin(9600);//Inicia Serial
XBeeSerial.begin(9600);//Inicia a Serial via software
pinMode(8, INPUT_PULLUP);// Configura o pino 4 como entrada
pinMode(7, INPUT_PULLUP);// Configura o pino 5 como entrada
}
void loop()
{
//Escreve o que foi escrito na serial monitor para o XBee
if (Serial.available()){
XBeeSerial.write(Serial.read());
}
//Envia os dados atraves do XBee
if (XBeeSerial.available()){
Serial.write(XBeeSerial.read());
}
//Leitura dos botões
delay(100);
if(digitalRead(IN0)==0){//Compara se o msm esta ativo
XBeeSerial.write('l');//Envia um caracter
}
if(digitalRead(IN1)==0){//Compara se o msm esta ativo
XBeeSerial.write('d');//Envia um caracter
}
}
5. Sketch Receptor
#define ledVM 7//Saida LED vermelho
#define ledV 8//LED verde
#include <SoftwareSerial.h>//Biblioteca serial
SoftwareSerial mySerial(2, 3);//Configura uma serial via software
char lido;//Recebe caracter enviados pela Serial
void setup()
{
Serial.begin(9600);//Inicia a serial
mySerial.begin(9600);//Inicia a Serial via software
pinMode(ledVM,OUTPUT);//Define como pino de saida
pinMode(ledV,OUTPUT);//Define como pino de saida
Serial.println("Este eh o Receptor");//Envia algumas informações a Serial antes de iniciar
Serial.println("Digite na Serial do Transmissor");
Serial.println("Ou pressione algum botao no transmissor");
}
void loop()
{
if (mySerial.available())//Confere se recebeu alguma informação
{
lido = mySerial.read();//Compara se for o valor definido
if(lido == 'l' || lido == 'L')//Tanto maiusculo como minusculo
{
digitalWrite(ledVM,HIGH);//Ativa LED vermelho
digitalWrite(ledV,LOW);//Desativa LED verde
Serial.println("LED Aceso");//Printa a informação usando LED vermelho como referencia
}
else if(lido == 'd' || lido == 'D')//Tanto maiusculo como minusculo
{
digitalWrite(ledV,HIGH);//Ativa LED verde
digitalWrite(ledVM,LOW);//Desativa LED vermelho
Serial.println("LED Apagado");//Printa a informação usando LED vermelho como referencia
}
Serial.println(lido);//Printa a informação recebida independente do que mandar
Serial.println();//Pula uma linha
}
}
Referências:
http://labdegaragem.com/profiles/blogs/tutorial-como-utilizar-o-xbee
https://sites.google.com/site/toucatronic/zigbee/comandos-at
https://www.sparkfun.com/datasheets/Wireless/Zigbee/XBee-Datasheet.pdf
Comentar
posso usar outro arduino UNO no lugar do mini xbee shield ?
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)