Você está na página 1de 4

Tutorial transmissor e receptor RF Link com Arduino

Postado por Laboratrio de Garagem em 7 maio 2012 s 15:00

Exibir blog

No mercado existe vrios tipos e meios de comunicao para usar com Arduino. Neste tutorial usaremos os RF Link Receiver - 4800bps(315Mhz) e RF Link
Transmitter - 315Mhz e testaremos a comunico entre eles utilizando a biblioteca Virtual Wire e a documentao disponvel aqui.
Neste tutorial vamos mostrar como mandar uma mensagem utilizando o RF Link Transmitter - 315Mhz com um Arduino e recebendo a mensagem utilizando
o RF Link Receiver - 4800bps(315Mhz) com outro Arduino.
Antes de mais nada, baixe a biblioteca Virtual Wire e extraia para a pasta "libraries" localizada dentro da pasta da IDE do Arduino. Nesta biblioteca bem fcil
de usar, pois j existe um tratamento de erros para filtrar os erros que chegam no receptor.
Agora para montar o emissor RF Link Transmitter - 315Mhz com Arduino, faa a seguinte ligao:

Onde:

O Fio vermelho vai para o VCC ou 5V

O Fio preto vai para o GND

O FIo verde vai para o pino digital 12 do Arduino

Por opo, pode-se colocar uma antena para melhor captao de dados. O comprimento da antena de cerca de 25cm

Agora, abra a IDE do Arduino e v em File/Examples/VirtualWire e selecione "transmitter",conecte o Arduino, selecione a verso do Arduino(UNO,
Duemilanove,etc) e clique em UPLOAD. Abaixo mostra a programao:
// transmitter.pde
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600);
Serial.println("setup");
// Initialise the IO and ISR
vw_set_ptt_inverted(true);
vw_setup(2000);
}

// Debugging only

// Required for DR3100


// Bits per sec

void loop()
{
const char *msg = "hello";
digitalWrite(13, true);
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
digitalWrite(13, false);
delay(200);
}

// Flash a light to show transmitting


//Send the message
// Wait until the whole message is gone

A programao "transmitter" um exemplo bsico onde manda a palavra "hello" para o receptor.
Pronto, agora vamos montar o RF Link Receiver - 4800bps(315Mhz):

Onde:

O fio vermelho vai para o VCC ou 5V

O fio preto vai para GND

O fio verde vai para o pino digital 11 do Arduino

Por opo, pode-se colocar uma antena para melhor captao de dados. O comprimento da antena de cerca de 25cm

Agora, com outro Arduino e com a IDE do Arduino aberto, v em File/Examples/ e clique em "receiver" e faa o mesmo procedimento que o do emissor. Abaixo
mostra a programao do "receiver":
// receiver.pde
//
// Simple example of how to use VirtualWire to receive messages
// Implements a simplex (one-way) receiver with an Rx-B1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: receiver.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600); // Debugging only
Serial.println("setup");
// Initialise the IO and ISR
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
vw_rx_start(); // Start the receiver PLL running
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Non-blocking
{
int i;
digitalWrite(13, true); // Flash a light to show received good message
// Message with a good checksum received, dump it.
Serial.print("Got: ");
for (i = 0; i < buflen; i++)
{
Serial.print(buf[i], HEX);
Serial.print(" ");
}

Serial.println("");
digitalWrite(13, false);
}
}
Este exemplo mostra o receiver recebendo a informao do emissor, que nesse caso o "hello". Ao abrir o Serial monitor do Arduino-1.0, voc ver que os
dados que chegam so nmeros, estes nmeros so nmeros da tabela ASCII. Voc pode ver que o nmero hexadecimal "68" equivale a letra "h".
E isso!!! Esperamos que tenham gostado!!! Caso tenham dvida sobre este tutorial, postem aqui mesmo neste blog. Vocs podem ver outros
tutoriais, clicando aqui. Temos a seo de projetos tambm que vocs podem ver e postar seus projetos! At a prxima!!