![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
ES305 Lab2 Exercise2 Analog to Digital Conversion using digital bus out to LED
Dependencies: mbed
main.cpp@0:7313e1b1dde1, 2014-08-14 (annotated)
- Committer:
- brianconnett
- Date:
- Thu Aug 14 15:45:16 2014 +0000
- Revision:
- 0:7313e1b1dde1
ES305 Lab2 Exercise2
Who changed what in which revision?
User | Revision | Line number | New 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 | } |