433Mhz RF link kit: Difference between revisions
Jump to navigation
Jump to search
| Line 63: | Line 63: | ||
uint8_t buflen = VW_MAX_MESSAGE_LEN; | uint8_t buflen = VW_MAX_MESSAGE_LEN; | ||
if (vw_get_message(buf, &buflen)) // Non-blocking | if (vw_get_message(buf, &buflen)) // Non-blocking | ||
{ | { 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. | Serial.print("Got: ");// Message with a good checksum received, dump it. | ||
for (i = 0; i < buflen; i++) | |||
{ | { | ||
Serial.print(buf[i], HEX); | Serial.print(buf[i], HEX); | ||
Revision as of 10:30, 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); } }