Task 4.2.2 Solution
Dependencies: mbed
Diff: main.cpp
- Revision:
- 0:6d9e82b27127
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Sep 24 12:29:49 2015 +0000 @@ -0,0 +1,46 @@ +#include "mbed.h" + +#define kRED (1 << 2) //4 +#define kYELLOW (1 << 1) //2 +#define kGREEN (1 << 0) //1 + +//Global objects +BusOut binaryOutput(D5, D6, D7); +DigitalIn SW1(D3); +DigitalIn SW2(D4); + +AnalogIn POT_ADC_In(A0); +AnalogIn LDD_ADC_In(A1); +float fPOT, fLDR = 0.0; + +//Main function +int main() { + + while(1) { + unsigned op = 0u; + + //Read ADC + fPOT = POT_ADC_In; //Threshold + fLDR = LDD_ADC_In; //Light reading + + //Write to terminal + printf("POT = %6.4f\tLDR = %6.4f\n", fPOT, fLDR); + + if (fLDR < 0.1f) { + op = kRED | kYELLOW | kGREEN; + } else if (fLDR < 0.15f) { + op = kYELLOW | kRED; + } else if (fLDR < 0.2f) { + op = kRED; + } else { + op = 0; + } + + //Write to port + binaryOutput = op; + + //Wait + wait(0.1); + + } //end while(1) +} //end main \ No newline at end of file