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