smaller mbed board traffic lights
Dependencies: mbed
main.cpp@0:60bfe7e2affd, 2016-06-07 (annotated)
- 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?
User | Revision | Line number | New 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 |