Comunicação sem Fio Arduino – Transferindo dados com Transmissor + Receptor RF 433Mhz

Quando queremos desenvolver um projeto de comunicação sem fio sempre encontramos problemas quando o assunto é instalação e implementação dos mesmos, ou até mesmo tem vezes que desejamos realizar...

Quando queremos desenvolver um projeto de comunicação sem fio sempre encontramos problemas quando o assunto é instalação e implementação dos mesmos, ou até mesmo tem vezes que desejamos realizar um simples projeto de acionamento para portas e portões através de sistemas que possibilitam o acionamento à distância.

Para estes processos citados, a maioria encontramos resistências na hora de desenvolver os mesmos devido à falta de equipamentos capazes de executar tais características e os disponíveis para venda são de custo elevado ou de alta complexibilidade para a implementação em seus projetos.

Pensando nesta dificuldade que muitos encontram durante o desenvolvimento de seus projetos, trouxemos uma opção barata e de fácil implementação que trabalha com sistemas de comunicação de rádio frequência, utilizando-se de um módulo transmissor e outro receptor que permitem a comunicação entre dois pontos distintos.

Existem diversos meios de realizar comunicações sem fio utilizando-se de um Arduino para os seus projetos, é o caso do Bluetooth e do Ethernet Shield, por exemplo, utilizados para verificar a situação de sensores e enviar dados e comandos de um equipamento para outro, cada qual com suas limitações de uso.

Classificado como uma opção barata e que realiza a comunicação direta de dados entre dois diferentes Arduinos, o Kit de Módulo Transmissor e Módulo Receptor RF de 433Mhz é extremamente funcional e de fácil aplicação podendo ter sua capacidade de alcance ampliada com a utilização de antenas externas.

 

Módulo de Radiofrequência Transmissor + Receptor 433Mhz

O sistema de comunicação por radiofrequência é classificado como um sistema de comunicação sem fio que possui como base a utilização de ondas eletromagnéticas em uma faixa de frequência estabelecida de acordo com o equipamento, neste nosso caso, 433Mhz.

Muito utilizada nos mais diversificados equipamentos a rádio frequência está presente em radares, telefones, sistemas de alarme, satélites, dentre outros, o que nos possibilitará em nosso projeto de hoje trocar dados entre dois Arduinos e auxiliar-nos no acionamento de portas digitais.

Existem dois modelos principais de módulos de rádio frequência para distribuição no mercado hoje, sua diferença está principalmente no preço e na distância que cada um possui para realizar a comunicação entre seus semelhantes, optamos por apresentar neste artigo o Kit RF com Chip Super Heteródino, uma tecnologia exclusiva que aumenta ainda mais a capacidade de comunicação do mesmo.

Diferente dos outros modelos de receptores RF, o Receptor RF em questão como dito anteriormente, possui um exclusivo chip super heteródino que se encontra na parte superior do módulo junto de um cristal oscilador que em conjunto com o chip é capaz de uma recepções de alta potência e continuidade elevada, sem interrupções e sem problemas na troca de sinal.

O Kit Módulo RF é constituído de dois módulos que juntos conseguem executar o envio de dados e sinais, um é o transmissor, responsável por enviar os dados e outro é o receptor, responsável por receber os dados e executar os comandos junto ao microcontrolador que está utilizando ou projeto o qual está implementado.

 

APLICAÇÃO E FUNCIONAMENTO

O referente projeto será desenvolvido utilizando-se dois Arduinos conectados junto ao transmissor e o receptor de radio frequência para assim, realizar uma comunicação sem fio entre o Arduino Nano e o Arduino UNO.

Utilizando-se da porta serial iremos enviar dados do Arduino UNO para o Arduino Nano, neste exemplo utilizaremos somente valores numéricos para indicar a ação de liga e deliga de um LED instalado junto à porta 13 do Arduino correspondente ao receptor de rádio frequência.

A comunicação sem fio Arduino neste exemplo irá se desenvolver de forma rápida e simples, podendo ser acompanhada através da porta COM (Monitor Serial) correspondente de ambos os equipamentos em comunicação, veja um exemplo de funcionamento no vídeo abaixo:

[VÍDEO DEMONSTRATIVO EM BREVE]

 

PRODUTOS UTILIZADOS PARA O PROJETO:

 

MONTAGEM FÍSICA (HARDWARE)

A montagem física é simples e rápida, bastando conectar os respectivos pinos junto às respectivas portas do Arduino, com uma alimentação de 5V para de ambos os equipamentos de comunicação, garantimos maior praticidade e agilidade para a sua montagem física, observe abaixo a montagem física de ambos os produtos, Transmissor e Receptor RF de 433MHz:

 

TRANSMISSOR RF

