// Udruga Docendo discimus Gola // Generacija NOW 2023./2024. int TipkaloPlavo = 0; // inicijalizacija plavog tipkala na pinu 0 int TipkaloCrveno = 1; // inicijalizacija crvenog tipkala na pinu 1 int TipkaloZeleno = 2; // inicijalizacija zelenog tipkala na pinu 2 int LedPlavo = 3; // inicijalizacija plave LED na pinu 3 int LedCrveno = 4; // inicijalizacija crvene LED na pinu 4 int LedZeleno = 5; // inicijalizacija zelene LED na pinu 5 int Signal = 6; // inicijalizacija kontrolnog pina 6 za slanje kontrolnog signala obavljanja radnje int StanjePlavo; // inicijalizacija varijable za postavljanje stanja plavog tipkala int StanjeCrveno; // inicijalizacija varijable za postavljanje stanja crvenog tipkala int StanjeZeleno; // inicijalizacija varijable za postavljanje stanja zelenog tipkala // -------------------------------------------------------------------------------------------------------- void setup() { pinMode(LedPlavo, OUTPUT); // postavi izvod LedPlava (3) kao izlazni pinMode(LedCrveno, OUTPUT); // postavi izvod LedCrvena (4) kao izlazni pinMode(LedZeleno, OUTPUT); // postavi izvod LedZelena (5) kao izlazni pinMode(Signal, OUTPUT); // postavi izvod Signal (6) kao izlazni pinMode(TipkaloPlavo, INPUT_PULLUP); // postavi izvod (0) kao ulazni pin za plavo tipkalo, pull-up pinMode(TipkaloCrveno, INPUT_PULLUP); // postavi izvod (1) kao ulazni pin za crveno tipkalo, pull-up pinMode(TipkaloZeleno, INPUT_PULLUP); // postavi izvod (2) kao ulazni pin za zeleno tipkalo, pull-up Serial.begin(115200); // započni prijenos na SM } // --------------------------------------------------------------------------------------------------------- void loop() { Serial.println(" "); // izbriši svaki ispis na SM i svaku upaljenu svjetleću diodu digitalWrite(Signal, LOW); digitalWrite(LedPlavo, LOW); digitalWrite(LedCrveno, LOW); digitalWrite(LedZeleno, LOW); StanjePlavo = digitalRead(TipkaloPlavo); // očitaj stanje plavog tipkala i pohrani u varijablu StanjePlavo StanjeCrveno = digitalRead(TipkaloCrveno); // očitaj stanje crvenog tipkala i pohrani u varijablu StanjeCrveno StanjeZeleno = digitalRead(TipkaloZeleno); // očitaj stanje zelenog tipkala i pohrani u varijablu StanjeZeleno if (StanjePlavo == LOW) { // ako je zvonce (plavo tipkalo) pritisnuto digitalWrite(LedPlavo, HIGH); // uključi plavu svjetleću diodu i Serial.println("PRITISNUTO ZVONO"); // ispiši na SM ekranu PROTISNUTO ZVONO delay(2000); // pričekaj 2 sekunde } if (StanjeCrveno == LOW) { // ako je pritisnuto crveno tipkalo digitalWrite(LedCrveno, HIGH); // uključi crvenu svjetleću diodu i Serial.println("ZATVARAM VRATA"); // ispiši na SM ekranu ZATVARAM VRATA digitalWrite(Signal, HIGH); // postavi stanje kontrolnog "Signal"-a na HIGH delay(3000); // pričekaj 3 sekunde i Serial.println("VRATA ZATVORENA"); // ispiši na SM ekranu VRATA ZATVORENA delay(1500); // pričekaj 1.5 sekundu } if (StanjeZeleno == LOW) { // ako je pritisnuto zeleno tipkalo digitalWrite(LedZeleno, HIGH); // uključi zelenu svjetleću diodu i Serial.println("OTVARAM VRATA"); // ispiši na SM ekranu OTVARAM VRATA digitalWrite(Signal, HIGH); // postavi stanje kontrolnog "Signal"-a na HIGH delay(3000); // pričekaj 3 sekunde i Serial.println("VRATA OTVORENA"); // ispiši na SM ekranu VRATA OTVORENA delay(1500); // pričekaj 1.5 sekundu } // ponovi sve }