Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <IRremote.h>
- int power;
- int brightness;
- int target;
- int saved_target;
- int previous_value;
- int out=9; //connect your LED to pin 9
- int steps=5; //dimmer steps, vary those to increase/decrease the steps between full brightness and turned off
- int RECV_PIN = 11; //data out of IR receiver connects to pin 11
- int toggle_1 = 2137;
- int toggle_2 = 89;
- int brighter_1 = 2136;
- int brighter_2 = 88;
- int darker_1 = 2161;
- int darker_2 = 113;
- IRrecv irrecv(RECV_PIN);
- decode_results results;
- void setup(){
- Serial.begin(9600);
- irrecv.enableIRIn(); // start the receiver
- previous_value = 0;
- power = 0;
- target = 0;
- saved_target = 0;
- brightness = 0;
- pinMode(out,OUTPUT);
- digitalWrite(out, brightness);
- }
- void loop() {
- if (irrecv.decode(&results)) {
- Serial.println(results.value);
- if (results.value == toggle_1 || results.value == toggle_2) {
- if (results.value != previous_value) {
- if (power == 0) {
- Serial.println("- on");
- if (saved_target <= 5) {
- saved_target = 255;
- }
- power = 1;
- }
- else {
- Serial.println("- off");
- power = 0;
- }
- }
- }
- previous_value = results.value;
- if (power == 1) {
- if ((results.value == brighter_1 || results.value == brighter_2) && brightness < 255) {
- Serial.println("brighter");
- saved_target += steps;
- if (saved_target > 255) {
- saved_target = 255;
- }
- }
- if ((results.value == darker_1 || results.value == darker_2) && brightness > 0) {
- Serial.println("darker");
- saved_target -= steps;
- if (saved_target < 0) {
- saved_target = 0;
- }
- }
- }
- irrecv.resume();
- }
- if (power == 1) {
- target = saved_target;
- }
- else {
- target = 0;
- }
- if (brightness < target) {
- Serial.print("fading up from ");
- Serial.print(brightness);
- Serial.print(" towards ");
- Serial.print(target);
- brightness += steps;
- if (brightness > target) {
- brightness = target;
- }
- digitalWrite(out, brightness);
- }
- else if (brightness > target) {
- Serial.print("fading down from ");
- Serial.print(brightness);
- Serial.print(" towards ");
- Serial.print(target);
- brightness -= steps;
- if (brightness < target) {
- brightness = target;
- }
- digitalWrite(out, brightness);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement