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(
; // 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'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(

}
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.
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
Post a Comment