|
|
- #include <RemoteReceiver.h>
- #include <RemoteSwitch.h>
-
- /*
- * Demo for RF remote switch receiver.
- * For details, see RemoteReceiver.h!
- *
- * This sketch "translates" a Action-remote to a Blokker-remote.
- * When the A-On-button of the Action-remote is pressed, the Blokker-devices
- * 5, 6 and 7 are switched on. The A-Off-button switches the devices off again.
- *
- * Connect the transmitter to digital pin 11, and the receiver to digital pin 2.
- */
-
- ActionSwitch actionSwitch(11);
- BlokkerSwitch blokkerSwitch(11);
-
- //Prepare the code for switch A (system code 1) on and off, for easy comparision later.
- unsigned long actionAOn = actionSwitch.getTelegram(1,'A',true);
- unsigned long actionAOff = actionSwitch.getTelegram(1,'A',false);
-
- void setup() {
- //See example Show_received_code for info on this
- RemoteReceiver::init(0, 3, translateCode);
- }
-
- void loop() {
- }
-
- //Callback function is called only when a valid code is received.
- void translateCode(unsigned long receivedCode, unsigned int period) {
- //Enabled interrupts, so RemoteReceiver::isReceiving() can be used.
- interrupts();
-
- //Compare the signals
- if (RemoteSwitch::isSameCode(actionAOn, receivedCode)) {
- //A-On-button pressed!
-
- //Wait for a free ether
- while(RemoteReceiver::isReceiving());
-
- //Switch devices on
- blokkerSwitch.sendSignal(5,true);
- blokkerSwitch.sendSignal(6,true);
- blokkerSwitch.sendSignal(7,true);
-
- } else if (RemoteSwitch::isSameCode(actionAOff, receivedCode)) {
- //A-Off-button pressed!
-
- //Wait for a free ether
- while(RemoteReceiver::isReceiving());
-
- //Switch devices off
- blokkerSwitch.sendSignal(5,false);
- blokkerSwitch.sendSignal(6,false);
- blokkerSwitch.sendSignal(7,false);
- }
- }
|