Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define aerei1 4 //aerei 1
- #define aerei2 5//aerei2
- #define rotonda 6//rotonda2sec
- #define semaforo1 22
- #define semaforo2 23
- #define semaforo3 24
- #define semaforo4 25
- #define semaforo5 26
- #define curva0 30
- #define curva1 31
- #define curva2 32
- #define curva3 33
- #define curva4 34
- #define curva5 35
- #define curva6 36
- #define curva7 37
- #define curva8 38
- #define curva9 39
- //int curva;
- //long last_change_curva=0;
- //int stato_semaforo=0;
- //long semaforo_change=0;
- //int semaforo;
- long lastChangeAerei=0;
- int curva;
- int eli;
- long lastChange=0;
- long last_change_curva=0;
- int statoSemaforo=0;
- bool lRed=0, lYel=1;
- void setup() {
- // put your setup code here, to run once:
- pinMode (aerei1, OUTPUT);
- pinMode (aerei2, OUTPUT);
- pinMode (rotonda, OUTPUT);
- pinMode (semaforo1, OUTPUT);
- pinMode (semaforo2, OUTPUT);
- pinMode (semaforo3, OUTPUT);
- pinMode (semaforo4, OUTPUT);
- pinMode (semaforo5, OUTPUT);
- pinMode (curva0, OUTPUT);
- pinMode (curva1, OUTPUT);
- pinMode (curva2, OUTPUT);
- pinMode (curva3, OUTPUT);
- pinMode (curva4, OUTPUT);
- pinMode (curva5, OUTPUT);
- pinMode (curva6, OUTPUT);
- pinMode (curva7, OUTPUT);
- pinMode (curva8, OUTPUT);
- pinMode (curva9, OUTPUT);
- Serial.begin(9600);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- if( millis()-lastChange>= 1000)
- {
- statoSemaforo++;
- lastChange=millis();
- if(statoSemaforo==6)
- statoSemaforo=0;
- }
- switch( statoSemaforo)
- {
- case 0:
- digitalWrite(semaforo1, 1);
- digitalWrite(semaforo2, 0);
- digitalWrite(semaforo3, 0);
- digitalWrite(semaforo4, 0);
- digitalWrite(semaforo5, 0);
- break;
- case 1:
- digitalWrite(semaforo1, 1);
- digitalWrite(semaforo2, 1);
- digitalWrite(semaforo3, 0);
- digitalWrite(semaforo4, 0);
- digitalWrite(semaforo5, 0);
- break;
- case 2:
- digitalWrite(semaforo1, 1);
- digitalWrite(semaforo2, 1);
- digitalWrite(semaforo3, 1);
- digitalWrite(semaforo4, 0);
- digitalWrite(semaforo5, 0);
- break;
- case 3:
- digitalWrite(semaforo1, 1);
- digitalWrite(semaforo2, 1);
- digitalWrite(semaforo3, 1);
- digitalWrite(semaforo4, 1);
- digitalWrite(semaforo5, 0);
- break;
- case 4:
- digitalWrite(semaforo1, 1);
- digitalWrite(semaforo2, 1);
- digitalWrite(semaforo3, 1);
- digitalWrite(semaforo4, 1);
- digitalWrite(semaforo5, 1);
- break;
- case 5:
- digitalWrite(semaforo1, 0);
- digitalWrite(semaforo2, 0);
- digitalWrite(semaforo3, 0);
- digitalWrite(semaforo4, 0);
- digitalWrite(semaforo5, 0);
- break;
- }
- if( millis()-last_change_curva>= 150)
- {
- curva++;
- last_change_curva=millis();
- if(last_change_curva==10)
- last_change_curva=0;
- }
- switch( curva)
- {
- case 0:
- digitalWrite(curva0, 1);
- digitalWrite(curva1, 0);
- digitalWrite(curva2, 0);
- digitalWrite(curva3, 0);
- digitalWrite(curva4, 0);
- digitalWrite(curva5, 0);
- digitalWrite(curva6, 0);
- digitalWrite(curva7, 0);
- digitalWrite(curva8, 0);
- digitalWrite(curva9, 0);
- break;
- case 1:
- digitalWrite(curva0, 0);
- digitalWrite(curva1, 1);
- digitalWrite(curva2, 0);
- digitalWrite(curva3, 0);
- digitalWrite(curva4, 0);
- digitalWrite(curva5, 0);
- digitalWrite(curva6, 0);
- digitalWrite(curva7, 0);
- digitalWrite(curva8, 0);
- digitalWrite(curva9, 0);
- break;
- case 2:
- digitalWrite(curva0, 0);
- digitalWrite(curva1, 0);
- digitalWrite(curva2, 1);
- digitalWrite(curva3, 0);
- digitalWrite(curva4, 0);
- digitalWrite(curva5, 0);
- digitalWrite(curva6, 0);
- digitalWrite(curva7, 0);
- digitalWrite(curva8, 0);
- digitalWrite(curva9, 0);
- break;
- case 3:
- digitalWrite(curva0, 0);
- digitalWrite(curva1, 0);
- digitalWrite(curva2, 0);
- digitalWrite(curva3, 1);
- digitalWrite(curva4, 0);
- digitalWrite(curva5, 0);
- digitalWrite(curva6, 0);
- digitalWrite(curva7, 0);
- digitalWrite(curva8, 0);
- digitalWrite(curva9, 0);
- break;
- case 4:
- digitalWrite(curva0, 0);
- digitalWrite(curva1, 0);
- digitalWrite(curva2, 0);
- digitalWrite(curva3, 0);
- digitalWrite(curva4, 1);
- digitalWrite(curva5, 0);
- digitalWrite(curva6, 0);
- digitalWrite(curva7, 0);
- digitalWrite(curva8, 0);
- digitalWrite(curva9, 0);
- break;
- case 5:
- digitalWrite(curva0, 0);
- digitalWrite(curva1, 0);
- digitalWrite(curva2, 0);
- digitalWrite(curva3, 0);
- digitalWrite(curva4, 0);
- digitalWrite(curva5, 1);
- digitalWrite(curva6, 0);
- digitalWrite(curva7, 0);
- digitalWrite(curva8, 0);
- digitalWrite(curva9, 0);
- break;
- case 6:
- digitalWrite(curva0, 0);
- digitalWrite(curva1, 0);
- digitalWrite(curva2, 0);
- digitalWrite(curva3, 0);
- digitalWrite(curva4, 0);
- digitalWrite(curva5, 0);
- digitalWrite(curva6, 1);
- digitalWrite(curva7, 0);
- digitalWrite(curva8, 0);
- digitalWrite(curva9, 0);
- break;
- case 7:
- digitalWrite(curva0, 0);
- digitalWrite(curva1, 0);
- digitalWrite(curva2, 0);
- digitalWrite(curva3, 0);
- digitalWrite(curva4, 0);
- digitalWrite(curva5, 0);
- digitalWrite(curva6, 0);
- digitalWrite(curva7, 1);
- digitalWrite(curva8, 0);
- digitalWrite(curva9, 0);
- break;
- case 8:
- digitalWrite(curva0, 0);
- digitalWrite(curva1, 0);
- digitalWrite(curva2, 0);
- digitalWrite(curva3, 0);
- digitalWrite(curva4, 0);
- digitalWrite(curva5, 0);
- digitalWrite(curva6, 0);
- digitalWrite(curva7, 0);
- digitalWrite(curva8, 1);
- digitalWrite(curva9, 0);
- break;
- case 9:
- digitalWrite(curva0, 0);
- digitalWrite(curva1, 0);
- digitalWrite(curva2, 0);
- digitalWrite(curva3, 0);
- digitalWrite(curva4, 0);
- digitalWrite(curva5, 0);
- digitalWrite(curva6, 0);
- digitalWrite(curva7, 0);
- digitalWrite(curva8, 0);
- digitalWrite(curva9, 1);
- break;
- }
- if( millis()-lastChangeAerei>1000)
- {
- lRed=!lRed;
- lYel=!lYel;
- digitalWrite(aerei1, lRed);
- digitalWrite(aerei2, lYel);
- lastChangeAerei=millis();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement