Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int prekidac1 = 8;
- int prekidac2 = 9;
- int led1 = 2;
- int led2 = 3;
- int led3 = 4;
- int led4 = 5;
- int ledicaUpaljena = 0;
- // pocetna stanja prekidaca
- int prethodnoStanjePrekidaca1;
- int prethodnoStanjePrekidaca2;
- void setup(){
- pinMode(prekidac1,INPUT);
- pinMode(prekidac2,INPUT);
- pinMode(led1,OUTPUT);
- pinMode(led2,OUTPUT);
- pinMode(led3,OUTPUT);
- pinMode(led4,OUTPUT);
- // pocetna stanja prekidaca
- prethodnoStanjePrekidaca1 = digitalRead(prekidac1);
- prethodnoStanjePrekidaca2 = digitalRead(prekidac2);
- }
- void upali_desno_livo(){
- digitalWrite(led1,HIGH);
- delay(150);
- digitalWrite(led2,HIGH);
- delay(150);
- digitalWrite(led3,HIGH);
- delay(150);
- digitalWrite(led4,HIGH);
- }
- void upali_livo_desno(){
- digitalWrite(led4,HIGH);
- delay(300);
- digitalWrite(led3,HIGH);
- delay(300);
- digitalWrite(led2,HIGH);
- delay(300);
- digitalWrite(led1,HIGH);
- }
- void ugasi_desno_livo(){
- digitalWrite(led1,LOW);
- delay(500);
- digitalWrite(led2,LOW);
- delay(500);
- digitalWrite(led3,LOW);
- delay(500);
- digitalWrite(led4,LOW);
- }
- void ugasi_livo_desno(){
- digitalWrite(led4,LOW);
- delay(1000);
- digitalWrite(led3,LOW);
- delay(1000);
- digitalWrite(led2,LOW);
- delay(1000);
- digitalWrite(led1,LOW);
- }
- void loop(){
- int p1 = digitalRead(prekidac1);
- if (p1 != prethodnoStanjePrekidaca1) {
- // prekidac promjenio stanje
- long trenutak_pritisnut = millis();
- while(p1 != prethodnoStanjePrekidaca1) { // dok je pritisnut (u promjenjenom stanju)
- long trenutak_sada = millis();
- int pritisnut_milisekunda = (trenutak_sada - trenutak_pritisnut); // koliko je milisekundi vec stisnut
- if(pritisnut_milisekunda > 100) {
- // ako pritisnut vise od 100 milisekunda
- // prekidac promjenio stanje
- prethodnoStanjePrekidaca1 = digitalRead(prekidac1);
- // promjeni stanje ledice
- if(ledicaUpaljena == 1) {
- // ugasi ledicu
- ugasi_livo_desno();
- ledicaUpaljena = 0; // zapamti da si ugasia ledicu da znas je upalit iduci put
- } else { // inace upali ledicu
- upali_desno_livo();
- ledicaUpaljena = 1; // zapamti da si upalija ledicu da znas je ugasit iduci put
- }
- }
- // ponovo procitaj stanje prekidaca
- p1 = digitalRead(prekidac1);
- delay(40);
- }
- }
- int p2 = digitalRead(prekidac2);
- if (p2 != prethodnoStanjePrekidaca2) {
- // prekidac promjenio stanje
- long trenutak_pritisnut = millis();
- while(p2 != prethodnoStanjePrekidaca2) { // dok je pritisnut (u promjenjenom stanju)
- long trenutak_sada = millis();
- int pritisnut_milisekunda = (trenutak_sada - trenutak_pritisnut); // koliko je milisekundi vec stisnut
- if(pritisnut_milisekunda > 100) {
- // ako pritisnut vise od 100 milisekunda
- // prekidac promjenio stanje
- prethodnoStanjePrekidaca2 = digitalRead(prekidac2);
- // promjeni stanje ledice
- if(ledicaUpaljena == 1) {
- // ugasi ledicu
- ugasi_desno_livo();
- ledicaUpaljena = 0; // zapamti da si ugasia ledicu da znas je upalit iduci put
- } else { // inace upali ledicu
- upali_livo_desno();
- ledicaUpaljena = 1; // zapamti da si upalija ledicu da znas je ugasit iduci put
- }
- }
- // ponovo procitaj stanje prekidaca
- p2 = digitalRead(prekidac2);
- delay(40);
- }
- }
- // delay izmedu provjera
- delay(40);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement