Difference between revisions of "433Mhz RF link kit"

From Geeetech Wiki
Jump to: navigation, search
(Created page with " == Introduction == The kit is consisted of transmitter and receiver, popular used for remote control. == Specification == *Frequency: 433Mhz. *Modulation: ASK *Receiv...")
 
(examlple code)
Line 27: Line 27:
 
     Serial.begin(9600);   // Debugging only
 
     Serial.begin(9600);   // Debugging only
 
     Serial.println("setup");
 
     Serial.println("setup");
 
 
     // Initialise the IO and ISR
 
     // Initialise the IO and ISR
 
     vw_set_ptt_inverted(true); // Required for DR3100
 
     vw_set_ptt_inverted(true); // Required for DR3100
Line 35: Line 34:
 
  {
 
  {
 
     const char *msg = "hello";
 
     const char *msg = "hello";
 
 
     digitalWrite(13, true); // Flash a light to show transmitting
 
     digitalWrite(13, true); // Flash a light to show transmitting
 
     vw_send((uint8_t *)msg, strlen(msg));
 
     vw_send((uint8_t *)msg, strlen(msg));
Line 55: Line 53:
 
     Serial.begin(9600); // Debugging only
 
     Serial.begin(9600); // Debugging only
 
     Serial.println("setup");
 
     Serial.println("setup");
 
 
     // Initialise the IO and ISR
 
     // Initialise the IO and ISR
 
     vw_set_ptt_inverted(true); // Required for DR3100
 
     vw_set_ptt_inverted(true); // Required for DR3100
 
     vw_setup(2000); // Bits per sec
 
     vw_setup(2000); // Bits per sec
 
 
     vw_rx_start();      // Start the receiver PLL running
 
     vw_rx_start();      // Start the receiver PLL running
 
  }
 
  }
Line 71: Line 67:
 
     {
 
     {
 
int i;
 
int i;
 
 
         digitalWrite(12, true); // Flash a light to show received good message
 
         digitalWrite(12, true); // Flash a light to show received good message
 
// Message with a good checksum received, dump it.
 
// Message with a good checksum received, dump it.
 
Serial.print("Got: ");
 
Serial.print("Got: ");
 
 
for (i = 0; i < buflen; i++)
 
for (i = 0; i < buflen; i++)
 
{
 
{

Revision as of 10:28, 26 March 2012

Introduction

The kit is consisted of transmitter and receiver, popular used for remote control.


Specification

  • Frequency: 433Mhz.
  • Modulation: ASK
  • Receiver Data Output: High - 1/2 Vcc, Low - 0.7v
  • Transmitter Input Voltage: 3-12V (high voltage = more transmitting power)

Wiring diagram

examlple code

Transmmiter:

#include <VirtualWire.h>
#undef int
#undef abs
#undef double
#undef float
#undef round
void setup()
{
   Serial.begin(9600);	  // Debugging only
   Serial.println("setup");
   // Initialise the IO and ISR
   vw_set_ptt_inverted(true); // Required for DR3100
   vw_setup(2000);	 // Bits per sec
}
void loop()
{
   const char *msg = "hello";
   digitalWrite(13, true); // Flash a light to show transmitting
   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx(); // Wait until the whole message is gone
   digitalWrite(13, false);
   delay(200);
}

Receiver:

#include <VirtualWire.h>
#undef int
#undef abs
#undef double
#undef float
#undef round
void setup()
{
   Serial.begin(9600);	// Debugging only
   Serial.println("setup");
   // Initialise the IO and ISR
   vw_set_ptt_inverted(true); // Required for DR3100
   vw_setup(2000);	 // Bits per sec
   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
   {

int i;

       digitalWrite(12, true); // Flash a light to show received good message

// Message with a good checksum received, dump it. Serial.print("Got: "); for (i = 0; i < buflen; i++) { Serial.print(buf[i], HEX); Serial.print(" "); } Serial.println("");

       digitalWrite(12, false);
   }
}