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

sd card Could not find FAT16/FAT32 partition [solved]

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

DHT11 Time out error using v0.4.1library