Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@0:be92c52fcd8c, 2019-11-28 (annotated)
- Committer:
- vrasmusen
- Date:
- Thu Nov 28 15:57:16 2019 +0000
- Revision:
- 0:be92c52fcd8c
Project code 5
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| vrasmusen | 0:be92c52fcd8c | 1 | #include "mbed.h" |
| vrasmusen | 0:be92c52fcd8c | 2 | |
| vrasmusen | 0:be92c52fcd8c | 3 | DigitalOut g1(p24); //green lights 1 and 3 use output pin 24 |
| vrasmusen | 0:be92c52fcd8c | 4 | DigitalOut g2(p25); //green lights 2 and 4 use output pin 25 |
| vrasmusen | 0:be92c52fcd8c | 5 | DigitalOut y1(p27); //yellow lights 1 and 3 use output pin 27 |
| vrasmusen | 0:be92c52fcd8c | 6 | DigitalOut y2(p28); //yellow lights 2 and 4 use output pin 28 |
| vrasmusen | 0:be92c52fcd8c | 7 | DigitalOut r1(p29); //red lights 1 and 3 use output pin 29 |
| vrasmusen | 0:be92c52fcd8c | 8 | DigitalOut r2(p30); //red lights 2 and 4 use output pin 30 |
| vrasmusen | 0:be92c52fcd8c | 9 | DigitalIn switchstate (p17); //switches 1 and 3 use input pin 17 |
| vrasmusen | 0:be92c52fcd8c | 10 | |
| vrasmusen | 0:be92c52fcd8c | 11 | int main() { |
| vrasmusen | 0:be92c52fcd8c | 12 | r1=r2=1; |
| vrasmusen | 0:be92c52fcd8c | 13 | int state = 0; |
| vrasmusen | 0:be92c52fcd8c | 14 | while(1) { |
| vrasmusen | 0:be92c52fcd8c | 15 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 16 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 17 | |
| vrasmusen | 0:be92c52fcd8c | 18 | if (g1==1 || y1==1 && state==1) { |
| vrasmusen | 0:be92c52fcd8c | 19 | wait (1); |
| vrasmusen | 0:be92c52fcd8c | 20 | g1=0; |
| vrasmusen | 0:be92c52fcd8c | 21 | y1=1; |
| vrasmusen | 0:be92c52fcd8c | 22 | wait(1); |
| vrasmusen | 0:be92c52fcd8c | 23 | y1=0; |
| vrasmusen | 0:be92c52fcd8c | 24 | r1=r2=1; |
| vrasmusen | 0:be92c52fcd8c | 25 | wait(5); |
| vrasmusen | 0:be92c52fcd8c | 26 | } |
| vrasmusen | 0:be92c52fcd8c | 27 | else if (g2==1 || y2==1 && state==1) { |
| vrasmusen | 0:be92c52fcd8c | 28 | wait(1); |
| vrasmusen | 0:be92c52fcd8c | 29 | g2=0; |
| vrasmusen | 0:be92c52fcd8c | 30 | y2=1; |
| vrasmusen | 0:be92c52fcd8c | 31 | wait(1); |
| vrasmusen | 0:be92c52fcd8c | 32 | y2=0; |
| vrasmusen | 0:be92c52fcd8c | 33 | r2=r1=1; |
| vrasmusen | 0:be92c52fcd8c | 34 | wait(5); |
| vrasmusen | 0:be92c52fcd8c | 35 | } |
| vrasmusen | 0:be92c52fcd8c | 36 | else { |
| vrasmusen | 0:be92c52fcd8c | 37 | y1 = 1; //yellow 1 and 3 turn on |
| vrasmusen | 0:be92c52fcd8c | 38 | wait(0.5); //wait 1s |
| vrasmusen | 0:be92c52fcd8c | 39 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 40 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 41 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 42 | r1 = y1 = 0; //red and yellow 1 and 3 turn off |
| vrasmusen | 0:be92c52fcd8c | 43 | g1 = 1; //green turns on |
| vrasmusen | 0:be92c52fcd8c | 44 | wait(0.5); //wait 3s |
| vrasmusen | 0:be92c52fcd8c | 45 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 46 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 47 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 48 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 49 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 50 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 51 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 52 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 53 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 54 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 55 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 56 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 57 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 58 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 59 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 60 | g1 = 0; //green 1 and 3 turn off |
| vrasmusen | 0:be92c52fcd8c | 61 | y1 = 1; //yellow 1 and 3 turn on |
| vrasmusen | 0:be92c52fcd8c | 62 | wait(0.5); //wait 1s |
| vrasmusen | 0:be92c52fcd8c | 63 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 64 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 65 | wait(0.5); //wait 1 |
| vrasmusen | 0:be92c52fcd8c | 66 | y1 = 0; //yellow 1 and 3 turn off |
| vrasmusen | 0:be92c52fcd8c | 67 | r1 = 1; //red 1 and 3 turn on |
| vrasmusen | 0:be92c52fcd8c | 68 | wait(0.5); //wait 1s |
| vrasmusen | 0:be92c52fcd8c | 69 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 70 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 71 | wait(0.5); //wait 1s |
| vrasmusen | 0:be92c52fcd8c | 72 | y2 = 1; //yellow 2 and 4 turn on |
| vrasmusen | 0:be92c52fcd8c | 73 | wait(0.5); //wait 1s |
| vrasmusen | 0:be92c52fcd8c | 74 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 75 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 76 | wait(0.5); //wait 1s |
| vrasmusen | 0:be92c52fcd8c | 77 | r2 = y2 = 0; //red and yellow 2 and 4 turn off |
| vrasmusen | 0:be92c52fcd8c | 78 | g2 = 1; //green 2 and 4 turn on |
| vrasmusen | 0:be92c52fcd8c | 79 | wait(0.5); //wait 3s |
| vrasmusen | 0:be92c52fcd8c | 80 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 81 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 82 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 83 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 84 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 85 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 86 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 87 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 88 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 89 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 90 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 91 | wait(0.5); |
| vrasmusen | 0:be92c52fcd8c | 92 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 93 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 94 | wait(0.5); //wait 3s |
| vrasmusen | 0:be92c52fcd8c | 95 | g2 = 0; //green 2 and 4 turn off |
| vrasmusen | 0:be92c52fcd8c | 96 | y2 = 1; //yellow 2 and 4 turn on |
| vrasmusen | 0:be92c52fcd8c | 97 | wait(0.5); //wait 1s |
| vrasmusen | 0:be92c52fcd8c | 98 | if (switchstate.read() == 1) |
| vrasmusen | 0:be92c52fcd8c | 99 | state=1; |
| vrasmusen | 0:be92c52fcd8c | 100 | wait(0.5); //wait 1s |
| vrasmusen | 0:be92c52fcd8c | 101 | y2 = 0; //yellow 2 and 4 turn off |
| vrasmusen | 0:be92c52fcd8c | 102 | r2 = 1; //red 2 and 4 turn on |
| vrasmusen | 0:be92c52fcd8c | 103 | } |
| vrasmusen | 0:be92c52fcd8c | 104 | } |
| vrasmusen | 0:be92c52fcd8c | 105 | } |