Pages: [1]   Go Down
Author Topic: RF Link problem  (Read 745 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 194
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
i just bought a pair of RF link from sparkfun ( RX433 TX433), now i'm testing a quite simple scatch :

on Arduino 1 (pro mini 5v) :
Code:
void setup(){
 Serial.begin(2400);
}

void loop(){
 Serial.print("1");
}

on arduino 2 (MEGA)
Code:
void setup(){
   //2400 baud for the 434 model
   Serial1.begin(2400);
   Serial.begin(9600);
   Serial.println("connesso");
}
void loop(){

   if (Serial1.available() > 0) {
      Serial.println(Serial1.read());
    
   }
}


i'm expecting to have an output like this from mega


49
49
49
49
49

what i got ?
127
0
127
0
127
0
127
0
127
0
127



IDEA?HELP?EXPLANATION?

smiley-grin

even tested http://www.sparkfun.com/datasheets/RF/KLP_Walkthrough.pdf but they dont tell you what u have to read from the RX smiley-grin
Logged

Netherlands
Offline Offline
Sr. Member
****
Karma: 0
Posts: 414
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Google for the VirtualWire library. Take on of the examples from that library and it will/should work instantly.

Good luck!
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 194
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

found the library, but i still got problems :S

i cant recive any message ... i'm trying this with rx on duemilanove pin 11, tx on mega pin 40 :
Code:
#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);
    }
}


and this on mega
Code:
#include <VirtualWire.h>

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

    // Initialise the IO and ISR
    vw_set_tx_pin(40);
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);       // Bits per sec
}

void loop()
{
    const char *msg = "hello";

    digitalWrite(13, true); // Flash a light to show transmitting
    vw_send((uint8_t *)msg, strlen(msg));
    vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(13, false);
    delay(200);
}
Logged

Lincoln, NE
Offline Offline
Full Member
***
Karma: 0
Posts: 106
Having lots of fun with Arduino. Thanks everyone!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

My thoughts:

1. Have you tried NOT calling vw_set_ptt_inverted()?
I have used that RF pair successfully and I did not call vw_set_ptt_inverted() on either my transmitter nor on my receiver.

2. Have you tried NOT calling vw_set_tx_pin() on the transmitter and using the default pin 12?  I don't have a Mega, but I believe PWM (needed by VirtualWire) is only supported on pins 0 thru 13.

See PWM under Input and Output on this page:
http://arduino.cc/en/Main/ArduinoBoardMega


Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 194
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yes i tried not calling the inverted function and no luck, and for the tx pin i thought he need a digital pin as in doc it said :

Code:
4.1vw_set_tx_pin
extern void vw_set_tx_pin(uint8_t pin);
Set the digital IO pin to use for transmit data. Defaults to 12.

so i placed my connection on digital IO pin 40. i didnt know that he need a PWM out, i thought the library would make the correct frequency and interput.

ill give it a try in a few minutes and let you know smiley
Logged

Pages: [1]   Go Up
Jump to: