Simple analog read demonstration. Also streams value to serial port and lights LED. Does not use overloaded operators. The first of a collection of five basic demonstration projects.
main.cpp@2:e0faf9e57796, 2017-03-27 (annotated)
- Committer:
- CSTritt
- Date:
- Mon Mar 27 14:20:32 2017 +0000
- Revision:
- 2:e0faf9e57796
- Parent:
- 1:8e3c0c69a6ca
Added reading and using DigitalOut state.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
CSTritt | 0:2254358fce87 | 1 | /* |
CSTritt | 0:2254358fce87 | 2 | Project: analogRead |
CSTritt | 0:2254358fce87 | 3 | File: main.cpp |
CSTritt | 0:2254358fce87 | 4 | |
CSTritt | 0:2254358fce87 | 5 | Reads from analog input, streams ASCII text to std serial using printf and |
CSTritt | 1:8e3c0c69a6ca | 6 | lights onboard LED. Also demonstrates use of floating point literal suffix |
CSTritt | 1:8e3c0c69a6ca | 7 | toeliminate warning and int constants for HIGH and LOW. |
CSTritt | 0:2254358fce87 | 8 | |
CSTritt | 0:2254358fce87 | 9 | Written by: Dr. C. S. Tritt |
CSTritt | 2:e0faf9e57796 | 10 | Created: 3/27/17 (v. 1.1) |
CSTritt | 0:2254358fce87 | 11 | |
CSTritt | 0:2254358fce87 | 12 | */ |
CSTritt | 0:2254358fce87 | 13 | #include "mbed.h" |
CSTritt | 0:2254358fce87 | 14 | |
CSTritt | 0:2254358fce87 | 15 | const int HIGH = 1; // Optional, but makes code more readable. |
CSTritt | 0:2254358fce87 | 16 | const int LOW = 0; // Optional, but makes code more readable. |
CSTritt | 0:2254358fce87 | 17 | |
CSTritt | 0:2254358fce87 | 18 | AnalogIn analog_value(A0); |
CSTritt | 0:2254358fce87 | 19 | |
CSTritt | 0:2254358fce87 | 20 | DigitalOut led(LED1); |
CSTritt | 0:2254358fce87 | 21 | |
CSTritt | 0:2254358fce87 | 22 | int main() { |
CSTritt | 0:2254358fce87 | 23 | float value; // Value to be read and sent to serial port. |
CSTritt | 0:2254358fce87 | 24 | |
CSTritt | 0:2254358fce87 | 25 | printf("\nAnalogIn example\n"); |
CSTritt | 0:2254358fce87 | 26 | |
CSTritt | 0:2254358fce87 | 27 | while(true) { |
CSTritt | 0:2254358fce87 | 28 | value = analog_value.read(); // Read the analog input value (0 to 1) |
CSTritt | 0:2254358fce87 | 29 | printf("Value = %f\n", value); // Send value as text via serial port. |
CSTritt | 0:2254358fce87 | 30 | if (value > 0.5f) { // Activate built-in LED. The f is optional. |
CSTritt | 0:2254358fce87 | 31 | led.write(HIGH); |
CSTritt | 0:2254358fce87 | 32 | } |
CSTritt | 0:2254358fce87 | 33 | else { |
CSTritt | 0:2254358fce87 | 34 | led.write(LOW); |
CSTritt | 0:2254358fce87 | 35 | } |
CSTritt | 2:e0faf9e57796 | 36 | printf("LED = %d\n", (int) led.read()); // Send LED state via serial. |
CSTritt | 0:2254358fce87 | 37 | wait(0.25); // 250 ms |
CSTritt | 0:2254358fce87 | 38 | } |
CSTritt | 0:2254358fce87 | 39 | } |