Através da imagem abaixo, podemos observar o esquema de ligação do transmissor de rádio frequência é de fácil desenvolvimento, bastando conectar os pinos do módulo em seus respectivos pinos junto ao Arduino, pode ser feito com ligação direta de jumper ou até mesmo junto de protoboard, por exemplo.

Neste projeto não utilizamos antena devido ao alcance natural do equipamento ser suficiente para os nossos testes, mas caso necessário seja, basta incluir a antena que é encaminhada junto ao produto no local indicado anteriormente.

Para auxiliar no desenvolvimento do seu projeto, disponibilizamos abaixo as especificações do Transmissor RF, observe:

  • Modelo: SRX882;
  • Temperatura de operação: -30 a 85°C;
  • Tensão de operação: 2,4 a 5,5V;
  • Corrente de operação: 2,8mA;
  • Frequência de transmissão: 433MHz;
  • Dimensões (CxLxA): 36x11x8mm;
  • Peso do transmissor: 1,5g;
  • Peso do transmissor com antena: 2,9g.

Por trabalhar com uma faixa de tensão de 2,4 a 5,5V, com um baixo consumo de corrente e pequenas dimensões, este produto é extremamente indicado para os mais diversificados projetos, além de trabalhar com uma frequência padrão para projetos que é de 433MHz, o que torna o mesmo compatível com outros módulos de mesma frequência.

 

RECEPTOR RF

A montagem física desta parte do projeto por sua vez, diferencia-se da anterior devido ao fato de utilizar-se de uma protoboard para a instalação do Arduino Nano e consequentemente a instalação dos demais itens utilizados no projeto, como o LED e o Receptor de Rádio Frequência.

Para auxiliar no desenvolvimento do seu projeto, disponibilizamos abaixo as especificações do Transmissor RF, observe:

  • Modelo: SRX882;
  • Temperatura de operação: -20 a 70°C;
  • Tensão de operação: 1,2 a 6V;
  • Corrente de operação: 2,8mA;
  • Frequência de recepção: 433MHz;
  • Sensibilidade: -110dB;
  • Dimensões (CxLxA): 13x15x7mm;
  • Peso do receptor: 1,1g;
  • Peso do receptor com antena: 2,7.

Mesmo que com uma faixa de tensão acessível de 1,2 a 6V para a alimentação do produto, o recomendado é uma tensão próxima de 5V, ou de 3,3V dependendo do modelo de Arduino o qual está sendo utilizado.

 

FUNCIONAMENTO DO PROGRAMA (SOFTWARE)

Desenvolvido de uma forma prática e simples com o intuito de estabelecer uma comunicação sem Arduino, o referente projeto é dividido em dois códigos, um código para o Transmissor conectado junto ao Arduino NO e outro código para o Receptor, instalado junto ao Arduino Nano.

Cada qual com suas variáveis específicas para o envio e o recebimento de dados, ambos os códigos são de fácil compreensão e podem ser alterados e melhorados facilmente de acordo com a necessidade do hobbista / projetista que estiver fazendo uso do mesmo.

Vamos verificar agora o funcionamento de cada um dos códigos, vale lembrar que para este projeto é necessária a utilização da biblioteca VirtualWire, comumente encontrada junto a pasta libraries do Arduino, caso contrário segue link abaixo:

Download da Biblioteca VirtualWire: DOWNLOAD AQUI.

 

TRANSMISSOR RF

Neste primeiro código iremos configurar nosso Arduino para realizar o envio de dados através do Monitor Serial do Arduino, então após carregar o código abaixo junto ao Arduino será possível realizar o envio de dados para o outro equipamento Arduino conectado junto ao Receptor e devidamente configurado.

Veja abaixo o código de funcionamento do Transmissor RF com suas variáveis comentadas para a melhor compreensão do mesmo:

// Código de funcionamento Transmissor RF
// Projeto de comunicação sem fio Arduino

#include <VirtualWire.h> // Inclui biblioteca necessária para comunicação

void setup() {
Serial.begin(9600);      // Configura a comunicação serial em 9600

vw_set_tx_pin(12)        // Configura o pino Digital utilizado pelo Módulo
vw_setup(2000);          // Bits per segundo

Serial.println("Digite o texto que deseja Enviar ..."); //Imprime na Porta Serial
}

void loop() {
char data[40];
int numero;

if (Serial.available() > 0)  {
numero = Serial.readBytesUntil (13, data, 40);
data[numero] = 0;
Serial.print("Enviado : ");    // Imprime na porta serial a mensagem em destaque
Serial.println(data);          // Imprime o valor enviado

send(data);                    // Envia o valor para o receptor
}
}

void send (char *message) {
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx();                  // Aguarda o envio de dados
}

Após carregar o código em seu equipamento Arduino e abrir a Porta Serial que corresponde ao Arduino UNO, no caso do nosso projeto, você receberá a seguinte mensagem de confirmação para o envio de dados: “Digite o texto que deseja Enviar …”, veja:

