//-------------------CODE FROM HERE --------------------
#include <IRremote.h>
int TLAC1 = 12; // Tlacitko pripojeno na pin 12
int TLAC2 = 11; // Tlacitko pripojeno na pin 11
int TLAC3 = 10; // Tlacitko pripojeno na pin 10
int TLAC4 = 9; // Tlacitko pripojeno na pin 9
int TLAC5 = 8; // Tlacitko pripojeno na pin 8
int RECV_PIN = 6;
int relay1 = 2;
int relay2 = 3;
int relay3 = 4;
int relay4 = 5;
int on = 0;
int on1 = 0;
int on2 = 0;
int on3 = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
pinMode(TLAC1, INPUT); // pin 12 nastaven jako vstup
pinMode(TLAC2, INPUT); // pin 11 nastaven jako vstup
pinMode(TLAC3, INPUT); // pin 10 nastaven jako vstup
pinMode(TLAC4, INPUT); // pin 9 nastaven jako vstup
pinMode(TLAC5, INPUT); // pin 8 nastaven jako vstup
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
irrecv.enableIRIn(); // Start the receiver
}
unsigned long last = millis();
int lastButtonState;
void loop() {
if (irrecv.decode(&results))
{
if (results.value == 0xFF30CF)
{
if (millis() - last > 250)
{
on = !on;
digitalWrite(relay1, on ? HIGH : LOW);
}
last = millis();
}
if (results.value == 0xFF18E7)
{
if (millis() - last > 250)
{
on1 = !on1;
digitalWrite(relay2, on1 ? HIGH : LOW);
}
last = millis();
}
if (results.value == 0xFF7A85)
{
if (millis() - last > 250)
{
on2 = !on2;
digitalWrite(relay3, on2 ? HIGH : LOW);
}
last = millis();
}
if (results.value == 0xFF10EF)
{
if (millis() - last > 250)
{
on3 = !on3;
digitalWrite(relay4, on3 ? HIGH : LOW);
}
last = millis();
}
irrecv.resume(); // Receive the next value
}
//------------CODE END ---------------------------
// ---------- Funkcia tlacitka----------------
if (digitalRead(TLAC4))
{
//když je světlo, udělej tmu a naopak
if (on3) on3 = 0; else on3 = 1;
//zapiš hodnotu světla na výstup
digitalWrite(relay4, on3);
//dokud je tlačítko sepnuté čekej 100ms
while (digitalRead(TLAC4)) delay(100);
}
if (digitalRead(TLAC3))
{
//když je světlo, udělej tmu a naopak
if (on2) on2 = 0; else on2 = 1;
//zapiš hodnotu světla na výstup
digitalWrite(relay3, on2);
//dokud je tlačítko sepnuté čekej 100ms
while (digitalRead(TLAC3)) delay(100);
}
if (digitalRead(TLAC2))
{
//když je světlo, udělej tmu a naopak
if (on1) on1 = 0; else on1 = 1;
//zapiš hodnotu světla na výstup
digitalWrite(relay2, on1);
//dokud je tlačítko sepnuté čekej 100ms
while (digitalRead(TLAC2)) delay(100);
}
if (digitalRead(TLAC1))
{
//když je světlo, udělej tmu a naopak
if (on) on = 0; else on = 1;
//zapiš hodnotu světla na výstup
digitalWrite(relay1, on);
//dokud je tlačítko sepnuté čekej 100ms
while (digitalRead(TLAC1)) delay(100);
}
if (digitalRead(TLAC5))
{
delay(2000);
digitalWrite(relay1, LOW);
delay(2000);
digitalWrite(relay2, LOW);
delay(2000);
digitalWrite(relay3, LOW);
delay(2000);
digitalWrite(relay4, LOW);
}
}