UoD_ME21001_Group_1_07 / Mbed 2 deprecated Project_Test_9

Dependencies:   mbed

Committer:
cgoodger
Date:
Fri Nov 22 22:41:49 2019 +0000
Revision:
1:fb4ff3d2b5d0
Parent:
0:67f1965f904d
Annotated Test_9 code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cgoodger 1:fb4ff3d2b5d0 1 //Amalgamation of Project_Test_1 and Project_Test_2_switch codes to check viability of a simple 1/2 switch light interface.
cgoodger 1:fb4ff3d2b5d0 2 //Expansion of Project_Test_1 protocol to include three more pins and two more traffic light circuits.
cgoodger 1:fb4ff3d2b5d0 3 //Project_Test_8_Switchtest2 amalgamated to provide switch command to light circuit
cgoodger 1:fb4ff3d2b5d0 4 //the code checks if the value of X has changed from 0 to 1 at the end of the code turning all lights to red for 10 seconds before-
cgoodger 1:fb4ff3d2b5d0 5 //returning the value of X to 0 to continue the normal lights sequence. X remains 0 unless button is pressed.
cgoodger 1:fb4ff3d2b5d0 6 //Normal light sequence being that the lights cycle through a red, yellow, green loop at prespecified time intervals.
cgoodger 1:fb4ff3d2b5d0 7 //Lights act in opposite pairs to reduce pin number and to cimpify code.
callumhoffie 0:67f1965f904d 8
callumhoffie 0:67f1965f904d 9
cgoodger 1:fb4ff3d2b5d0 10 #include "mbed.h" //load mbed library
cgoodger 1:fb4ff3d2b5d0 11 DigitalOut red1(p21); //Assign digital output value of red1 to mbed pin p21
cgoodger 1:fb4ff3d2b5d0 12 DigitalOut yellow1(p22); //Assign digital output value of yellow1 to mbed pin p22
cgoodger 1:fb4ff3d2b5d0 13 DigitalOut green1(p23); //Assign digital output value of green1 to mbed pin p23
cgoodger 1:fb4ff3d2b5d0 14 DigitalOut red2(p24); //Assign digital output value of red2 to mbed pin p24
cgoodger 1:fb4ff3d2b5d0 15 DigitalOut yellow2(p25); //Assign digital output value of yellow2 to mbed pin p25
cgoodger 1:fb4ff3d2b5d0 16 DigitalOut green2(p27); //Assign digital output value of green2 to mbed pin p26
cgoodger 1:fb4ff3d2b5d0 17 DigitalIn switchInput(p15); //Assign digital input value to p15 pin
callumhoffie 0:67f1965f904d 18
callumhoffie 0:67f1965f904d 19
callumhoffie 0:67f1965f904d 20 int main() {
callumhoffie 0:67f1965f904d 21 int x = 0;
cgoodger 1:fb4ff3d2b5d0 22 while(1) { //Repeat indefinitely
cgoodger 1:fb4ff3d2b5d0 23
cgoodger 1:fb4ff3d2b5d0 24 if(switchInput.read() == 0) { //Read the input state only once in the while loop
cgoodger 1:fb4ff3d2b5d0 25 red1 = 1; //Turn on red1
cgoodger 1:fb4ff3d2b5d0 26 red2 = 1; //Turn on red2
cgoodger 1:fb4ff3d2b5d0 27 wait(3); //Wait 3 seconds
cgoodger 1:fb4ff3d2b5d0 28 if(switchInput.read() == 1){ //Check condition of varibale X
callumhoffie 0:67f1965f904d 29 x = 1;
callumhoffie 0:67f1965f904d 30 }
cgoodger 1:fb4ff3d2b5d0 31 yellow1 = 1; //Turn on yellow1
cgoodger 1:fb4ff3d2b5d0 32 wait(1); //Wait 1 second
cgoodger 1:fb4ff3d2b5d0 33 if(switchInput.read() == 1){ //Check condition of variable X
callumhoffie 0:67f1965f904d 34 x = 1;
callumhoffie 0:67f1965f904d 35 }
cgoodger 1:fb4ff3d2b5d0 36 red1 = 0; //Turn off red1
cgoodger 1:fb4ff3d2b5d0 37 yellow1 = 0; //Turn off yellow1
cgoodger 1:fb4ff3d2b5d0 38 green1 = 1; //Turn on green1
cgoodger 1:fb4ff3d2b5d0 39 wait(3); //Wait 3 seconds
cgoodger 1:fb4ff3d2b5d0 40 if(switchInput.read() == 1){ //Check condition of variable X
callumhoffie 0:67f1965f904d 41 x = 1;
callumhoffie 0:67f1965f904d 42 }
cgoodger 1:fb4ff3d2b5d0 43 green1 = 0; //Turn off green1
cgoodger 1:fb4ff3d2b5d0 44 yellow1 = 1; //Turn on yellow1
cgoodger 1:fb4ff3d2b5d0 45 wait(1); //Wait 1 second
cgoodger 1:fb4ff3d2b5d0 46 if(switchInput.read() == 1){ //Check condition of varible X
callumhoffie 0:67f1965f904d 47 x = 1;
callumhoffie 0:67f1965f904d 48 }
cgoodger 1:fb4ff3d2b5d0 49 yellow1 = 0; //Turn off yellow1
cgoodger 1:fb4ff3d2b5d0 50 red1 = 1; //Turn on red1
cgoodger 1:fb4ff3d2b5d0 51 wait(3); //Wait 3 seconds
cgoodger 1:fb4ff3d2b5d0 52 if(switchInput.read() == 1){ //Check condition of variable X
callumhoffie 0:67f1965f904d 53 x = 1;
callumhoffie 0:67f1965f904d 54 }
cgoodger 1:fb4ff3d2b5d0 55 yellow2 = 1; //Turn on yellow2
cgoodger 1:fb4ff3d2b5d0 56 wait(1); //Wait 1 second
cgoodger 1:fb4ff3d2b5d0 57 if(switchInput.read() == 1){ //Check condition of variable X
callumhoffie 0:67f1965f904d 58 x = 1;
callumhoffie 0:67f1965f904d 59 }
cgoodger 1:fb4ff3d2b5d0 60 red2 = 0; //Turn off red2
cgoodger 1:fb4ff3d2b5d0 61 yellow2=0; //Turn off yellow2
cgoodger 1:fb4ff3d2b5d0 62 green2=1; //Turn on green2
cgoodger 1:fb4ff3d2b5d0 63 wait(3); //Wait 3 seconds
cgoodger 1:fb4ff3d2b5d0 64 if(switchInput.read() == 1){ //Check condition of variable X
callumhoffie 0:67f1965f904d 65 x = 1;
callumhoffie 0:67f1965f904d 66 }
cgoodger 1:fb4ff3d2b5d0 67 green2 = 0; //Turn off green2
cgoodger 1:fb4ff3d2b5d0 68 yellow2=1; //Turn on yellow2
cgoodger 1:fb4ff3d2b5d0 69 wait(1); //Wait 1 second
cgoodger 1:fb4ff3d2b5d0 70 if(switchInput.read() == 1){ //Check condition of variable X
callumhoffie 0:67f1965f904d 71 x = 1;
callumhoffie 0:67f1965f904d 72 }
cgoodger 1:fb4ff3d2b5d0 73 yellow2=0; //Turn off yellow2
cgoodger 1:fb4ff3d2b5d0 74 if(x == 1) { //Check condition of varibale X
cgoodger 1:fb4ff3d2b5d0 75 red1 = 1; //Turn on red1
cgoodger 1:fb4ff3d2b5d0 76 red2 = 1; //Turn on red2
cgoodger 1:fb4ff3d2b5d0 77 yellow1 = 0; //Turn off yellow1
cgoodger 1:fb4ff3d2b5d0 78 yellow2 = 0; //Turn off yellow2
cgoodger 1:fb4ff3d2b5d0 79 green1= 0; //Turn off green1
cgoodger 1:fb4ff3d2b5d0 80 green2 = 0; //Turn off green2
cgoodger 1:fb4ff3d2b5d0 81 wait(10); //Wait 10 seconds with red1&2 in on condition
cgoodger 1:fb4ff3d2b5d0 82 x = 0; //Return conditoion of variable X to 0
callumhoffie 0:67f1965f904d 83 }
callumhoffie 0:67f1965f904d 84 }
callumhoffie 0:67f1965f904d 85 }
cgoodger 1:fb4ff3d2b5d0 86 } //End of statement