Skip to content

Instantly share code, notes, and snippets.

@camateg
Last active August 12, 2017 03:52
Show Gist options
  • Select an option

  • Save camateg/c31705dc664fdd148c0efc97d765e3ed to your computer and use it in GitHub Desktop.

Select an option

Save camateg/c31705dc664fdd148c0efc97d765e3ed to your computer and use it in GitHub Desktop.
Arduino Light
#include <IRremote.h>
#define RECV_PIN 11
bool toggle = true;
int num = 0;
bool print_num = false;
bool do_blink = false;
IRrecv irrecv(RECV_PIN);
decode_results results;
void make_blink(int ct)
{
char out[255] = "";
sprintf(out, "%s %i %s", "I will blink", ct, "times...");
Serial.println(out);
digitalWrite(LED_BUILTIN, LOW);
delay(2000);
for(int x=1; x<=ct; x++) {
Serial.println(x);
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
}
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
switch (results.value) {
case 0xFF02FD:
toggle = !toggle;
print_num = false;
break;
case 0xFF6897:
num = 1;
print_num = true;
break;
case 0xFF9867:
num = 2;
print_num = true;
break;
case 0xFFB04F:
num = 3;
print_num = true;
break;
case 0xFF30CF:
num = 4;
print_num = true;
break;
case 0xFF18E7:
num = 5;
print_num = true;
break;
case 0xFF7A85:
num = 6;
print_num = true;
break;
case 0xFF10EF:
num = 7;
print_num = true;
break;
case 0xFF38C7:
num = 8;
print_num = true;
break;
case 0xFF5AA5:
num = 9;
print_num = true;
break;
case 0xFF4AB5:
do_blink = true;
Serial.println("zero");
break;
default:
print_num = false;
do_blink = false;
}
if (do_blink) {
Serial.println("blink");
make_blink(num);
}
if (print_num) {
Serial.println(num);
} else {
if(toggle) {
Serial.println("On!");
digitalWrite(LED_BUILTIN, HIGH);
} else {
Serial.println("Off!");
digitalWrite(LED_BUILTIN, LOW);
}
}
irrecv.resume();
}
delay(100);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment