Difference between revisions of "433Mhz RF link kit"

From Geeetech Wiki
Jump to: navigation, search
(examlple code)
(examlple code)
Line 66: Line 66:
 
         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
Serial.print("Got: "); //Message with a good checksum received, dump it.
+
  Serial.print("Got: "); //Message with a good checksum received, dump it.
 
         for (i = 0; i < buflen; i++)
 
         for (i = 0; i < buflen; i++)
 
{
 
{
Serial.print(buf[i], HEX);
+
  Serial.print(buf[i], HEX);
Serial.print(" ");
+
  Serial.print(" ");
 
}
 
}
 
Serial.println("");
 
Serial.println("");

Revision as of 10:33, 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

Serial.print("Got: "); //Message with a good checksum received, dump it.

       for (i = 0; i < buflen; i++)

{ Serial.print(buf[i], HEX); Serial.print(" "); } Serial.println("");

        digitalWrite(12, false);
   }
}