Last active
August 12, 2017 03:52
-
-
Save camateg/c31705dc664fdd148c0efc97d765e3ed to your computer and use it in GitHub Desktop.
Arduino Light
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #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