|
|
- #include <RemoteReceiver.h>
- #include <RemoteSwitch.h>
-
- /*
- * Demo for RF remote switch receiver.
- * For details, see RemoteReceiver.h!
- *
- * This sketch demonstrates how to use the static version of
- * RemoteReceiver::sendTelegram, which can be used in low-memory
- * situations.
- *
- * Connect the transmitter to digital pin 11, and the receiver to digital pin 2.
- *
- * When run, this sketch waits for a valid code from the receiver, decodes it,
- * and retransmits it after 5 seconds.
- */
-
- void setup() {
- //See example Show_received_code for info on this
- RemoteReceiver::init(0, 3, showCode);
- }
-
- void loop() {
- }
-
- void showCode(unsigned long receivedCode, unsigned int period) {
- //Disable the receiver; otherwise it might pick up the retransmit as well.
- RemoteReceiver::disable();
-
- //Need interrupts for delay
- interrupts();
-
- unsigned long code;
-
- //Copy the received code.
- code = receivedCode & 0xFFFFF; //truncate to 20 bits for show; receivedCode is never more than 20 bits..
-
- //Add the period duration to the code. Range: [0..511] (9 bit)
- code |= (unsigned long)period << 23;
-
- //Add the number of repeats to the code. Range: [0..7] (3 bit). The actual number of repeats will be 2^(repeats),
- //in this case 8
- code |= 3L << 20;
-
- //Wait 5 seconds before sending.
- delay(5000);
-
- //Retransmit the signal on pin 11. Note: no object was created!
- RemoteSwitch::sendTelegram(code,11);
-
- RemoteReceiver::enable();
- }
|