Task 4.2.2 Solution
main.cpp
- Committer:
- noutram
- Date:
- 2017-07-13
- Revision:
- 1:7e5ba828b16c
- Parent:
- 0:6d9e82b27127
File content as of revision 1:7e5ba828b16c:
#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
Nicholas Outram