UoD_ME21001_Group_1_16 / Mbed 2 deprecated 5_project

Dependencies:   mbed

Committer:
vrasmusen
Date:
Thu Nov 28 15:57:16 2019 +0000
Revision:
0:be92c52fcd8c
Project code 5

Who changed what in which revision?

UserRevisionLine numberNew 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 }