Professional Documents
Culture Documents
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:
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
void loop()
{
const char *msg = "hello";
digitalWrite(13, true);
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
digitalWrite(13, false);
delay(200);
}
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:
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!!