Problem with receive messages from RF transmitter 433 MHz to RF receiver 433MHz


hello,
i've started programming on arduino so, wonder if tell me best , simplest solution(s).

i'm trying send messages between 2 arduino's (nano , uno) using rf module 433 mhz (arduino nano + transmitter -----> uno+receiver). i've connected 2 leds on each data pin of rf module see if module works or not. , 2 leds blink (it means transmitter , receiver work). if want read messages arduino uno, seems uno couldn't print out on computer screen.

and here electric circuit of rf module:

-transmitter:
vcc -> 5v (on arduino nano)
data -> digital pin (ex. pin 12)
gnd -> gnd

-receiver:

vcc -> 5v (on arduino uno)
data/atad -> digital pin (ex. pin 12)
gnd -> gnd

code transmitter:
---------------------------------------
#include <virtualwire.h>

void setup()
{
  serial.begin(9600);
  serial.println("ready.........");
  vw_set_ptt_inverted(true);
  vw_setup(2000);
  vw_set_tx_pin(8); // set tx pin @ digital pin 8
}

void loop()
{
  char text[20] = "";
  byte = 0;
  while (serial.available() == 0)
  {
    // nothing
  }
  while (serial.available() > 0)
  {
    char ch = serial.read();
    text = ch;
    i++;
    delay(5);
  }
  serial.print("sent: ");
  serial.println(text);
  vw_send((byte *)text, sizeof(text));
  vw_wait_tx();
  delay(2000);
}
---------------------------------------------------------------

code receiver

---------------------------------------------------------------
#include <virtualwire.h>

byte msg[vw_max_message_len];
byte msglen = vw_max_message_len;
int variable;
void setup()
{
  serial.begin(9600);
  serial.println("ready..........");
  vw_setup(2000);
  vw_set_rx_pin(0);
  vw_rx_start();
}

void loop()
{
  if (vw_get_message(msg, &msglen))
  {
    serial.print("got: ");
    (int = 0; < msglen; i++)
    {
      serial.write(msg);
    }
    serial.println();
  }

}
-------------------------------------------------------------------

photo of module:
http://img.dxcdn.com/productimages/sku_220194_2.jpg

i think had same kind of radios. mine had short range. few meters @ best. can't recommend them else opening carage door. had other difficulties too.

if data flows, might test lower speeds. found old code may belong system. tx , rx have different speeds. remember needed delays after every byte? through radios. so, buy better tx , rx, these nothing trouble if them working.

code: [select]
int ledpin = 3;
int tx_on;
int serout,lask;
void setup() {
  // put setup code here, run once:
pinmode(ledpin, output);
pinmode(tx_on, output);
 digitalwrite(tx_on, low);   // sets tx on
 serial.begin(2400);
 serout=0;
}

void loop() {
  // put main code here, run repeatedly:
 digitalwrite(ledpin, high);   // sets led on
  delay(1000);                  // waits second
  digitalwrite(ledpin, low);    // sets led off
  delay(500);  
  if (lask>8)
  {
    lask=0;
  }
  else
  {
    lask++;
  }
  serout=lask;
  serout=serout & b00001111;
  //serout=serout | b00010000;//data on 1jotain
  
  //serial.write(0x06) ;
  serial.write(serout) ;
  delay(10);
 // serial.write(serout) ;
  delay(10);
 // serial.write(serout) ;
}


code: [select]
int ledpin = 3;
int ld2=4;
int ld3=9;
int cportti;
int serin,laskuri, eka, toka,kolmas;
void setup() {
  // put setup code here, run once:
pinmode(ledpin, output);
pinmode(ld2,output);
pinmode(ld3,output);
digitalwrite(ld2, low);
digitalwrite(ld3, low);
//pinmode(tx_on, output);
//ddrc = ddrc | b00111111;//6=ld1, 5=bi
cportti=b00010000;
portc=cportti;
// digitalwrite(tx_on, low);   // sets tx on
cportti=cportti & b11000000;
portc=cportti;
digitalwrite(ld2, high);
digitalwrite(ld3, high);
digitalwrite(ld2, low);
digitalwrite(ld3, low);
cportti=cportti & b11100000;
portc=cportti;
cportti=cportti & b11000000;
portc=cportti;
 serial.begin(4800);
}

void loop() {
  // put main code here, run repeatedly:
   // delay(200);               // waits second
//  digitalwrite(ledpin, low);    // sets led off
 
 if (serial.available() > 0) {
                // read incoming byte:
      //  digitalwrite(ledpin, low);
      digitalwrite(ledpin, low);
                serin = serial.read();
        
      //  digitalwrite(ledpin, high);
        serin=serin & b00001111;
        cportti=serin;
        portc=cportti;
        digitalwrite(ld2, high);
        digitalwrite(ld2, low);
        //digitalwrite(ledpin, low);
        // delay(10);
         cportti=0x00;
         portc=cportti;
         digitalwrite(ld3, low);
         digitalwrite(ld3, high);
         digitalwrite(ld3, low);
         cportti=cportti & b11001111;
         portc=cportti;
         cportti=cportti | b00100000;
         portc=cportti;
         cportti=cportti & b11001111;
         portc=cportti;
 digitalwrite(ledpin, high);
 // digitalwrite(ledpin, low);    // sets led off
    
//   digitalwrite(ledpin, high);   // sets led on
  // delay(12);
                // got:
               // serial.print("i received: ");
             //   serial.println(serin);
        }
 




Arduino Forum > Using Arduino > Networking, Protocols, and Devices (Moderator: fabioc84) > Problem with receive messages from RF transmitter 433 MHz to RF receiver 433MHz


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor