Greetings each body , I sought on Instructables about a basic RF Transmitter-collector module , Which is utilized as a part of Remote control for autos , or to control straightforward assignments , like control hand-off on/off sadly I didn't discover What I require , So I chose to compose a basic artical about this handset and How we can interface it with arduino and program it .
Materials:
at first let's take a look for what we need :
1) 2 Arduino Board "I used Uno"
2) RF 315MHz or 433MHz transmitter-receiver module .
3) jumper wire .
4) BreadBoard .
5)External Power supply (9V Battery *2) "Optional" .
Transmitter :
Working voltage: 3V - 12V fo max. power use 12V
Working current: max Less than 40mA max , and min 9mA
Resonance mode: (SAW)
Modulation mode: ASK
Working frequency: Eve 315MHz Or 433MHz
Transmission power: 25mW (315MHz at 12V)
Frequency error: +150kHz (max)
Velocity : less than 10Kbps
So this module will transmit up to 90m in open area .
Receiver :
Working voltage: 5.0VDC +0.5V
Working current:≤5.5mA max
Working method: OOK/ASK
Working frequency: 315MHz-433.92MHz
Bandwidth: 2MHz
Sensitivity: excel –100dBm (50Ω)
Transmitting velocity: <9.6Kbps (at 315MHz and -95dBm)
the use of an optional antenna will increase the effectiveness of your wireless communication. A simple wire will do the trick.
the connection for this module is very easy .
Fortunately , There is a popular Library for arduino Called "" VirtualWire"" Created by Mike McCauley
VirtualWire is an Arduino library that provides features to send short messages, without addressing, retransmit or acknowledgment, a bit like UDP over wireless, using ASK (amplitude shift keying). Supports a number of inexpensive radio transmitters and receivers.
This library allow You to send and receive data"byte" and string easily ,
First Download the library from Here .
after extract the folder, and move it to " Libraries " on the arduino Folder
this is a simple code , it will send character '1' and after 2 sec will send character '0' and so on .
this code for transmitter :
The D13 LED On the arduino board must be turned ON when received character '1' and Turned Off when received character '0'
//simple Tx on pin D12
//Written By : Mohannad Rawashdeh
// 3:00pm , 13/6/2013
//http://www.genotronex.com/
//..................................
#include
void setup()
{
vw_set_ptt_inverted(true); // Required for DR3100
vw_set_rx_pin(12);
vw_setup(4000); // Bits per sec
pinMode(13, OUTPUT);
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
{
if(buf[0]=='1'){
digitalWrite(13,1);
}
if(buf[0]=='0'){
digitalWrite(13,0);
}
}
}
Materials:
at first let's take a look for what we need :
1) 2 Arduino Board "I used Uno"
2) RF 315MHz or 433MHz transmitter-receiver module .
3) jumper wire .
4) BreadBoard .
5)External Power supply (9V Battery *2) "Optional" .
Step 1: Module Specification
This module has a specification for :Transmitter :
Working voltage: 3V - 12V fo max. power use 12V
Working current: max Less than 40mA max , and min 9mA
Resonance mode: (SAW)
Modulation mode: ASK
Working frequency: Eve 315MHz Or 433MHz
Transmission power: 25mW (315MHz at 12V)
Frequency error: +150kHz (max)
Velocity : less than 10Kbps
So this module will transmit up to 90m in open area .
Receiver :
Working voltage: 5.0VDC +0.5V
Working current:≤5.5mA max
Working method: OOK/ASK
Working frequency: 315MHz-433.92MHz
Bandwidth: 2MHz
Sensitivity: excel –100dBm (50Ω)
Transmitting velocity: <9.6Kbps (at 315MHz and -95dBm)
the use of an optional antenna will increase the effectiveness of your wireless communication. A simple wire will do the trick.
Step 2: Schematics
the connection for this module is very easy .
for Transmitter :
Vcc >>>>5V
ATAD>>>D12"You can change it as you like from Software" .
Gnd >>> Gnd
Receiver :
Vcc>>>>5V
Data>>>D12
Gnd>>>Gnd
Step 3: Arduino Virtual Wire Library
Fortunately , There is a popular Library for arduino Called "" VirtualWire"" Created by Mike McCauley
VirtualWire is an Arduino library that provides features to send short messages, without addressing, retransmit or acknowledgment, a bit like UDP over wireless, using ASK (amplitude shift keying). Supports a number of inexpensive radio transmitters and receivers.
This library allow You to send and receive data"byte" and string easily ,
First Download the library from Here .
after extract the folder, and move it to " Libraries " on the arduino Folder
this is a simple code , it will send character '1' and after 2 sec will send character '0' and so on .
this code for transmitter :
//simple Tx on pin D12and this is code for receiver :
//Written By : Mohannad Rawashdeh
// 3:00pm , 13/6/2013
//http://www.genotronex.com/
//..................................
#include
char *controller;
void setup() {
pinMode(13,OUTPUT);
vw_set_ptt_inverted(true); //
vw_set_tx_pin(12);
vw_setup(4000);// speed of data transfer Kbps
}
void loop(){
controller="1" ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13,1);
delay(2000);
controller="0" ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13,0);
delay(2000);
}
The D13 LED On the arduino board must be turned ON when received character '1' and Turned Off when received character '0'
//simple Tx on pin D12
//Written By : Mohannad Rawashdeh
// 3:00pm , 13/6/2013
//http://www.genotronex.com/
//..................................
#include
void setup()
{
vw_set_ptt_inverted(true); // Required for DR3100
vw_set_rx_pin(12);
vw_setup(4000); // Bits per sec
pinMode(13, OUTPUT);
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
{
if(buf[0]=='1'){
digitalWrite(13,1);
}
if(buf[0]=='0'){
digitalWrite(13,0);
}
}
}






No comments:
Post a Comment