Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. //-------------------CODE FROM HERE --------------------
  2.  
  3. #include <IRremote.h>
  4.  
  5. int lightPin = 0;  //Pin Photo resistoru
  6. int threshold = 1000;
  7.  
  8. int TLAC1 = 12;  // Tlacitko pripojeno na pin 12
  9. int TLAC2 = 11;  // Tlacitko pripojeno na pin 11
  10. int TLAC3 = 10;  // Tlacitko pripojeno na pin 10
  11. int TLAC4 = 9;  // Tlacitko pripojeno na pin 9
  12. int TLAC5 = 8;  // Tlacitko pripojeno na pin 8
  13.  
  14.  
  15. int RECV_PIN = 6;
  16. int relay1 = 2;
  17. int relay2 = 3;
  18. int relay3 = 4;
  19. int relay4 = 5;
  20.  
  21. int on = 0;
  22. int on1 = 0;
  23. int on2 = 0;
  24. int on3 = 0;
  25.  
  26. IRrecv irrecv(RECV_PIN);
  27. decode_results results;
  28.  
  29. void setup()
  30. {
  31.  
  32.   Serial.begin(9600);
  33.  
  34.   pinMode(TLAC1, INPUT);    // pin 12  nastaven jako vstup
  35.   pinMode(TLAC2, INPUT);    // pin 11  nastaven jako vstup
  36.   pinMode(TLAC3, INPUT);    // pin 10  nastaven jako vstup
  37.   pinMode(TLAC4, INPUT);    // pin 9  nastaven jako vstup
  38.   pinMode(TLAC5, INPUT);    // pin 8  nastaven jako vstup
  39.  
  40.  
  41.   pinMode(relay1, OUTPUT);
  42.   pinMode(relay2, OUTPUT);
  43.   pinMode(relay3, OUTPUT);
  44.   pinMode(relay4, OUTPUT);
  45.  
  46.   irrecv.enableIRIn(); // Start the receiver
  47. }
  48.  
  49. unsigned long last = millis();
  50. int lastButtonState;
  51.  
  52. void loop() {
  53.    
  54.    if(analogRead(lightPin) > threshold ){
  55.    Serial.println(analogRead(lightPin));
  56.    Serial.println("Osvetlenie blokovane");
  57.    digitalWrite(relay1, LOW);
  58.    digitalWrite(relay2, LOW);
  59.    digitalWrite(relay3, LOW);
  60.    digitalWrite(relay4, LOW);
  61.    on = 0;
  62.    on1 = 0;
  63.    on2 = 0;
  64.    on3 = 0;
  65.    
  66.    }else{
  67.    
  68.    Serial.println("Osvetlenie aktivne");  
  69.    Serial.println(analogRead(lightPin));
  70.    
  71.   if (irrecv.decode(&results))
  72.   {
  73.     if (results.value == 0xFF30CF)
  74.     {
  75.       if (millis() - last > 250)
  76.       {
  77.         on = !on;
  78.         digitalWrite(relay1, on ? HIGH : LOW);
  79.       }
  80.       last = millis();
  81.     }    
  82.  
  83.     if (results.value == 0xFF18E7)
  84.     {
  85.       if (millis() - last > 250)
  86.       {
  87.         on1 = !on1;
  88.         digitalWrite(relay2, on1 ? HIGH : LOW);
  89.       }
  90.       last = millis();
  91.     }
  92.  
  93.  
  94.     if (results.value == 0xFF7A85)
  95.     {
  96.       if (millis() - last > 250)
  97.       {
  98.         on2 = !on2;
  99.         digitalWrite(relay3, on2 ? HIGH : LOW);
  100.       }
  101.       last = millis();
  102. }
  103.  
  104.     if (results.value == 0xFF10EF)
  105.     {
  106.       if (millis() - last > 250)
  107.       {
  108.         on3 = !on3;
  109.         digitalWrite(relay4, on3 ? HIGH : LOW);
  110.       }
  111.       last = millis();
  112.  
  113.     }
  114.    
  115.     if (results.value == 0xFFA25D)
  116.     {
  117.       if (millis() - last > 250)
  118.       {
  119.    delay(2000);
  120.    digitalWrite(relay1, LOW);
  121.    delay(2000);
  122.    digitalWrite(relay2, LOW);
  123.    delay(2000);
  124.    digitalWrite(relay3, LOW);
  125.    delay(2000);
  126.    digitalWrite(relay4, LOW);
  127.    on = 0;
  128.    on1 = 0;
  129.    on2 = 0;
  130.    on3 = 0;
  131.       }
  132.       last = millis();
  133.  
  134.     }
  135.  
  136.     irrecv.resume(); // Receive the next value
  137.   }
  138.  
  139. //------------CODE END ---------------------------
  140. // ---------- Funkcia tlacitka----------------
  141.  
  142.   if (digitalRead(TLAC4))
  143.   {
  144.    //když je světlo, udělej tmu a naopak
  145.    if (on3) on3 = 0; else on3 = 1;
  146.    //zapiš hodnotu světla na výstup
  147.    digitalWrite(relay4, on3);
  148.    //dokud je tlačítko sepnuté čekej 100ms
  149.    while (digitalRead(TLAC4)) delay(100);
  150.  }
  151.  
  152.   if (digitalRead(TLAC3))
  153.   {
  154.    //když je světlo, udělej tmu a naopak
  155.    if (on2) on2 = 0; else on2 = 1;
  156.    //zapiš hodnotu světla na výstup
  157.    digitalWrite(relay3, on2);
  158.    //dokud je tlačítko sepnuté čekej 100ms
  159.    while (digitalRead(TLAC3)) delay(100);
  160.  }
  161.  
  162.  if (digitalRead(TLAC2))
  163.   {
  164.    //když je světlo, udělej tmu a naopak
  165.    if (on1) on1 = 0; else on1 = 1;
  166.    //zapiš hodnotu světla na výstup
  167.    digitalWrite(relay2, on1);
  168.    //dokud je tlačítko sepnuté čekej 100ms
  169.    while (digitalRead(TLAC2)) delay(100);
  170.  }
  171.  
  172.  if (digitalRead(TLAC1))
  173.   {
  174.    //když je světlo, udělej tmu a naopak
  175.    if (on) on = 0; else on = 1;
  176.    //zapiš hodnotu světla na výstup
  177.    digitalWrite(relay1, on);
  178.    //dokud je tlačítko sepnuté čekej 100ms
  179.    while (digitalRead(TLAC1)) delay(100);
  180.  }
  181.  
  182.  if (digitalRead(TLAC5))
  183.   {
  184.  
  185.    delay(2000);
  186.    digitalWrite(relay1, LOW);
  187.    delay(2000);
  188.    digitalWrite(relay2, LOW);
  189.    delay(2000);
  190.    digitalWrite(relay3, LOW);
  191.    delay(2000);
  192.    digitalWrite(relay4, LOW);
  193.    on = 0;
  194.    on1 = 0;
  195.    on2 = 0;
  196.    on3 = 0;  
  197. }
  198. }
  199. }