Chad Lewellyn
/
Lab2_partC
Lab 2 Part C
main.cpp@0:ba600538c9a9, 2015-09-29 (annotated)
- Committer:
- chadlewellyn
- Date:
- Tue Sep 29 05:42:49 2015 +0000
- Revision:
- 0:ba600538c9a9
part C;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
chadlewellyn | 0:ba600538c9a9 | 1 | #include "mbed.h" |
chadlewellyn | 0:ba600538c9a9 | 2 | |
chadlewellyn | 0:ba600538c9a9 | 3 | DigitalIn sw1(p16); |
chadlewellyn | 0:ba600538c9a9 | 4 | DigitalIn sw2(p17); |
chadlewellyn | 0:ba600538c9a9 | 5 | DigitalOut ted[5] = {(p26), (p27), (p28), (p29), (p30)}; |
chadlewellyn | 0:ba600538c9a9 | 6 | |
chadlewellyn | 0:ba600538c9a9 | 7 | int main() |
chadlewellyn | 0:ba600538c9a9 | 8 | { |
chadlewellyn | 0:ba600538c9a9 | 9 | |
chadlewellyn | 0:ba600538c9a9 | 10 | int s1, s2; //variables for switches |
chadlewellyn | 0:ba600538c9a9 | 11 | int n1, n2; //variables for random numbers |
chadlewellyn | 0:ba600538c9a9 | 12 | |
chadlewellyn | 0:ba600538c9a9 | 13 | while(1) //while loop |
chadlewellyn | 0:ba600538c9a9 | 14 | |
chadlewellyn | 0:ba600538c9a9 | 15 | s1 = sw1.read(); //reads position of switches and assigns to a variable |
chadlewellyn | 0:ba600538c9a9 | 16 | s2 = sw2.read(); |
chadlewellyn | 0:ba600538c9a9 | 17 | |
chadlewellyn | 0:ba600538c9a9 | 18 | if ((s1 == 0) && (s2 == 0)) { //switch one is off and switch 2 is off |
chadlewellyn | 0:ba600538c9a9 | 19 | ted[0] = 1; //all lights are on |
chadlewellyn | 0:ba600538c9a9 | 20 | ted[1] = 1; |
chadlewellyn | 0:ba600538c9a9 | 21 | ted[2] = 1; |
chadlewellyn | 0:ba600538c9a9 | 22 | ted[3] = 1; |
chadlewellyn | 0:ba600538c9a9 | 23 | ted[4] = 1; |
chadlewellyn | 0:ba600538c9a9 | 24 | wait(.2); //wait .2 seconds |
chadlewellyn | 0:ba600538c9a9 | 25 | ted[0] = 0; //all lights are off |
chadlewellyn | 0:ba600538c9a9 | 26 | ted[1] = 0; |
chadlewellyn | 0:ba600538c9a9 | 27 | ted[2] = 0; |
chadlewellyn | 0:ba600538c9a9 | 28 | ted[3] = 0; |
chadlewellyn | 0:ba600538c9a9 | 29 | ted[4] = 0; |
chadlewellyn | 0:ba600538c9a9 | 30 | wait(.8); //wait .8 seconds |
chadlewellyn | 0:ba600538c9a9 | 31 | } else if ((s1 == 1) && (s2 == 0)) { //switch 1 is on and switch 2 is off |
chadlewellyn | 0:ba600538c9a9 | 32 | ted[0] = 1; //turn on each light is .4 second intervals |
chadlewellyn | 0:ba600538c9a9 | 33 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 34 | ted[1] = 1; |
chadlewellyn | 0:ba600538c9a9 | 35 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 36 | ted[2] = 1; |
chadlewellyn | 0:ba600538c9a9 | 37 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 38 | ted[3] = 1; |
chadlewellyn | 0:ba600538c9a9 | 39 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 40 | ted[4] = 1; |
chadlewellyn | 0:ba600538c9a9 | 41 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 42 | //lights will now be turned off |
chadlewellyn | 0:ba600538c9a9 | 43 | ted[4] = 0; //turn off lights in .4 second intervals |
chadlewellyn | 0:ba600538c9a9 | 44 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 45 | ted[3] = 0; |
chadlewellyn | 0:ba600538c9a9 | 46 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 47 | ted[2] = 0; |
chadlewellyn | 0:ba600538c9a9 | 48 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 49 | ted[1] = 0; |
chadlewellyn | 0:ba600538c9a9 | 50 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 51 | ted[0] = 0; |
chadlewellyn | 0:ba600538c9a9 | 52 | wait(.4); |
chadlewellyn | 0:ba600538c9a9 | 53 | } else if ((s1 == 0) && (s2 == 1)) { //switch 1 is off and switch 2 is on |
chadlewellyn | 0:ba600538c9a9 | 54 | ted[0] = 1; //turn on LED 1 |
chadlewellyn | 0:ba600538c9a9 | 55 | wait(.125); //wait for .125 seconds |
chadlewellyn | 0:ba600538c9a9 | 56 | ted[0] = 0; //turn off LED 1 |
chadlewellyn | 0:ba600538c9a9 | 57 | ted[1] = 1; //turn on LED 2 |
chadlewellyn | 0:ba600538c9a9 | 58 | wait(.125); //wait for .125 seconds |
chadlewellyn | 0:ba600538c9a9 | 59 | ted[1] = 0; //turn off LED 2 |
chadlewellyn | 0:ba600538c9a9 | 60 | ted[2] = 1; //turn on LED 3 |
chadlewellyn | 0:ba600538c9a9 | 61 | wait(.125); //wait for .125 seconds |
chadlewellyn | 0:ba600538c9a9 | 62 | ted[2] = 0; //turn off LED 3 |
chadlewellyn | 0:ba600538c9a9 | 63 | ted[3] = 1; //turn on LED 4 |
chadlewellyn | 0:ba600538c9a9 | 64 | wait(.125); //wait for .125 seconds |
chadlewellyn | 0:ba600538c9a9 | 65 | ted[3] = 0; //turn off LED 4 |
chadlewellyn | 0:ba600538c9a9 | 66 | ted[4] = 1; //turn on LED 5 |
chadlewellyn | 0:ba600538c9a9 | 67 | wait(.125); //wait for .125 seconds |
chadlewellyn | 0:ba600538c9a9 | 68 | //lights will be turned off |
chadlewellyn | 0:ba600538c9a9 | 69 | ted[3] = 1; //turn on LED 4 |
chadlewellyn | 0:ba600538c9a9 | 70 | ted[4] = 0; //turn off LED 5 |
chadlewellyn | 0:ba600538c9a9 | 71 | wait(.125); //wait for .125 seconds |
chadlewellyn | 0:ba600538c9a9 | 72 | ted[2] = 1; //turn on LED 3 |
chadlewellyn | 0:ba600538c9a9 | 73 | ted[3] = 0; //turn off LED 4 |
chadlewellyn | 0:ba600538c9a9 | 74 | wait(.125); //wait for .125 seconds |
chadlewellyn | 0:ba600538c9a9 | 75 | ted[1] = 1; //turn on LED 2 |
chadlewellyn | 0:ba600538c9a9 | 76 | ted[2] = 0; //turn off LED 3 |
chadlewellyn | 0:ba600538c9a9 | 77 | wait(.125); //wait for .125 seconds |
chadlewellyn | 0:ba600538c9a9 | 78 | ted[0] = 1; //turn on LED 1 |
chadlewellyn | 0:ba600538c9a9 | 79 | ted[1] = 0; //turn off LED 2 |
chadlewellyn | 0:ba600538c9a9 | 80 | } |
chadlewellyn | 0:ba600538c9a9 | 81 | else if (s1 == 1 && s2 == 1) { //both switches are on |
chadlewellyn | 0:ba600538c9a9 | 82 | n1 = rand()% 5 + 1; //generate random number and assign to variable |
chadlewellyn | 0:ba600538c9a9 | 83 | n2 = rand()% 5 + 1; |
chadlewellyn | 0:ba600538c9a9 | 84 | |
chadlewellyn | 0:ba600538c9a9 | 85 | if (n1 != n2) { //if the two random numbers are not the same |
chadlewellyn | 0:ba600538c9a9 | 86 | ted[n1] = 1; //light the LEDs corresponding to the random numbers |
chadlewellyn | 0:ba600538c9a9 | 87 | ted[n2] = 1; |
chadlewellyn | 0:ba600538c9a9 | 88 | wait(0.1); //wait 0.1 seconds |
chadlewellyn | 0:ba600538c9a9 | 89 | } |
chadlewellyn | 0:ba600538c9a9 | 90 | } |
chadlewellyn | 0:ba600538c9a9 | 91 | } |