Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "IRremote.h"
- //assigning ir receiver to digital pin 2
- int receiver = 2;
- IRrecv irrecv(receiver); //creating an instance of irrecv
- decode_results results; //create instance of decode results
- //LEDs initialization
- int lampka[] = {3, 5, 6, 9, 10, 11, 13};
- //ir sensor initialization
- int ir_sens = 2;
- //photoresistor initialization at analog pin 0
- int photo_res = 0;
- int val = 255; //brightenss of the leds
- int program = 1; //which program should be executed now?
- int state = 1; //the chain should be turned on or turned off?
- int mode = 1; //we input modes or brightness with the remote?
- //function defining buttons of the remote
- void translateIR()
- {
- switch(results.value)
- {
- case 0xFF42BD: //* button
- mode = 1;
- break;
- case 0xFF52AD: //# button
- mode = 2;
- break;
- case 0xFF02FD: //ok button
- if (state == 1)
- state = 0;
- else
- state = 1;
- break;
- case 0xFF6897: //button 1
- if (mode == 1)
- program = 1;
- if (mode == 2)
- val = 25;
- break;
- case 0xFF9867: //button2
- if (mode == 1)
- program = 2;
- if (mode == 2)
- val = 50;
- break;
- case 0xFFB04F: //button3
- program = 3;
- break;
- }
- }
- //pierwszy program lancucha
- //first program of the chain
- void pierwszy()
- {
- for(int wl_wyl = 0; wl_wyl < 7; wl_wyl++)
- {
- analogWrite(lampka[wl_wyl], val);
- delay(500);
- digitalWrite(lampka[wl_wyl], LOW);
- }
- }
- //drugi program programu
- //second program of the chain
- void staly()
- {
- for(int wlacznik = 0; wlacznik < 7; wlacznik++)
- {
- analogWrite(lampka[wlacznik], val);
- }
- delay(3000);
- for(int wylacznik = 0; wylacznik < 7; wylacznik++)
- {
- digitalWrite(lampka[wylacznik], LOW);
- }
- }
- //trzeci program lancucha
- //third program of the chain
- void srodek()
- {
- analogWrite(lampka[3], val);
- delay(500);
- analogWrite(lampka[0], val);
- delay(500);
- analogWrite(lampka[5], val);
- delay(500);
- analogWrite(lampka[1], val);
- delay(500);
- analogWrite(lampka[4], val);
- delay(500);
- analogWrite(lampka[2], val);
- delay(3000);
- for(int wylacznik = 0; wylacznik <7; wylacznik++)
- {
- digitalWrite(lampka[wylacznik], LOW);
- delay(100);
- }
- }
- void setup(){
- Serial.begin(9600);
- irrecv.enableIRIn(); //initialization of ir receiver
- //ustawienie wszystkich lampek jako piny wyjscia
- //setting all LED as output pins
- for (int ust_lamp = 0; ust_lamp < 7; ust_lamp++)
- {
- pinMode(lampka[ust_lamp],OUTPUT);
- }
- }
- void loop()
- {
- Serial.print("Aktualny tryb to: ");
- Serial.println(mode);
- Serial.print("Aktualna jasność to: ");
- Serial.println(val);
- //właczenie lampek gdy jest ciemno
- //turning on LEDs when its dark
- if ((analogRead(photo_res) < 500)&& (state == 1))
- {
- //wykonujemy aktualnie wybrany program
- //we execute program which is currently set
- switch(program)
- {
- case 1:
- pierwszy();
- break;
- case 2:
- staly();
- break;
- case 3:
- srodek();
- break;
- }
- }
- else //wylaczamy lampki gdy jest zbyt jasno; if it's too bright we turn off the lights
- {
- for(int wyl_ciemnosc = 0; wyl_ciemnosc <7; wyl_ciemnosc++)
- {
- digitalWrite(lampka[wyl_ciemnosc], LOW);
- }
- }
- delay(1000);
- if (irrecv.decode(&results))
- {
- translateIR();
- irrecv.resume();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment