int stav = 1;
void setup() {
Serial.begin(9600);
pinMode(2, INPUT_PULLUP); //Stav
pinMode(3, INPUT_PULLUP); //Input 1
pinMode(4, INPUT_PULLUP); //Input 2
pinMode(5, OUTPUT); //LED
Serial.println("Režim: " + String(stav));
}
void loop() {
if(digitalRead(2) == LOW) {
delay(20);
stav++;
if(stav > 4) {
stav = 1;
}
Serial.println("Režim: " + String(stav));
while(digitalRead(2) == LOW);
delay(20);
}
while(digitalRead(2) == HIGH) {
OR(3, 4);
AND(3, 4);
NAND(3, 4);
XOR(3, 4);
}
}
void OR(int tlacitko1, int tlacitko2) {
if(stav == 1) {
if(digitalRead(tlacitko1) == LOW || digitalRead(tlacitko2) == LOW) {
digitalWrite(5, HIGH);
}
else {
digitalWrite(5, LOW);
}
}
}
void AND(int tlacitko1, int tlacitko2) {
if(stav == 2) {
if(digitalRead(tlacitko1) == LOW && digitalRead(tlacitko2) == LOW) {
digitalWrite(5, HIGH);
}
else {
digitalWrite(5, LOW);
}
}
}
void NAND(int tlacitko1, int tlacitko2) {
if(stav == 3) {
if(digitalRead(tlacitko1) == LOW && digitalRead(tlacitko2) == LOW) {
digitalWrite(5, LOW);
}
else {
digitalWrite(5, HIGH);
}
}
}
void XOR(int tlacitko1, int tlacitko2) {
if(stav == 4) {
if(digitalRead(tlacitko1) == LOW || digitalRead(tlacitko2) == LOW) {
if(digitalRead(tlacitko1) == LOW && digitalRead(tlacitko2) == LOW) {
digitalWrite(5, LOW);
}
else {
digitalWrite(5, HIGH);
}
}
digitalWrite(5, LOW);
}
}