Semafor sa 4 moda rada, brojačem i zvučnim signalom za pješake

Dependencies:   BluetoothSerial SeeedShieldBot mbed

Committer:
Ante16
Date:
Wed Sep 07 13:35:44 2022 +0000
Revision:
0:f3ad924cad2e
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ante16 0:f3ad924cad2e 1 #include "mbed.h"
Ante16 0:f3ad924cad2e 2
Ante16 0:f3ad924cad2e 3 BusOut zaslon(D11,D10,D9,D8,D7,D12,D13);
Ante16 0:f3ad924cad2e 4
Ante16 0:f3ad924cad2e 5 DigitalOut crveno(D4);
Ante16 0:f3ad924cad2e 6 DigitalOut zuto(D3);
Ante16 0:f3ad924cad2e 7 DigitalOut zeleno(D2);
Ante16 0:f3ad924cad2e 8 DigitalIn prekidac4(D14);
Ante16 0:f3ad924cad2e 9 DigitalIn prekidac3(D15);
Ante16 0:f3ad924cad2e 10
Ante16 0:f3ad924cad2e 11 PwmOut zvucniSignal(A3);
Ante16 0:f3ad924cad2e 12
Ante16 0:f3ad924cad2e 13 InterruptIn promjenaNacinaRada(USER_BUTTON);
Ante16 0:f3ad924cad2e 14 InterruptIn tipkaZaPjesakeNocniNacinRada(D5);
Ante16 0:f3ad924cad2e 15
Ante16 0:f3ad924cad2e 16 Timeout upaliCrveno;
Ante16 0:f3ad924cad2e 17 Timeout upaliZuto;
Ante16 0:f3ad924cad2e 18 Timeout upaliZeleno;
Ante16 0:f3ad924cad2e 19 Timeout ugasiCrveno;
Ante16 0:f3ad924cad2e 20 Timeout ugasiZuto;
Ante16 0:f3ad924cad2e 21 Timeout ugasiZeleno;
Ante16 0:f3ad924cad2e 22 Timeout ugasiZvuk;
Ante16 0:f3ad924cad2e 23 Timeout promjenaZvukaZaPjesake;
Ante16 0:f3ad924cad2e 24 Ticker upaliZvuk;
Ante16 0:f3ad924cad2e 25 Ticker paliZaslon;
Ante16 0:f3ad924cad2e 26 Ticker blinkZuto;
Ante16 0:f3ad924cad2e 27
Ante16 0:f3ad924cad2e 28 int i;
Ante16 0:f3ad924cad2e 29 int nacinRada=3;
Ante16 0:f3ad924cad2e 30 int zabraniPrvuSmjenuDnevnogNacina=0;
Ante16 0:f3ad924cad2e 31 int zabraniDruguSmjenuDnevnogNacina=1;
Ante16 0:f3ad924cad2e 32 int zabraniNocniRad=0;
Ante16 0:f3ad924cad2e 33 int zabraniBlinkZuto=0;
Ante16 0:f3ad924cad2e 34 int trenutniBrojNaZaslonu=0;
Ante16 0:f3ad924cad2e 35 int smjenaDnevnogNacina=0;
Ante16 0:f3ad924cad2e 36 int ponoviPetlju;
Ante16 0:f3ad924cad2e 37 int zabraniPrekid=0;
Ante16 0:f3ad924cad2e 38 int BR0=0x3F;
Ante16 0:f3ad924cad2e 39 int BR1=0x06;
Ante16 0:f3ad924cad2e 40 int BR2=0x5B;
Ante16 0:f3ad924cad2e 41 int BR3=0x4F;
Ante16 0:f3ad924cad2e 42 int BR4=0x66;
Ante16 0:f3ad924cad2e 43 int BR5=0x6D;
Ante16 0:f3ad924cad2e 44 int BR6=0x7D;
Ante16 0:f3ad924cad2e 45 int BR7=0x07;
Ante16 0:f3ad924cad2e 46 int BR8=0x7F;
Ante16 0:f3ad924cad2e 47 int BR9=0x6F;
Ante16 0:f3ad924cad2e 48
Ante16 0:f3ad924cad2e 49 char brojevi[10] = {BR0, BR1, BR2, BR3, BR4, BR5, BR6, BR7, BR8,BR9};
Ante16 0:f3ad924cad2e 50
Ante16 0:f3ad924cad2e 51
Ante16 0:f3ad924cad2e 52
Ante16 0:f3ad924cad2e 53 void paliOdbrojavanjeNaZaslonu(){
Ante16 0:f3ad924cad2e 54
Ante16 0:f3ad924cad2e 55 zaslon=brojevi[trenutniBrojNaZaslonu];
Ante16 0:f3ad924cad2e 56
Ante16 0:f3ad924cad2e 57 if(trenutniBrojNaZaslonu==0){
Ante16 0:f3ad924cad2e 58 zaslon=0x0;
Ante16 0:f3ad924cad2e 59 paliZaslon.detach();
Ante16 0:f3ad924cad2e 60
Ante16 0:f3ad924cad2e 61 }
Ante16 0:f3ad924cad2e 62
Ante16 0:f3ad924cad2e 63 trenutniBrojNaZaslonu=trenutniBrojNaZaslonu-1;
Ante16 0:f3ad924cad2e 64
Ante16 0:f3ad924cad2e 65 }
Ante16 0:f3ad924cad2e 66
Ante16 0:f3ad924cad2e 67
Ante16 0:f3ad924cad2e 68
Ante16 0:f3ad924cad2e 69 void gasiZvuk(){
Ante16 0:f3ad924cad2e 70
Ante16 0:f3ad924cad2e 71 zvucniSignal=0;
Ante16 0:f3ad924cad2e 72
Ante16 0:f3ad924cad2e 73 }
Ante16 0:f3ad924cad2e 74
Ante16 0:f3ad924cad2e 75
Ante16 0:f3ad924cad2e 76
Ante16 0:f3ad924cad2e 77 void paliZvuk(){
Ante16 0:f3ad924cad2e 78
Ante16 0:f3ad924cad2e 79 zvucniSignal=0.5;
Ante16 0:f3ad924cad2e 80 ugasiZvuk.attach(&gasiZvuk,0.05);
Ante16 0:f3ad924cad2e 81
Ante16 0:f3ad924cad2e 82 }
Ante16 0:f3ad924cad2e 83
Ante16 0:f3ad924cad2e 84
Ante16 0:f3ad924cad2e 85
Ante16 0:f3ad924cad2e 86 void upaliCrvenoPjesacima(){
Ante16 0:f3ad924cad2e 87
Ante16 0:f3ad924cad2e 88 upaliZvuk.detach();
Ante16 0:f3ad924cad2e 89 zvucniSignal.period(0.004);
Ante16 0:f3ad924cad2e 90 upaliZvuk.attach(&paliZvuk,1);
Ante16 0:f3ad924cad2e 91
Ante16 0:f3ad924cad2e 92 }
Ante16 0:f3ad924cad2e 93
Ante16 0:f3ad924cad2e 94
Ante16 0:f3ad924cad2e 95
Ante16 0:f3ad924cad2e 96 void upaliZelenoPjesacima(){
Ante16 0:f3ad924cad2e 97
Ante16 0:f3ad924cad2e 98 upaliZvuk.detach();
Ante16 0:f3ad924cad2e 99 zvucniSignal.period(0.0004);
Ante16 0:f3ad924cad2e 100 upaliZvuk.attach(&paliZvuk,0.2);
Ante16 0:f3ad924cad2e 101 promjenaZvukaZaPjesake.detach();
Ante16 0:f3ad924cad2e 102 promjenaZvukaZaPjesake.attach(&upaliCrvenoPjesacima,6);
Ante16 0:f3ad924cad2e 103
Ante16 0:f3ad924cad2e 104 }
Ante16 0:f3ad924cad2e 105
Ante16 0:f3ad924cad2e 106
Ante16 0:f3ad924cad2e 107
Ante16 0:f3ad924cad2e 108 void UpaliCrvenoDnevniNacinRada(){
Ante16 0:f3ad924cad2e 109
Ante16 0:f3ad924cad2e 110 promjenaZvukaZaPjesake.attach(&upaliZelenoPjesacima,1);
Ante16 0:f3ad924cad2e 111 crveno=1;
Ante16 0:f3ad924cad2e 112 zabraniPrvuSmjenuDnevnogNacina=0;
Ante16 0:f3ad924cad2e 113
Ante16 0:f3ad924cad2e 114 }
Ante16 0:f3ad924cad2e 115
Ante16 0:f3ad924cad2e 116
Ante16 0:f3ad924cad2e 117
Ante16 0:f3ad924cad2e 118 void UpaliZutoDnevniNacinRada(){
Ante16 0:f3ad924cad2e 119
Ante16 0:f3ad924cad2e 120 zuto=1;
Ante16 0:f3ad924cad2e 121
Ante16 0:f3ad924cad2e 122 if(smjenaDnevnogNacina==2){
Ante16 0:f3ad924cad2e 123 paliZaslon.attach(&paliOdbrojavanjeNaZaslonu,1);
Ante16 0:f3ad924cad2e 124
Ante16 0:f3ad924cad2e 125 }
Ante16 0:f3ad924cad2e 126
Ante16 0:f3ad924cad2e 127
Ante16 0:f3ad924cad2e 128 }
Ante16 0:f3ad924cad2e 129
Ante16 0:f3ad924cad2e 130
Ante16 0:f3ad924cad2e 131
Ante16 0:f3ad924cad2e 132 void UpaliZelenoDnevniNacinRada(){
Ante16 0:f3ad924cad2e 133
Ante16 0:f3ad924cad2e 134 zeleno=1;
Ante16 0:f3ad924cad2e 135 zabraniDruguSmjenuDnevnogNacina=0;
Ante16 0:f3ad924cad2e 136
Ante16 0:f3ad924cad2e 137 }
Ante16 0:f3ad924cad2e 138
Ante16 0:f3ad924cad2e 139
Ante16 0:f3ad924cad2e 140
Ante16 0:f3ad924cad2e 141 void UgasiCrvenoDnevniNacinRada(){
Ante16 0:f3ad924cad2e 142
Ante16 0:f3ad924cad2e 143 crveno=0;
Ante16 0:f3ad924cad2e 144
Ante16 0:f3ad924cad2e 145 }
Ante16 0:f3ad924cad2e 146
Ante16 0:f3ad924cad2e 147
Ante16 0:f3ad924cad2e 148
Ante16 0:f3ad924cad2e 149 void UgasiZutoDnevniNacinRada(){
Ante16 0:f3ad924cad2e 150
Ante16 0:f3ad924cad2e 151 zuto=0;
Ante16 0:f3ad924cad2e 152
Ante16 0:f3ad924cad2e 153 }
Ante16 0:f3ad924cad2e 154
Ante16 0:f3ad924cad2e 155
Ante16 0:f3ad924cad2e 156
Ante16 0:f3ad924cad2e 157 void UgasiZelenoDnevniNacinRada(){
Ante16 0:f3ad924cad2e 158
Ante16 0:f3ad924cad2e 159 zeleno=0;
Ante16 0:f3ad924cad2e 160
Ante16 0:f3ad924cad2e 161 }
Ante16 0:f3ad924cad2e 162
Ante16 0:f3ad924cad2e 163
Ante16 0:f3ad924cad2e 164
Ante16 0:f3ad924cad2e 165 void UpaliZutoNocniNacinRada(){
Ante16 0:f3ad924cad2e 166
Ante16 0:f3ad924cad2e 167 zuto=1;
Ante16 0:f3ad924cad2e 168
Ante16 0:f3ad924cad2e 169 }
Ante16 0:f3ad924cad2e 170
Ante16 0:f3ad924cad2e 171
Ante16 0:f3ad924cad2e 172
Ante16 0:f3ad924cad2e 173 void UpaliZelenoNocniNacinRada(){
Ante16 0:f3ad924cad2e 174
Ante16 0:f3ad924cad2e 175 zeleno=1;
Ante16 0:f3ad924cad2e 176 zabraniPrekid=0;
Ante16 0:f3ad924cad2e 177
Ante16 0:f3ad924cad2e 178 }
Ante16 0:f3ad924cad2e 179
Ante16 0:f3ad924cad2e 180
Ante16 0:f3ad924cad2e 181
Ante16 0:f3ad924cad2e 182 void UgasiCrvenoNocniNacinRada(){
Ante16 0:f3ad924cad2e 183
Ante16 0:f3ad924cad2e 184 crveno=0;
Ante16 0:f3ad924cad2e 185
Ante16 0:f3ad924cad2e 186 }
Ante16 0:f3ad924cad2e 187
Ante16 0:f3ad924cad2e 188
Ante16 0:f3ad924cad2e 189
Ante16 0:f3ad924cad2e 190 void UgasiZutoNocniNacinRada(){
Ante16 0:f3ad924cad2e 191
Ante16 0:f3ad924cad2e 192 zuto=0;
Ante16 0:f3ad924cad2e 193
Ante16 0:f3ad924cad2e 194 }
Ante16 0:f3ad924cad2e 195
Ante16 0:f3ad924cad2e 196
Ante16 0:f3ad924cad2e 197
Ante16 0:f3ad924cad2e 198 void UgasiZelenoNocniNacinRada(){
Ante16 0:f3ad924cad2e 199
Ante16 0:f3ad924cad2e 200 zeleno=0;
Ante16 0:f3ad924cad2e 201
Ante16 0:f3ad924cad2e 202 }
Ante16 0:f3ad924cad2e 203
Ante16 0:f3ad924cad2e 204
Ante16 0:f3ad924cad2e 205
Ante16 0:f3ad924cad2e 206 void nastaviPrekidNocniNacinrada(){
Ante16 0:f3ad924cad2e 207
Ante16 0:f3ad924cad2e 208 upaliZuto.attach(&UpaliZutoNocniNacinRada,8);
Ante16 0:f3ad924cad2e 209 ugasiZuto.attach(&UgasiZutoNocniNacinRada,9);
Ante16 0:f3ad924cad2e 210 ugasiCrveno.attach(&UgasiCrvenoNocniNacinRada,9);
Ante16 0:f3ad924cad2e 211 upaliZeleno.attach(&UpaliZelenoNocniNacinRada,9);
Ante16 0:f3ad924cad2e 212
Ante16 0:f3ad924cad2e 213 }
Ante16 0:f3ad924cad2e 214
Ante16 0:f3ad924cad2e 215
Ante16 0:f3ad924cad2e 216
Ante16 0:f3ad924cad2e 217 void UpaliCrvenoNocniNacinRada(){
Ante16 0:f3ad924cad2e 218
Ante16 0:f3ad924cad2e 219 crveno=1;
Ante16 0:f3ad924cad2e 220 promjenaZvukaZaPjesake.attach(&upaliZelenoPjesacima,1);
Ante16 0:f3ad924cad2e 221 nastaviPrekidNocniNacinrada();
Ante16 0:f3ad924cad2e 222
Ante16 0:f3ad924cad2e 223 }
Ante16 0:f3ad924cad2e 224
Ante16 0:f3ad924cad2e 225
Ante16 0:f3ad924cad2e 226
Ante16 0:f3ad924cad2e 227 void ugasiBlinkZuto(){
Ante16 0:f3ad924cad2e 228
Ante16 0:f3ad924cad2e 229 zuto=0;
Ante16 0:f3ad924cad2e 230
Ante16 0:f3ad924cad2e 231 }
Ante16 0:f3ad924cad2e 232
Ante16 0:f3ad924cad2e 233
Ante16 0:f3ad924cad2e 234
Ante16 0:f3ad924cad2e 235 void upaliBlinkZuto(){
Ante16 0:f3ad924cad2e 236
Ante16 0:f3ad924cad2e 237 zuto=1;
Ante16 0:f3ad924cad2e 238 ugasiZuto.attach(&ugasiBlinkZuto,1);
Ante16 0:f3ad924cad2e 239
Ante16 0:f3ad924cad2e 240 }
Ante16 0:f3ad924cad2e 241
Ante16 0:f3ad924cad2e 242
Ante16 0:f3ad924cad2e 243
Ante16 0:f3ad924cad2e 244 void upaliZelenoZaPjesakeNocniNacinRada(){
Ante16 0:f3ad924cad2e 245
Ante16 0:f3ad924cad2e 246 if(zabraniPrekid==0){
Ante16 0:f3ad924cad2e 247
Ante16 0:f3ad924cad2e 248 if(nacinRada==1){
Ante16 0:f3ad924cad2e 249
Ante16 0:f3ad924cad2e 250 zabraniPrekid=1;
Ante16 0:f3ad924cad2e 251 trenutniBrojNaZaslonu=6;
Ante16 0:f3ad924cad2e 252 paliZaslon.attach(&paliOdbrojavanjeNaZaslonu,1);
Ante16 0:f3ad924cad2e 253 ugasiZeleno.attach(&UgasiZelenoNocniNacinRada,5);
Ante16 0:f3ad924cad2e 254 upaliZuto.attach(&UpaliZutoNocniNacinRada,5);
Ante16 0:f3ad924cad2e 255 ugasiZuto.attach(&UgasiZutoNocniNacinRada,6);
Ante16 0:f3ad924cad2e 256 upaliCrveno.attach(&UpaliCrvenoNocniNacinRada,6);
Ante16 0:f3ad924cad2e 257
Ante16 0:f3ad924cad2e 258 }
Ante16 0:f3ad924cad2e 259
Ante16 0:f3ad924cad2e 260 }
Ante16 0:f3ad924cad2e 261
Ante16 0:f3ad924cad2e 262 }
Ante16 0:f3ad924cad2e 263
Ante16 0:f3ad924cad2e 264
Ante16 0:f3ad924cad2e 265
Ante16 0:f3ad924cad2e 266 void dnevniNacinRada()
Ante16 0:f3ad924cad2e 267 {
Ante16 0:f3ad924cad2e 268
Ante16 0:f3ad924cad2e 269 if(zabraniPrvuSmjenuDnevnogNacina==0){
Ante16 0:f3ad924cad2e 270 smjenaDnevnogNacina=1;
Ante16 0:f3ad924cad2e 271 crveno=1;
Ante16 0:f3ad924cad2e 272 zuto=0;
Ante16 0:f3ad924cad2e 273 zeleno=0;
Ante16 0:f3ad924cad2e 274 upaliZuto.attach(&UpaliZutoDnevniNacinRada,8);
Ante16 0:f3ad924cad2e 275 ugasiCrveno.attach(&UgasiCrvenoDnevniNacinRada,9);
Ante16 0:f3ad924cad2e 276 ugasiZuto.attach(&UgasiZutoDnevniNacinRada,9);
Ante16 0:f3ad924cad2e 277 upaliZeleno.attach(&UpaliZelenoDnevniNacinRada,9);
Ante16 0:f3ad924cad2e 278 zabraniPrvuSmjenuDnevnogNacina=1;
Ante16 0:f3ad924cad2e 279
Ante16 0:f3ad924cad2e 280 }
Ante16 0:f3ad924cad2e 281
Ante16 0:f3ad924cad2e 282 if(zabraniDruguSmjenuDnevnogNacina==0){
Ante16 0:f3ad924cad2e 283 smjenaDnevnogNacina=2;
Ante16 0:f3ad924cad2e 284 ugasiZeleno.attach(&UgasiZelenoDnevniNacinRada,6);
Ante16 0:f3ad924cad2e 285 upaliZuto.attach(&UpaliZutoDnevniNacinRada,6);
Ante16 0:f3ad924cad2e 286 ugasiZuto.attach(&UgasiZutoDnevniNacinRada,7);
Ante16 0:f3ad924cad2e 287 upaliCrveno.attach(&UpaliCrvenoDnevniNacinRada,7);
Ante16 0:f3ad924cad2e 288 trenutniBrojNaZaslonu=9;
Ante16 0:f3ad924cad2e 289 zabraniDruguSmjenuDnevnogNacina=1;
Ante16 0:f3ad924cad2e 290
Ante16 0:f3ad924cad2e 291 }
Ante16 0:f3ad924cad2e 292
Ante16 0:f3ad924cad2e 293 }
Ante16 0:f3ad924cad2e 294
Ante16 0:f3ad924cad2e 295
Ante16 0:f3ad924cad2e 296
Ante16 0:f3ad924cad2e 297 void nocniNacinRada(){
Ante16 0:f3ad924cad2e 298
Ante16 0:f3ad924cad2e 299 if(zabraniNocniRad==0){
Ante16 0:f3ad924cad2e 300
Ante16 0:f3ad924cad2e 301 crveno=0;
Ante16 0:f3ad924cad2e 302 zuto=0;
Ante16 0:f3ad924cad2e 303 zeleno=1;
Ante16 0:f3ad924cad2e 304 upaliCrvenoPjesacima();
Ante16 0:f3ad924cad2e 305 zabraniNocniRad=1;
Ante16 0:f3ad924cad2e 306
Ante16 0:f3ad924cad2e 307 }
Ante16 0:f3ad924cad2e 308
Ante16 0:f3ad924cad2e 309 }
Ante16 0:f3ad924cad2e 310
Ante16 0:f3ad924cad2e 311
Ante16 0:f3ad924cad2e 312
Ante16 0:f3ad924cad2e 313 void nacinRadaBlinkZuto(){
Ante16 0:f3ad924cad2e 314
Ante16 0:f3ad924cad2e 315 if(zabraniBlinkZuto==0){
Ante16 0:f3ad924cad2e 316 crveno=0;
Ante16 0:f3ad924cad2e 317 zeleno=0;
Ante16 0:f3ad924cad2e 318 blinkZuto.attach(&upaliBlinkZuto,2);
Ante16 0:f3ad924cad2e 319 zabraniBlinkZuto=1;
Ante16 0:f3ad924cad2e 320
Ante16 0:f3ad924cad2e 321 }
Ante16 0:f3ad924cad2e 322
Ante16 0:f3ad924cad2e 323 }
Ante16 0:f3ad924cad2e 324
Ante16 0:f3ad924cad2e 325
Ante16 0:f3ad924cad2e 326
Ante16 0:f3ad924cad2e 327 void NacinRadaUgasen(){
Ante16 0:f3ad924cad2e 328
Ante16 0:f3ad924cad2e 329 crveno=0;
Ante16 0:f3ad924cad2e 330 zuto=0;
Ante16 0:f3ad924cad2e 331 zeleno=0;
Ante16 0:f3ad924cad2e 332 zvucniSignal=0;
Ante16 0:f3ad924cad2e 333
Ante16 0:f3ad924cad2e 334 }
Ante16 0:f3ad924cad2e 335
Ante16 0:f3ad924cad2e 336
Ante16 0:f3ad924cad2e 337
Ante16 0:f3ad924cad2e 338 void promjeni(){
Ante16 0:f3ad924cad2e 339
Ante16 0:f3ad924cad2e 340 upaliCrveno.detach();
Ante16 0:f3ad924cad2e 341 upaliZuto.detach();
Ante16 0:f3ad924cad2e 342 upaliZeleno.detach();
Ante16 0:f3ad924cad2e 343 ugasiCrveno.detach();
Ante16 0:f3ad924cad2e 344 ugasiZuto.detach();
Ante16 0:f3ad924cad2e 345 ugasiZeleno.detach();
Ante16 0:f3ad924cad2e 346 ugasiZvuk.detach();
Ante16 0:f3ad924cad2e 347 promjenaZvukaZaPjesake.detach();
Ante16 0:f3ad924cad2e 348 upaliZvuk.detach();
Ante16 0:f3ad924cad2e 349 paliZaslon.detach();
Ante16 0:f3ad924cad2e 350 blinkZuto.detach();
Ante16 0:f3ad924cad2e 351
Ante16 0:f3ad924cad2e 352 zvucniSignal.period(0.0015);
Ante16 0:f3ad924cad2e 353 zvucniSignal=0.5;
Ante16 0:f3ad924cad2e 354 zaslon=0x0;
Ante16 0:f3ad924cad2e 355
Ante16 0:f3ad924cad2e 356
Ante16 0:f3ad924cad2e 357 crveno=1;
Ante16 0:f3ad924cad2e 358 zuto=1;
Ante16 0:f3ad924cad2e 359 zeleno=1;
Ante16 0:f3ad924cad2e 360 wait(1);
Ante16 0:f3ad924cad2e 361 crveno=0;
Ante16 0:f3ad924cad2e 362 zuto=0;
Ante16 0:f3ad924cad2e 363 zeleno=0;
Ante16 0:f3ad924cad2e 364 wait(1);
Ante16 0:f3ad924cad2e 365 crveno=1;
Ante16 0:f3ad924cad2e 366 zuto=1;
Ante16 0:f3ad924cad2e 367 zeleno=1;
Ante16 0:f3ad924cad2e 368 wait(1);
Ante16 0:f3ad924cad2e 369 crveno=0;
Ante16 0:f3ad924cad2e 370 zuto=0;
Ante16 0:f3ad924cad2e 371 zeleno=0;
Ante16 0:f3ad924cad2e 372
Ante16 0:f3ad924cad2e 373 zvucniSignal=0;
Ante16 0:f3ad924cad2e 374 zvucniSignal.period(0.02);
Ante16 0:f3ad924cad2e 375
Ante16 0:f3ad924cad2e 376 zabraniPrvuSmjenuDnevnogNacina=0;
Ante16 0:f3ad924cad2e 377 zabraniNocniRad=0;
Ante16 0:f3ad924cad2e 378 zabraniBlinkZuto=0;
Ante16 0:f3ad924cad2e 379
Ante16 0:f3ad924cad2e 380 for(ponoviPetlju=10;ponoviPetlju>0;ponoviPetlju--){
Ante16 0:f3ad924cad2e 381
Ante16 0:f3ad924cad2e 382 if((prekidac4==0) && (prekidac3==0)){
Ante16 0:f3ad924cad2e 383
Ante16 0:f3ad924cad2e 384 nacinRada=0;
Ante16 0:f3ad924cad2e 385
Ante16 0:f3ad924cad2e 386 }
Ante16 0:f3ad924cad2e 387 if((prekidac4==1) && (prekidac3==0)){
Ante16 0:f3ad924cad2e 388
Ante16 0:f3ad924cad2e 389 nacinRada=1;
Ante16 0:f3ad924cad2e 390
Ante16 0:f3ad924cad2e 391 }
Ante16 0:f3ad924cad2e 392 if((prekidac4==0) && (prekidac3==1)){
Ante16 0:f3ad924cad2e 393
Ante16 0:f3ad924cad2e 394
Ante16 0:f3ad924cad2e 395 nacinRada=2;
Ante16 0:f3ad924cad2e 396
Ante16 0:f3ad924cad2e 397 }
Ante16 0:f3ad924cad2e 398 if((prekidac4==1) && (prekidac3==1)){
Ante16 0:f3ad924cad2e 399
Ante16 0:f3ad924cad2e 400 nacinRada=3;
Ante16 0:f3ad924cad2e 401
Ante16 0:f3ad924cad2e 402 }
Ante16 0:f3ad924cad2e 403
Ante16 0:f3ad924cad2e 404 }
Ante16 0:f3ad924cad2e 405
Ante16 0:f3ad924cad2e 406 }
Ante16 0:f3ad924cad2e 407
Ante16 0:f3ad924cad2e 408
Ante16 0:f3ad924cad2e 409
Ante16 0:f3ad924cad2e 410 int main(){
Ante16 0:f3ad924cad2e 411
Ante16 0:f3ad924cad2e 412 promjenaNacinaRada.fall(&promjeni);
Ante16 0:f3ad924cad2e 413 tipkaZaPjesakeNocniNacinRada.rise(&upaliZelenoZaPjesakeNocniNacinRada);
Ante16 0:f3ad924cad2e 414 crveno=0;
Ante16 0:f3ad924cad2e 415 zuto=0;
Ante16 0:f3ad924cad2e 416 zeleno=0;
Ante16 0:f3ad924cad2e 417 zvucniSignal.period(0.0015);
Ante16 0:f3ad924cad2e 418 zvucniSignal=0.5;
Ante16 0:f3ad924cad2e 419
Ante16 0:f3ad924cad2e 420
Ante16 0:f3ad924cad2e 421 for(i=0;i<10;i++){
Ante16 0:f3ad924cad2e 422
Ante16 0:f3ad924cad2e 423 crveno=1;
Ante16 0:f3ad924cad2e 424 wait(0.15);
Ante16 0:f3ad924cad2e 425 crveno=0;
Ante16 0:f3ad924cad2e 426 zuto=1;
Ante16 0:f3ad924cad2e 427 wait(0.15);
Ante16 0:f3ad924cad2e 428 zuto=0;
Ante16 0:f3ad924cad2e 429 zeleno=1;
Ante16 0:f3ad924cad2e 430 wait(0.15);
Ante16 0:f3ad924cad2e 431 zeleno=0;
Ante16 0:f3ad924cad2e 432
Ante16 0:f3ad924cad2e 433 }
Ante16 0:f3ad924cad2e 434
Ante16 0:f3ad924cad2e 435 zvucniSignal=0;
Ante16 0:f3ad924cad2e 436
Ante16 0:f3ad924cad2e 437 while(1){
Ante16 0:f3ad924cad2e 438
Ante16 0:f3ad924cad2e 439 do{
Ante16 0:f3ad924cad2e 440 if(nacinRada==0){
Ante16 0:f3ad924cad2e 441
Ante16 0:f3ad924cad2e 442 dnevniNacinRada();
Ante16 0:f3ad924cad2e 443
Ante16 0:f3ad924cad2e 444 }
Ante16 0:f3ad924cad2e 445
Ante16 0:f3ad924cad2e 446 }
Ante16 0:f3ad924cad2e 447
Ante16 0:f3ad924cad2e 448 while(nacinRada==0);
Ante16 0:f3ad924cad2e 449
Ante16 0:f3ad924cad2e 450 do{
Ante16 0:f3ad924cad2e 451 if(nacinRada==1){
Ante16 0:f3ad924cad2e 452
Ante16 0:f3ad924cad2e 453 nocniNacinRada();
Ante16 0:f3ad924cad2e 454
Ante16 0:f3ad924cad2e 455 }
Ante16 0:f3ad924cad2e 456
Ante16 0:f3ad924cad2e 457 }
Ante16 0:f3ad924cad2e 458
Ante16 0:f3ad924cad2e 459 while(nacinRada==1);
Ante16 0:f3ad924cad2e 460
Ante16 0:f3ad924cad2e 461 do{
Ante16 0:f3ad924cad2e 462 if(nacinRada==2){
Ante16 0:f3ad924cad2e 463
Ante16 0:f3ad924cad2e 464 nacinRadaBlinkZuto();
Ante16 0:f3ad924cad2e 465
Ante16 0:f3ad924cad2e 466 }
Ante16 0:f3ad924cad2e 467
Ante16 0:f3ad924cad2e 468 }
Ante16 0:f3ad924cad2e 469
Ante16 0:f3ad924cad2e 470 while(nacinRada==2);
Ante16 0:f3ad924cad2e 471
Ante16 0:f3ad924cad2e 472 do{
Ante16 0:f3ad924cad2e 473 if(nacinRada==3){
Ante16 0:f3ad924cad2e 474
Ante16 0:f3ad924cad2e 475 NacinRadaUgasen();
Ante16 0:f3ad924cad2e 476
Ante16 0:f3ad924cad2e 477 }
Ante16 0:f3ad924cad2e 478
Ante16 0:f3ad924cad2e 479 }
Ante16 0:f3ad924cad2e 480
Ante16 0:f3ad924cad2e 481 while(nacinRada==3);
Ante16 0:f3ad924cad2e 482
Ante16 0:f3ad924cad2e 483 }
Ante16 0:f3ad924cad2e 484
Ante16 0:f3ad924cad2e 485 }