//nastavi lucke int UP1 = 2; int UP2 = 3; int UP3 = 4; int UP4 = 5; int DO1 = 6; int DO2 = 7; int DO3 = 8; int DO4 = 9; //nastavi tipke int UP = A1; int LEFT = A2; int DOWN = A3; int RIGHT = A4; //nastavi koordinate int x = 1; int y = 1; void setup() { //nastavi lucke kot output pinMode(UP1, OUTPUT); pinMode(UP2, OUTPUT); pinMode(UP3, OUTPUT); pinMode(UP4, OUTPUT); pinMode(DO1, OUTPUT); pinMode(DO2, OUTPUT); pinMode(DO3, OUTPUT); pinMode(DO4, OUTPUT); //nastavi tipke kot input pinMode(UP, INPUT); pinMode(LEFT, INPUT); pinMode(RIGHT, INPUT); pinMode(DOWN, INPUT); //vzpostavi povezavo z racunalnikom Serial.begin(9600); } void loop() { //preberi stanje tipk boolean ups = digitalRead(UP); boolean dops = digitalRead(DOWN); boolean lefts = digitalRead(LEFT); boolean rights = digitalRead(RIGHT); //izracunaj nove koordinate, ce je katerakoli tipka pritisnjena (else if...) if (ups == 1) { y = y +1; } else if (dops == 1) { y = y -1; } else if (lefts == 1) { x = x -1; } else if (rights == 1) { x = x +1; } else { } disp(); //prikaz //signal racunalniku o koordinatah Serial.print("x: "); Serial.print(x); Serial.print(", y: "); Serial.print(y); Serial.println(" "); delay(123); //delay za stabilnost, najlazji nacin, zahteva pritisk tipke ki traja 123 ms } void reset() { //izklopi vse lucke digitalWrite(UP1, 0); digitalWrite(UP2, 0); digitalWrite(UP3, 0); digitalWrite(UP4, 0); digitalWrite(DO1, 0); digitalWrite(DO2, 0); digitalWrite(DO3, 0); digitalWrite(DO4, 0); } void disp() { //preveri za pravilne koordinate if (x < 5 && x > 0 && y < 3 && y > 0) { reset(); //pobrisi prejsnje stanje //glede na koordinate prizge doloceno lucko if (x == 1 && y == 1) {digitalWrite(DO1, 1);} if (x == 2 && y == 1) {digitalWrite(DO2, 1);} if (x == 3 && y == 1) {digitalWrite(DO3, 1);} if (x == 4 && y == 1) {digitalWrite(DO4, 1);} if (x == 1 && y == 2) {digitalWrite(UP1, 1);} if (x == 2 && y == 2) {digitalWrite(UP2, 1);} if (x == 3 && y == 2) {digitalWrite(UP3, 1);} if (x == 4 && y == 2) {digitalWrite(UP4, 1);} // popravi koordinate } else if (x < 1) { x = 1; } else if (x > 4) { x = 4; } else if (y < 1) { y = 1; } else if (y > 2) { y = 2; } }