MU_konstrukcijski zadatak_VD

Dependencies:   mbed MU_upravljanje_raskrzjem

main.cpp

Committer:
Vdavidovi
Date:
2020-11-25
Revision:
0:13a153863b69

File content as of revision 0:13a153863b69:

#include "mbed.h"
#include "MU_upravljanje_raskrzjem.h"

Traffic vcrvena1 (p5);
Traffic vzuta1 (p6);
Traffic vzelena1 (p7);
Traffic mcrvena1 (p8);
Traffic mzelena1 (p9);

Traffic vcrvena2 (p30);
Traffic vzuta2 (p29);
Traffic vzelena2 (p28);
Traffic mcrvena2 (p27);
Traffic mzelena2 (p26);

InterruptIn tipkalo(p18);

Ticker tik1;

int t=0,p=0;

void tiker1()
{
    t=t+1;
}

void pjesaci()
{
    p=1;
}

void semafor2()
{
    if(t>=0 && t<100) {
        vzelena2.light_on(t, 0, 100);
        mcrvena2.light_on(t, 0, 100);
        vcrvena1.light_on(t, 0, 100);
        mzelena1.light_on(t, 0, 100);
    }
    if(t>=100 && t<200) {
        mcrvena2.light_on(t, 100, 200);
        vzelena2.light_on(t, 100, 200);
        vcrvena1.light_on(t, 100, 200);
        mcrvena1.light_on(t, 100, 200);
    }
    if(t>=200 && t<300) {
        vcrvena1.light_on(t, 200,300);
        mcrvena1.light_on(t, 200, 300);
        vzuta2.light_on(t, 200, 300);
        mcrvena2.light_on(t, 200, 300);
    }


    if(t>=300 && t<400) {
        vcrvena1.light_on(t, 300,400);
        mcrvena1.light_on(t, 300, 400);
        vcrvena2.light_on(t, 300, 400);
        mcrvena2.light_on(t, 300, 400);
    }
    if(t>=400 && t<500) {
        vzuta1.light_on(t, 400,500);
        mcrvena1.light_on(t, 400, 500);
        vcrvena2.light_on(t, 400, 500);
        mcrvena2.light_on(t, 400, 500);
    }
    if(t>=500 && t<800) {
        vzelena1.light_on(t, 500, 800);
        mcrvena1.light_on(t, 500, 800);
        vcrvena2.light_on(t, 500, 800);
        mzelena2.light_on(t, 500, 800);
    }
    if(t>=800 && t<900) {
        vzelena1.light_on(t, 800,900);
        mcrvena1.light_on(t, 800,900);
        vcrvena2.light_on(t, 800,900);
        mcrvena2.light_on(t, 800,900);
    }
    if(t>=900 && t<1000) {
        vzuta1.light_on(t, 900,1000);
        mcrvena1.light_on(t, 900,1000);
        vcrvena2.light_on(t, 900,1000);
        mcrvena2.light_on(t, 900,1000);
    }
    if(t>=1000 && t<1100) {
        vcrvena1.light_on(t, 1000,1100);
        mcrvena1.light_on(t, 1000,1100);
        vcrvena2.light_on(t, 1000,1100);
        mcrvena2.light_on(t, 1000,1100);
    }
    if(t>=1100 && t<1200) {
        vcrvena1.light_on(t, 1100,1200);
        mcrvena1.light_on(t, 1100,1200);
        vzuta2.light_on(t, 1100,1200);
        mcrvena2.light_on(t, 1100,1200);
    }
    if(t>=1200 && t<1300) {
        vcrvena1.light_on(t, 1200,1300);
        mzelena1.light_on(t, 1200,1300);
        vzelena2.light_on(t, 1200,1300);
        mcrvena2.light_on(t, 1200,1300);
    }
}


int main()
{
    tik1.attach(&tiker1, 0.02);
    while(1) {
        if(p!=1)
            t=0;
        vcrvena1.light_on(t, 0, 1);
        mzelena1.light_on(t, 0, 1);
        vzelena2.light_on(t, 0, 1);
        mcrvena2.light_on(t, 0, 1);
        tipkalo.fall(&pjesaci);
        if(p==1 && t<1200)
            semafor2();
        if(p==1 && t>1200) {
            t=0;
            p=0;
        }
    }
}