Chad Lewellyn
/
ES200_Lab2
lab part A
main.cpp@1:3bd9be707222, 2015-09-29 (annotated)
- Committer:
- chadlewellyn
- Date:
- Tue Sep 29 05:16:35 2015 +0000
- Revision:
- 1:3bd9be707222
- Parent:
- 0:f6c9b18d3e04
final ;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
chadlewellyn | 1:3bd9be707222 | 1 | //This program moves an LED light right and left with two switches |
chadlewellyn | 1:3bd9be707222 | 2 | |
chadlewellyn | 0:f6c9b18d3e04 | 3 | #include "mbed.h" |
chadlewellyn | 0:f6c9b18d3e04 | 4 | |
chadlewellyn | 1:3bd9be707222 | 5 | DigitalIn sw1(p16); |
chadlewellyn | 1:3bd9be707222 | 6 | DigitalIn sw2(p17); |
chadlewellyn | 0:f6c9b18d3e04 | 7 | BusOut LED(p26, p27, p28, p29, p30); |
chadlewellyn | 0:f6c9b18d3e04 | 8 | |
chadlewellyn | 0:f6c9b18d3e04 | 9 | |
chadlewellyn | 0:f6c9b18d3e04 | 10 | int main() |
chadlewellyn | 0:f6c9b18d3e04 | 11 | { |
chadlewellyn | 1:3bd9be707222 | 12 | int LED_track = 4; //initially light 3rd LED |
chadlewellyn | 1:3bd9be707222 | 13 | LED.write(LED_track); //assigning LED light to a variable |
chadlewellyn | 1:3bd9be707222 | 14 | int s1, s2; //switch variables |
chadlewellyn | 0:f6c9b18d3e04 | 15 | |
chadlewellyn | 1:3bd9be707222 | 16 | while(1) { //while loop |
chadlewellyn | 1:3bd9be707222 | 17 | s1 = sw1.read(); //reads position of switches and assigns to a variable |
chadlewellyn | 0:f6c9b18d3e04 | 18 | s2 = sw2.read(); |
chadlewellyn | 0:f6c9b18d3e04 | 19 | |
chadlewellyn | 1:3bd9be707222 | 20 | if (s1 == 1 && s2 == 1) { //both switches are on |
chadlewellyn | 1:3bd9be707222 | 21 | LED_track = 4; //3rd LED initially lit |
chadlewellyn | 1:3bd9be707222 | 22 | LED.write(LED_track); //assign LEDs to variable |
chadlewellyn | 1:3bd9be707222 | 23 | } else if (s1 == 1 && s2 == 0) { //switch 1 is on and switch 2 is off |
chadlewellyn | 1:3bd9be707222 | 24 | if (LED_track > 1) { //the far right light is not lit |
chadlewellyn | 1:3bd9be707222 | 25 | LED_track = LED_track / 2; //moves light to the right |
chadlewellyn | 1:3bd9be707222 | 26 | LED.write(LED_track); //reassign new LED variable |
chadlewellyn | 1:3bd9be707222 | 27 | wait(0.5); //wait 0.5 seconds |
chadlewellyn | 0:f6c9b18d3e04 | 28 | } else { |
chadlewellyn | 1:3bd9be707222 | 29 | LED_track = 16; //after the last light is lit this moves the light to the far left |
chadlewellyn | 1:3bd9be707222 | 30 | LED.write(LED_track); //reassign new LED variable |
chadlewellyn | 1:3bd9be707222 | 31 | wait(0.5); //wait 0.5 seconds |
chadlewellyn | 0:f6c9b18d3e04 | 32 | } |
chadlewellyn | 1:3bd9be707222 | 33 | } else if (s1 == 0 && s2 ==1) { //switch 1 is off and switch 2 is on |
chadlewellyn | 1:3bd9be707222 | 34 | if (LED_track < 16) { //far left light is not lit |
chadlewellyn | 1:3bd9be707222 | 35 | LED_track = LED_track * 2; //moves light to the right |
chadlewellyn | 1:3bd9be707222 | 36 | LED.write(LED_track); //reassign new LED variable |
chadlewellyn | 1:3bd9be707222 | 37 | wait(0.5); //wait 0.5 seconds |
chadlewellyn | 0:f6c9b18d3e04 | 38 | } else { |
chadlewellyn | 1:3bd9be707222 | 39 | LED_track = 16; //moves the light back to the far right |
chadlewellyn | 1:3bd9be707222 | 40 | LED.write(LED_track); //reassign new LED variable |
chadlewellyn | 1:3bd9be707222 | 41 | wait(0.5); //wait 0.5 seconds |
chadlewellyn | 0:f6c9b18d3e04 | 42 | } |
chadlewellyn | 1:3bd9be707222 | 43 | } else if (s1 == 0 && s2 ==0) { //switch one is off and switch 2 is off |
chadlewellyn | 1:3bd9be707222 | 44 | LED_track = 16; //far left LED is lit |
chadlewellyn | 1:3bd9be707222 | 45 | LED.write(LED_track); //reassign new LED variable |
chadlewellyn | 0:f6c9b18d3e04 | 46 | } |
chadlewellyn | 0:f6c9b18d3e04 | 47 | |
chadlewellyn | 0:f6c9b18d3e04 | 48 | |
chadlewellyn | 0:f6c9b18d3e04 | 49 | } |
chadlewellyn | 0:f6c9b18d3e04 | 50 | } |