Não consigo programar o Arduino com o módulo RF 433 MHz (Código da Bilbioteca VirtualWire dando erro)

Olá pessoal, Bom dia a todos;

É o seguinte: Quando abro os códigos receiver/transmitter da biblioteca VirtualWire.h, não consigo nem compilar, da um erro estranho!! Já pesquisei, mas ainda não consegui uma reposta. Como sou totalmente leigo em Programação resolvi pedir ajuda aos colegas.  

esse foi o código que usei no 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>

const int led_pin = 6;
const int transmit_pin = 12;
const int receive_pin = 11;
const int transmit_en_pin = 3;

void setup()
{
delay(1000);
Serial.begin(9600); // Debugging only
Serial.println("setup");

// Initialise the IO and ISR
vw_set_tx_pin(transmit_pin);
vw_set_rx_pin(receive_pin);
vw_set_ptt_pin(transmit_en_pin);
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(led_pin, HIGH); // Flash a light to show received good message
// Message with a good checksum received, print it.
Serial.print("Got: ");

for (i = 0; i < buflen; i++)
{
Serial.print(buf[i], HEX);
Serial.print(' ');
}
Serial.println();
digitalWrite(led_pin, LOW);
}
}

E esse foi o código que usei no transmitter 

// 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>

const int led_pin = 11;
const int transmit_pin = 12;
const int receive_pin = 2;
const int transmit_en_pin = 3;

void setup()
{
// Initialise the IO and ISR
vw_set_tx_pin(transmit_pin);
vw_set_rx_pin(receive_pin);
vw_set_ptt_pin(transmit_en_pin);
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
}

byte count = 1;

void loop()
{
char msg[7] = {'h','e','l','l','o',' ','#'};

msg[6] = count;
digitalWrite(led_pin, HIGH); // Flash a light to show transmitting
vw_send((uint8_t *)msg, 7);
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(led_pin, LOW);
delay(1000);
count = count + 1;
}

Ambos dão o mesmo erro:

' vw_set_tx_pin' was not declared in this scope

Quem puder ajudar, agradeço.

Exibições: 1595

Responder esta

Respostas a este tópico

Você está usando a lib 1.3. Ela é muito antiga. Vou deixar o link da versão mais atual pra vovê baixar.

VirtualWire_v1.10

olá Maurício, 

com essa biblioteca consegui programar os microcontroladores, porem algo deu errado.
Bom, 
por ser iniciante em programação, eu estava seguido esse tutorial: (http://linuxresort.blogspot.com.br/2011/12/rf-transmissor-e-recepto...) fiz tudo certinho, embora o módulo que estou usando seja diferente, mas não deu certo revisei todas as ligações e toda a parte de hardware mas não consegui por pra funcionar, 

Se alguém poder me ajudar, agradeço.

Valeu

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço