smaller mbed board traffic lights

Dependencies:   mbed

main.cpp

Committer:
jcochra
Date:
2016-06-07
Revision:
0:60bfe7e2affd

File content as of revision 0:60bfe7e2affd:

#include "mbed.h"

//Traffic Light Timing, sets a variable high when the light is Red
DigitalOut RED(p15);
DigitalOut GRED(p16);
DigitalOut AMBER(p17);
DigitalOut GAMBER(p18);
DigitalOut GREEN(p19);
DigitalOut GGREEN(p20);

int flag;

void stop(void)
{       flag = 1;
        RED = 1;
        GRED = 0;
        AMBER = 0;
        GAMBER = 0;
        GREEN = 0;
        GGREEN = 0;
        wait(3);
 }
    
    
    
void hold(void)
    { flag = 0;
    int x;
    for(x=0; x<3; x++)
    {   RED = 1;
        GRED = 0;
        AMBER = 0;
        GAMBER = 0;
        GREEN = 0;
        GGREEN = 0;
        wait(0.5);
        RED = 1;
        GRED = 0;
        AMBER = 1;
        GAMBER = 0;
        GREEN = 0;
        GGREEN = 0;
        wait(0.5);
        }
        }
        
void go(void)
    {   flag = 0;
        RED = 0;
        GRED = 0;
        AMBER = 0;
        GAMBER = 0;
        GREEN = 1;
        GGREEN = 0;
        wait(3);
        }

void waiting(void)
{       flag = 0;
        RED = 0;
        GRED = 0;
        AMBER = 1;
        GAMBER = 0;
        GREEN = 0;
        GGREEN = 0;
        wait(1.5f);
        }


int main() {
    while(1)
    {
    stop();
    hold();
    go();
    waiting();
    
}
        
}