Difference between revisions of "433Mhz RF link kit"
From Geeetech Wiki
(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); } }