Introduction: Wireless Communication Arduino RF


 


433Mhz  RF Transmitter + Receiver Module Link Kit will allow us to connect two Arduinos and that can communicate. Data you send on computer Transmitter show on Arduino Receiver screen.

Final result video  --- http://youtu.be/g-GxWBakV-8

Specifications:

    Receiver module parameters

    Product Model MX-05V
    Operating voltage: DC5V
    Quiescent current: 4mA
    Receiving frequency: 433MHZ
    Receiver sensitivity:-105DB
    Size: 30 * 14 * 7mm
    An extra antenna is needed, please use spiral 50Ω a quarter wavelength antenna

    Technical parameters of the transmitter head

    Product Model: MX-FS-03V
    Launch distance :20-200 meters (different voltage, different results)
    Operating voltage :3.5-12V
    Dimensions: 19 * 19mm
    Operating mode: AM
    Transfer rate: 4KB/s
    Transmitting power: 10mW
    Transmitting frequency: 433M
    Pinout from left to right: (DATA; VCC; GND)

Step 1:

You will need for this project:

Arduino Uno

Arduino Pro MINI (you can use Uno instead of Pro MINI if you want)

WH1602 or HD44780 16x2 Character LCD Display

433Mhz or 315Mhz RF Transmitter + Receiver Module Link

Prototype BreadBoard 830 tie points

male-to-male cables

male-to-feemale cable

10k potentiometer

3.7V battery

Step 2:

How to upload sketches on Arduino Pro MINI.

    Remove Atmega328 from Arduino UNO
    Using male-to-female cables connect Pro MINI to UNO RX-RX; TX-TX; RST-RST; GND-GND; VCC-+5V
    Change in Tools-Board-Arduino Pro or Pro MINI
    Upload sketch

Step 3: Receiver Code

#include
#include
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
char cad[100];
int pos = 0;
void setup()
{
lcd.begin(16, 2);
lcd.setCursor(1, 0);
vw_setup(2000);
vw_rx_start();
}
void loop()
{
byte buf[VW_MAX_MESSAGE_LEN];
byte buflen = VW_MAX_MESSAGE_LEN;
int i;
if( vw_get_message(buf, &buflen) )
{
if(pos < 2)
lcd.setCursor(0, pos);
else
{
pos=0;
lcd.clear();
}
for (i = 1; i < buflen; i++)
{
lcd.print((char)buf[i]);
pos++;

}
}
}

Step 4: Transmitter Code

#include
char cad[100];
int i=0;
void setup()
{
Serial.begin(9600);
vw_setup(2000);
Serial.print("End with \".\" each data");
}
void loop()
{
if( Serial.available() > 0)
{
cad[i] = Serial.read();
i++;
}
if( cad[i-1] == '.')
{
cad[i] = '\0';
i=0;
vw_send((byte *)cad, strlen(cad));
delay(400);
}
}

Step 5: Receiver Scheme

Step 6: Transmitter Scheme

Step 7:

Print any message to the Serial Monitor window. End with point ".'

Press Enter.

THATS ALL!!!

Thats my video with final result: (too long I think and on Russian, youtube subtitles are not so good but you can on it)


http://youtu.be/g-GxWBakV-8


If you have questions please write in comments.