ES305 Lab2 Exercise2 Analog to Digital Conversion using digital bus out to LED

Dependencies:   mbed

Committer:
brianconnett
Date:
Thu Aug 14 15:45:16 2014 +0000
Revision:
0:7313e1b1dde1
ES305 Lab2 Exercise2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
brianconnett 0:7313e1b1dde1 1 //****************************************
brianconnett 0:7313e1b1dde1 2 // ES305 Linear Control Systems
brianconnett 0:7313e1b1dde1 3 // Lab 2 - Introduction to mbed microcontroller
brianconnett 0:7313e1b1dde1 4 // Exercise 2 - Analog to Digital Conversion
brianconnett 0:7313e1b1dde1 5 // Reads variable input through the ADC, and control LED illumination using BusOut binary
brianconnett 0:7313e1b1dde1 6 //
brianconnett 0:7313e1b1dde1 7 // Brian Connett, LCDR, USN
brianconnett 0:7313e1b1dde1 8 //****************************************
brianconnett 0:7313e1b1dde1 9
brianconnett 0:7313e1b1dde1 10 #include "mbed.h" //mbed header file from mbed.org includes MOST APIs required to operate LPC
brianconnett 0:7313e1b1dde1 11
brianconnett 0:7313e1b1dde1 12 Serial pc(USBTX, USBRX); //Create a Serial port connected to USB
brianconnett 0:7313e1b1dde1 13 AnalogIn Ain(p18); //Create an AnalogIn variable connected to Pin 18
brianconnett 0:7313e1b1dde1 14 BusOut myLEDs(LED1,LED2,LED3,LED4); //Create a digital bus out, used for setting the state of collection of pins(LED)
brianconnett 0:7313e1b1dde1 15 float ADCdata;
brianconnett 0:7313e1b1dde1 16
brianconnett 0:7313e1b1dde1 17 int main()
brianconnett 0:7313e1b1dde1 18 {
brianconnett 0:7313e1b1dde1 19 pc.baud(921600); //Set up serial port baud rate
brianconnett 0:7313e1b1dde1 20 pc.printf("ADC Data Values... \n\r");
brianconnett 0:7313e1b1dde1 21 while (1) {
brianconnett 0:7313e1b1dde1 22 ADCdata=Ain;
brianconnett 0:7313e1b1dde1 23 pc.printf("Analog Value: %f Voltage Value: %f \n\r",ADCdata,ADCdata*3.3); //Print to TeraTerm via Serial TX
brianconnett 0:7313e1b1dde1 24 wait (01.0);
brianconnett 0:7313e1b1dde1 25 if (ADCdata >= 0.8) //Conditional analysis that illuminates cooresponding LED
brianconnett 0:7313e1b1dde1 26 myLEDs=1; //when specific AnalogIn values are met
brianconnett 0:7313e1b1dde1 27 if (ADCdata < 0.8 && ADCdata >0.6)
brianconnett 0:7313e1b1dde1 28 myLEDs=3;
brianconnett 0:7313e1b1dde1 29 if (ADCdata < 0.6 && ADCdata >0.4)
brianconnett 0:7313e1b1dde1 30 myLEDs=7;
brianconnett 0:7313e1b1dde1 31 if (ADCdata < 0.4 && ADCdata >0.2)
brianconnett 0:7313e1b1dde1 32 myLEDs=15;
brianconnett 0:7313e1b1dde1 33 if (ADCdata < 0.2)
brianconnett 0:7313e1b1dde1 34 myLEDs=0;
brianconnett 0:7313e1b1dde1 35
brianconnett 0:7313e1b1dde1 36 }
brianconnett 0:7313e1b1dde1 37 }