#define BUTTON1_PIN 3 //tlačítko panel PC1
#define USB1_PIN 6 //USB PC1
#define LED1_PIN 4 //napájanie 230V PC1
#define LED2_PIN 5 //tlačítko ON na PC1
#define BUTTON2_PIN 22 //tlačítko panel PC2
#define USB2_PIN 23 //USB PC2
#define LED3_PIN 24 //napájanie 230V PC2
#define LED4_PIN 25 //tlačítko ON na PC2
#define BUTTON3_PIN 26 //tlačítko panel M1
#define LED5_PIN 27 //napájanie 230V M1
#define BUTTON4_PIN 28 //tlačítko panel M2
#define LED6_PIN 29 //napájanie 230V M2
#define BUTTON5_PIN 30 //tlačítko panel 7.1
#define LED7_PIN 31 //napájanie 230V 7.1
byte lastButton1State = LOW;
byte lastUSB1State = LOW;
byte led1State = LOW;
byte led2State = LOW;
byte lastButton2State = LOW;
byte lastUSB2State = LOW;
byte led3State = LOW;
byte led4State = LOW;
byte lastButton3State = LOW;
byte led5State = LOW;
byte lastButton4State = LOW;
byte led6State = LOW;
byte lastButton5State = LOW;
byte led7State = LOW;
unsigned long debounceDuration = 50; // millis
unsigned long lastTimeButtonStateChanged = 0;
void setup() {
pinMode(BUTTON1_PIN, INPUT);
pinMode(USB1_PIN, INPUT);
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
pinMode(BUTTON2_PIN, INPUT);
pinMode(USB2_PIN, INPUT);
pinMode(LED3_PIN, OUTPUT);
pinMode(LED4_PIN, OUTPUT);
pinMode(BUTTON3_PIN, INPUT);
pinMode(LED5_PIN, OUTPUT);
pinMode(BUTTON4_PIN, INPUT);
pinMode(LED6_PIN, OUTPUT);
pinMode(BUTTON5_PIN, INPUT);
pinMode(LED7_PIN, OUTPUT);
}
void loop() {
//Tlačítko PC1 ON
if(digitalRead(BUTTON1_PIN) == HIGH && digitalRead(USB1_PIN) == LOW && digitalRead(LED1_PIN) == LOW) {
digitalWrite(LED1_PIN, HIGH); // PC1 ON
delay(1000);
digitalWrite(LED2_PIN, HIGH); // PC1 Tl. ON 1/2
delay(500);
digitalWrite(LED2_PIN, LOW); // PC1 Tl. ON 2/2
delay(4000);
if(digitalRead(USB1_PIN) == LOW && digitalRead(LED1_PIN) == HIGH) {
digitalWrite(LED1_PIN, LOW); // PC1 OFF počítač nenabehol
}
else {
digitalWrite(LED5_PIN, led5State);
digitalWrite(LED5_PIN, HIGH); // M1 ON
led5State = (led5State == HIGH) ? LOW: HIGH;
delay(300);
digitalWrite(LED6_PIN, led6State);
digitalWrite(LED6_PIN, HIGH); // M2 ON
led6State = (led6State == HIGH) ? LOW: HIGH;
delay(900);
digitalWrite(LED7_PIN, led7State);
digitalWrite(LED7_PIN, HIGH); // 7.1 ON
led7State = (led7State == HIGH) ? LOW: HIGH;
}
}
//Tlačítko PC1 OFF
if(digitalRead(BUTTON1_PIN) == HIGH && digitalRead(USB1_PIN) == HIGH && digitalRead(LED1_PIN) == HIGH) {
delay(100);
digitalWrite(LED2_PIN, HIGH); // PC1 Tl. ON 1/2
delay(500);
digitalWrite(LED2_PIN, LOW); // PC1 Tl. ON 2/2
}
if(digitalRead(USB1_PIN) == LOW && digitalRead(LED1_PIN) == HIGH) {
delay(500);
digitalWrite(LED7_PIN, led7State); // 7.1 OFF
digitalWrite(LED7_PIN, LOW);
led7State = (led7State == HIGH) ? LOW: HIGH;
delay(500);
digitalWrite(LED1_PIN, LOW); // PC1 OFF
led1State = (led1State == HIGH) ? LOW: HIGH;
digitalWrite(LED1_PIN, led1State);
delay(500);
digitalWrite(LED6_PIN, led6State); // M2 OFF
digitalWrite(LED6_PIN, LOW);
led6State = (led6State == HIGH) ? LOW: HIGH;
delay(500);
digitalWrite(LED5_PIN, led5State); // M1 OFF
digitalWrite(LED5_PIN, LOW);
led5State = (led5State == HIGH) ? LOW: HIGH;
}
// Tlačítko 7.1
if(digitalRead(BUTTON5_PIN) == HIGH) {
if (millis() - lastTimeButtonStateChanged > debounceDuration) {
byte buttonState = digitalRead(BUTTON5_PIN);
if (buttonState != lastButton5State) {
lastTimeButtonStateChanged = millis();
lastButton5State = buttonState;
if (buttonState == LOW) {
led7State = (led7State == HIGH) ? LOW: HIGH;
digitalWrite(LED7_PIN, led7State);
}
}
}
}
}