- Requisitos de Hardware
- Configurando Módulos XBee usando XCTU
- Programando e testando a comunicação XBee usando Arduino
Em tutoriais anteriores, aprendemos sobre o protocolo ZigBee e sua arquitetura, e também aprendemos sobre a comunicação sem fio entre dois módulos Xbee. Agora, neste tutorial, faremos a interface do módulo XBee com a placa Arduino Uno. O XBee conectado com a placa Arduino atuará como um receptor e se comunicará sem fio com outro módulo XBee que está conectado em série ao laptop usando uma placa Explorer. Então, vamos explorar mais a comunicação sem fio do Arduino usando o XBee.
Requisitos de Hardware
- 1 x Arduino Uno
- 2 x módulos XBee Pro S2C (qualquer outro modelo pode ser usado)
- 1 x placa do explorador Xbee (opcional)
- 1 x placa Breakout Xbee (opcional)
- Cabos USB
- LEDs
Configurando Módulos XBee usando XCTU
Como aprendemos em tutoriais anteriores, o módulo XBee pode atuar como um coordenador, roteador ou um dispositivo final, mas precisa ser configurado para funcionar no modo desejado. Portanto, antes de usar os módulos XBee com Arduino, temos que configurar esses módulos usando o software XCTU.
Para conectar o módulo XBee ao laptop, é usado um conversor USB para serial ou uma placa exploradora especificamente projetada. Basta conectar o módulo XBee à placa Explorer e conectá-lo ao laptop usando o cabo USB.
Se você não tiver nenhum conversor ou placa explorer, uma placa Arduino pode ser usada como um dispositivo USB para serial que pode se comunicar facilmente com o XBee e o laptop. Basta fazer o upload do esboço em branco na placa Arduino e agora ele pode se comportar como um conversor USB para serial.
As conexões para fazer a interface do módulo ZigBee com o Arduino são mostradas no diagrama de circuito.
Conexões:
- Tx (pin2) de XBee -> Tx da placa Arduino
- Rx (pin3) do Xbee -> Rx da placa Arduino
- Gnd (pino 10) do Xbee -> GND da placa Arduino
- Vcc (Pin1) do Xbee -> 3.3v da placa Arduino
Aqui neste tutorial, uma placa Explorer é usada para configurar os módulos XBee.
Baixe o software XCTU deste link e instale-o. Depois de baixar e instalar o software XCTU, abra-o e verifique se o módulo XBee está conectado corretamente. Verifique a porta COM da placa Arduino no gerenciador de dispositivos.
Passo 1: - Agora, clique no botão de pesquisa. Isso mostrará todos os dispositivos RF conectados ao seu laptop. No nosso caso, ele mostrará apenas um módulo XBee.
Passo 2: - Selecione a porta serial da placa Explorer / placa Arduino e clique em Next.
Etapa 3: - Na próxima janela, defina os parâmetros da porta USB conforme mostrado abaixo e clique em Concluir.
Passo 4: - Selecione o dispositivo descoberto e clique em Adicionar dispositivo selecionado . Este processo adicionará seu módulo XBee ao painel XCTU.
Etapa 5: - Agora, você pode configurar seu módulo XBee nesta janela. Use os comandos AT ou coloque os dados manualmente. Como você pode ver, há um R no painel esquerdo, o que significa que o Xbee está no modo roteador. Temos que torná-lo Coordenador da parte transmissora.
Primeiro, atualize o Firmware clicando em Atualizar firmware.
Passo 6: - Escolha a família de produtos do seu dispositivo que está disponível na parte traseira do módulo XBee. Selecione o conjunto de funções e a versão do firmware conforme destacado abaixo e clique em Atualizar.
Passo 7: - Agora, você deve fornecer dados ID, MY e DL para fazer a conexão com outro XBee. O ID permanece o mesmo para ambos os módulos. Apenas o intercâmbio de dados MY e DL, ou seja, MY para o receptor XBee torna-se DL do transmissor XBee (coordenador) e DL para o receptor XBee torna-se MY do transmissor XBee. Faça CE como Coordenador e, em seguida, clique no botão Escrever. Como mostrado abaixo.
ATDL |
EM MINHA |
||
Coordenador XBee 1 |
|||
Dispositivo final XBee 2 |
Etapa 8: - Depois de gravar os dados acima na parte do transmissor, desconecte-o da placa do explorer e conecte-o no segundo módulo XBee. Repita o mesmo processo acima, apenas as alterações são DL, MY e CE. Como faremos o segundo XBee como dispositivo final, no menu suspenso CE, selecione o dispositivo final e aperte o botão Write.
Etapa 9: - Agora, nossos módulos XBee estão prontos para fazer a interface com a placa Arduino. Vamos conectar o transmissor XBee ao laptop e o receptor XBee com a placa Arduino. Em seguida, dê comandos à parte receptora usando o laptop.
Diagrama de circuito para parte do receptor:
Conexões:
- Tx (pin2) de XBee -> Rx da placa Arduino
- Rx (pin3) de Xbee -> Tx da placa Arduino
- Gnd (pino 10) do Xbee -> GND da placa Arduino
- Vcc (Pin1) do Xbee -> 3.3v da placa Arduino
Se você estiver usando a placa Arduino para conectar o transmissor ZigBee ao laptop, as conexões serão as mesmas da programação do ZigBee.
Programando e testando a comunicação XBee usando Arduino
Agora, vamos escrever um código para o receptor Arduino ligar o LED sempre que a parte do receptor receber 'a', e piscar o LED sempre que receber 'b', para os outros caracteres o LED permanecerá apagado.
O código é simples e de fácil compreensão. Iremos apenas verificar os caracteres de entrada usando a função Serial.available () e armazenar esse caractere em uma variável usando Serial.read (); função e combiná-la com 'a' e 'b'. Se a correspondência estiver correta, execute a tarefa especificada na condição. O código completo para a parte do receptor é fornecido no final. Faça o upload do código na parte Receiver Arduino. Remova os fios Tx e Rx do XBee antes de fazer o upload.
Agora, estamos prontos para testar nosso transmissor e receptor. Para dar o comando à parte do transmissor, usaremos o terminal do console do XCTU. Clique no ícone do console próximo à opção de configurações. Em seguida, clique no botão Abrir para conectar o XBee ao laptop.
Digite 'a' no log do console. Você verá que o LED acenderá por 2 segundos e depois digite 'b' para fazer o led piscar 5 vezes.
Você também pode conectar o transmissor XBee à placa Arduino, basta alterar um pouco o código do receptor. No lugar da função Serial.read (), use a função Serial.println () para enviar os caracteres.
Verifique o vídeo de demonstração fornecido abaixo.
Esta configuração XBee-Arduino pode ser usada para fazer muitos aplicativos sem fio úteis, como sistema de automação residencial, sala de bate-papo etc.