smaller mbed board traffic lights

Dependencies:   mbed

Committer:
jcochra
Date:
Tue Jun 07 14:40:48 2016 +0000
Revision:
0:60bfe7e2affd
TrafficLightSequence for smaller mbed board;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jcochra 0:60bfe7e2affd 1 #include "mbed.h"
jcochra 0:60bfe7e2affd 2
jcochra 0:60bfe7e2affd 3 //Traffic Light Timing, sets a variable high when the light is Red
jcochra 0:60bfe7e2affd 4 DigitalOut RED(p15);
jcochra 0:60bfe7e2affd 5 DigitalOut GRED(p16);
jcochra 0:60bfe7e2affd 6 DigitalOut AMBER(p17);
jcochra 0:60bfe7e2affd 7 DigitalOut GAMBER(p18);
jcochra 0:60bfe7e2affd 8 DigitalOut GREEN(p19);
jcochra 0:60bfe7e2affd 9 DigitalOut GGREEN(p20);
jcochra 0:60bfe7e2affd 10
jcochra 0:60bfe7e2affd 11 int flag;
jcochra 0:60bfe7e2affd 12
jcochra 0:60bfe7e2affd 13 void stop(void)
jcochra 0:60bfe7e2affd 14 { flag = 1;
jcochra 0:60bfe7e2affd 15 RED = 1;
jcochra 0:60bfe7e2affd 16 GRED = 0;
jcochra 0:60bfe7e2affd 17 AMBER = 0;
jcochra 0:60bfe7e2affd 18 GAMBER = 0;
jcochra 0:60bfe7e2affd 19 GREEN = 0;
jcochra 0:60bfe7e2affd 20 GGREEN = 0;
jcochra 0:60bfe7e2affd 21 wait(3);
jcochra 0:60bfe7e2affd 22 }
jcochra 0:60bfe7e2affd 23
jcochra 0:60bfe7e2affd 24
jcochra 0:60bfe7e2affd 25
jcochra 0:60bfe7e2affd 26 void hold(void)
jcochra 0:60bfe7e2affd 27 { flag = 0;
jcochra 0:60bfe7e2affd 28 int x;
jcochra 0:60bfe7e2affd 29 for(x=0; x<3; x++)
jcochra 0:60bfe7e2affd 30 { RED = 1;
jcochra 0:60bfe7e2affd 31 GRED = 0;
jcochra 0:60bfe7e2affd 32 AMBER = 0;
jcochra 0:60bfe7e2affd 33 GAMBER = 0;
jcochra 0:60bfe7e2affd 34 GREEN = 0;
jcochra 0:60bfe7e2affd 35 GGREEN = 0;
jcochra 0:60bfe7e2affd 36 wait(0.5);
jcochra 0:60bfe7e2affd 37 RED = 1;
jcochra 0:60bfe7e2affd 38 GRED = 0;
jcochra 0:60bfe7e2affd 39 AMBER = 1;
jcochra 0:60bfe7e2affd 40 GAMBER = 0;
jcochra 0:60bfe7e2affd 41 GREEN = 0;
jcochra 0:60bfe7e2affd 42 GGREEN = 0;
jcochra 0:60bfe7e2affd 43 wait(0.5);
jcochra 0:60bfe7e2affd 44 }
jcochra 0:60bfe7e2affd 45 }
jcochra 0:60bfe7e2affd 46
jcochra 0:60bfe7e2affd 47 void go(void)
jcochra 0:60bfe7e2affd 48 { flag = 0;
jcochra 0:60bfe7e2affd 49 RED = 0;
jcochra 0:60bfe7e2affd 50 GRED = 0;
jcochra 0:60bfe7e2affd 51 AMBER = 0;
jcochra 0:60bfe7e2affd 52 GAMBER = 0;
jcochra 0:60bfe7e2affd 53 GREEN = 1;
jcochra 0:60bfe7e2affd 54 GGREEN = 0;
jcochra 0:60bfe7e2affd 55 wait(3);
jcochra 0:60bfe7e2affd 56 }
jcochra 0:60bfe7e2affd 57
jcochra 0:60bfe7e2affd 58 void waiting(void)
jcochra 0:60bfe7e2affd 59 { flag = 0;
jcochra 0:60bfe7e2affd 60 RED = 0;
jcochra 0:60bfe7e2affd 61 GRED = 0;
jcochra 0:60bfe7e2affd 62 AMBER = 1;
jcochra 0:60bfe7e2affd 63 GAMBER = 0;
jcochra 0:60bfe7e2affd 64 GREEN = 0;
jcochra 0:60bfe7e2affd 65 GGREEN = 0;
jcochra 0:60bfe7e2affd 66 wait(1.5f);
jcochra 0:60bfe7e2affd 67 }
jcochra 0:60bfe7e2affd 68
jcochra 0:60bfe7e2affd 69
jcochra 0:60bfe7e2affd 70 int main() {
jcochra 0:60bfe7e2affd 71 while(1)
jcochra 0:60bfe7e2affd 72 {
jcochra 0:60bfe7e2affd 73 stop();
jcochra 0:60bfe7e2affd 74 hold();
jcochra 0:60bfe7e2affd 75 go();
jcochra 0:60bfe7e2affd 76 waiting();
jcochra 0:60bfe7e2affd 77
jcochra 0:60bfe7e2affd 78 }
jcochra 0:60bfe7e2affd 79
jcochra 0:60bfe7e2affd 80 }
jcochra 0:60bfe7e2affd 81
jcochra 0:60bfe7e2affd 82