You are on page 1of 1

boolean active_1 = 0; //Da li je aktivan igrac 1

boolean active_2 = 0; //Da li je aktivan igrac 2


boolean reset_i = 0; //Da li je aktivan reset
boolean arbitracija = 0;//Koji igrac dobija prednost u slucaju istovremenog
javljanja

void setup() {
pinMode(2, INPUT); //Input za taster 1
pinMode(3, INPUT); //Input za taster 2
pinMode(4, INPUT); //Input za reset

pinMode(11, OUTPUT); //Relej za sijalicu 1


pinMode(12, OUTPUT); //Relej za sijalicu 2

delay(2000); //Sacekaj 2 sekunde pa pocni


}

void loop() {
if(active_1 == 0 && active_2 == 0){ //Ako nije igrac nije aktivirao taster
active_1 = digitalRead(2);
active_2 = digitalRead(3);

if(active_1 && active_2){ //Ako su oba igraca aktivirali u isto


vreme(veoma male sanse)
if(arbitracija == 0){ //Daj prednost igracu 1
active_2 = 0;
arbitracija = 1; //Daj prednost igracu 2 sledeci put
}else{ //Daj prednost igracu 2
active_1 = 0;
arbitracija = 0; //Daj prednost igracu 1 sledeci put
}
}
digitalWrite(11, active_1); //Upisi vrednosti za releje (1 - upali, 0 -
ugasi)
digitalWrite(12, active_2);
}else{
reset_i = digitalRead(4); //Proveri da li je pritisnut Reset
if(reset_i){ //Da li se desio reset(Ako je bit, ne treba
uslov == 1)
active_1 = 0;
active_2 = 0;
digitalWrite(11, active_1); //Upisi vrednosti za releje (1 - upali, 0 -
ugasi)
digitalWrite(12, active_2);
}
}
}

You might also like