Caso a mensagem não apareça ou alguns dados estranhos apareçam junto à tela, verifique se a comunicação está configurada em 9600, na parte inferior direita da tela em questão.

Após esta confirmação o seu Arduino já está pronto para enviar mensagens e estabelecer a comunicação sem fio Arduino, para cada mensagem enviada será impresso antes o texto “Enviado : “, o que confirma que o texto foi enviado para o Receptor, veja:

Com isto temos como terminada a configuração do Transmissor RF e agora basta configurar o Receptor RF para podermos realizar a comunicação entre os dis equipamentos Arduino.

 

RECEPTOR RF

Agora temos como pronta a configuração do Transmissor precisamos configurar o receptor, nesta fase iremos utilizar as variáveis necessárias para a interpretação dos valores recebidos e configurar funções para os valores recebidos pelo mesmo para, por exemplo acionar um LED posicionado junto ao pino Digital 13.

Através do código abaixo iremos receber o dado do transmissor, identificar, e atribuir as funções HIGH e LOW para controlar o estado de um LED, para este código precisaremos da mesma biblioteca utilizada anteriormente, caso já tenha esta biblioteca na pasta libraries podemos continuar para os próximos passos.

// Código de funcionamento Receptor RF
// Projeto de comunicação sem fio Arduino

#include <VirtualWire.h>          // Inclui biblioteca necessária para comunicação

byte message[VW_MAX_MESSAGE_LEN];    // Variável para armazenagem de mensagens

byte messageLength = VW_MAX_MESSAGE_LEN;    // Tamanho da mensagem

void setup() {
Serial.begin(9600);         // Configura a comunicação serial em 9600

Serial.println("Dispositivo pronto para receber dados!"); //Imprime na Porta Serial

vw_set_rx_pin(11);         // Configura o pino Digital utilizado pelo Módulo
vw_setup(2000);            // Bits por segundo
vw_rx_start();             // Inicializa o receptor
}

void loop() {
if (vw_get_message(message, &messageLength)) {     // Elimina o bloqueio

Serial.print("Recebido: ");      // Imprime na porta serial a mensagem em destaque
Serial.write(message[0]);

if (message[0] == '0') {           // Se receber o valor 0
digitalWrite(13, LOW);             // Põem o pino 13 em estado LOW
}

else if (message[0] == '1') {      // Se receber o valor 1
digitalWrite(13, HIGH);            // Põem o pino 13 em estado HIGH
}

Serial.println();
}
}

Como podemos observar, sempre que receber o caractere “1”, o Arduino alterará o estado do pino digital 13 para HIGH e fará com que o LED se ascenda, caso contrário, ou seja, caso receba o caractere “0”, o Arduino alterará o estado do pino para LOW e apagará o LED.

Todo este processo pode ser observado através da Porta Serial do Arduino antecedido pela mensagem “Dispositivo pronto para receber dados!”, vale ressaltar que o funcionamento do Receptor não depende da Porta Serial e pode ser realizado até mesmo desconectado de um computador, mas com alimentação externa.

Veja abaixo um exemplo do que é exibido pela porta serial, que é utilizado nas primeiras vezes como um método de testa para a confirmação da comunicação entre os equipamentos.

CONCLUSÃO

Com isto, temos desenvolvido um projeto de comunicação sem fio Arduino, que torna capaz realizar a comunicação entre dois equipamentos Arduino distantes através de transmissores e receptores de rádio frequência.

Este é um projeto base que pode ser utilizado como inspiração para o desenvolvimento de algo ainda mais complexo, como por exemplo, que tal adicionar um teclado matricial para possibilitar o envio de dados sem a necessidade de um computador, ou utilizar um sensor para captar os dados à distância.

Agora libere sua criatividade, explore as funcionalidades do Arduino e faça projetos ainda mais incríveis com a ajuda deste artigo e não se esqueça de compartilhar conosco a sua experiência e os resultados que obteve.

Categorias
Arduino
3 Número de Comentários
  • Dorival
    29 Março 2018 at 01:38
    Enviar Resposta

    Poderia usar dois arduíno nano com essa projeto, e colocar um relé no receptor
    Dorival Bonini

  • Guilherme
    29 Março 2018 at 18:33
    Enviar Resposta

    Como faço para mandar mais de um comando por ele? Gostaria de fazer um controle de carrinho de controle remoto.

    • Equipe Usinainfo
      20 Abril 2018 at 14:46
      Enviar Resposta

      Bom dia Guilherme! Você pode mandar quantos comandos quiser, cada caractere, por exemplo, pode ter um comando associado para ser interpretado como desejado pelo Arduino do Receptor.

    Enviar Resposta

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados