diff options
author | Camil Staps | 2016-02-02 14:33:32 +0100 |
---|---|---|
committer | Camil Staps | 2016-02-02 14:33:32 +0100 |
commit | 8050ce6bfd13665c9c7d7353b11b9e61d12eb3e4 (patch) | |
tree | fc336d476809c72f43bd50592ac877a8b2b72618 | |
parent | receiver (diff) |
LCD status
-rw-r--r-- | sketch_receiver/sketch_receiver.ino | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/sketch_receiver/sketch_receiver.ino b/sketch_receiver/sketch_receiver.ino index adada18..e7ef85a 100644 --- a/sketch_receiver/sketch_receiver.ino +++ b/sketch_receiver/sketch_receiver.ino @@ -1,14 +1,8 @@ - #include <RCSwitch.h> #include <LiquidCrystal.h> -RCSwitch mySwitch = RCSwitch( ); RCSwitch sender = RCSwitch( ); LiquidCrystal lcd = LiquidCrystal(8 ,9 ,4 ,5 ,6 ,7); -#define OnCode1 1381717 -#define OffCode1 1381716 -#define OnCode2 1394005 -#define OffCode2 1394004 #define CodeLength 24 #define SendPin A5 @@ -17,6 +11,9 @@ LiquidCrystal lcd = LiquidCrystal(8 ,9 ,4 ,5 ,6 ,7); int keyLimits [KEY_COUNT+1] = {100, 330, 580, 900, 1023}; int keyNames [KEY_COUNT+1] = {0, 1, 2, 3, 4}; +const unsigned long OnCode[2] = {1381717, 1394005}; +const unsigned long OffCode[2] = {1381716, 1394004}; + void setup() { lcd.begin(16,2); Serial.begin(9600); @@ -29,30 +26,36 @@ void setup() { pinMode(13, OUTPUT); } +void setSocket(int id, bool on) { + sender.send((on ? OnCode : OffCode)[id], CodeLength); + lcd.setCursor(0, id); + lcd.print("Socket "); + lcd.print(id); + lcd.print(on ? " on" : " off"); +} + void button_left(){ - sender.send(OffCode1, CodeLength); - sender.send(OnCode2, CodeLength); + setSocket(0, true); + setSocket(1, false); } void button_right(){ - sender.send(OnCode1, CodeLength); - sender.send(OffCode2, CodeLength); + setSocket(0, false); + setSocket(1, true); } void button_up(){ - sender.send(OnCode1, CodeLength); - sender.send(OnCode2, CodeLength); + setSocket(0, true); + setSocket(1, true); } void button_down(){ - sender.send(OffCode1, CodeLength); - sender.send(OffCode2, CodeLength); + setSocket(0, false); + setSocket(1, false); } int check_button(){ int val = analogRead(A0); - lcd.setCursor(0,0); - lcd.print(val); for (int i = 0; i <= KEY_COUNT; i++) if (val < keyLimits[i]) return keyNames[i]; |