Skip to content

Instantly share code, notes, and snippets.

@rhaseven7h
Created July 18, 2018 23:02
Show Gist options
  • Save rhaseven7h/36c66abd37a66ff5211bae0a0807155d to your computer and use it in GitHub Desktop.
Save rhaseven7h/36c66abd37a66ff5211bae0a0807155d to your computer and use it in GitHub Desktop.
#include "IRremote.h"
#include <SoftwareSerial.h>
#define REL_SIGNAL 5
#define IR_POLL_DELAY 50
#define WIFI_MODULE_RX 3
#define WIFI_MODULE_TX 2
bool lampOn = false;
int receiver = 11;
IRrecv irrecv(receiver);
decode_results results;
SoftwareSerial WiFiModule(WIFI_MODULE_RX, WIFI_MODULE_TX);
void translateIR() {
switch (results.value) {
case 0xFFA25D:
Serial.println("POWER");
if (lampOn) {
Serial.println("Turn lamp off...");
digitalWrite(REL_SIGNAL, LOW);
lampOn = false;
break;
}
Serial.println("Turn lamp on...");
digitalWrite(REL_SIGNAL, HIGH);
lampOn = true;
break;
default:
Serial.println("Other button was pressed...");
}
}
void setup() {
Serial.begin(115200);
Serial.println("IR Receiver Button Decode enabling...");
irrecv.enableIRIn();
Serial.println("Setting up relay signal as output, and turning it off...");
pinMode(REL_SIGNAL, OUTPUT);
digitalWrite(REL_SIGNAL, LOW);
Serial.println("Setting up WiFI module serial to 115200bps.");
WiFiModule.begin(115200);
Serial.println("Done.");
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println("Translating...");
translateIR();
delay(IR_POLL_DELAY);
irrecv.resume();
Serial.println("Resumed...");
}
if (WiFiModule.available()) {
char c = WiFiModule.read() ;
Serial.print(c);
}
if (Serial.available()) {
char c = Serial.read();
WiFiModule.print(c);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment